如果声明不工作.我的代码出了什么问题?

-1 java arrays if-statement arraylist

我是java的初学者,我不知道我的代码有什么问题.非常感谢您的协助.

此代码应检查数组中的任何元素是否小于tc,然后应增加其值.

int pay1  = 190;
int pay2  = 1175;
int pay3  = 455;
int pay4  = 345;
int tc    = 400;
int[] pay = { pay1, pay2, pay3, pay4 };

for(int i = 0; i < pay.length; i++)
{
    if(pay[i] < tc)
    {
        pay[i] = pay[i]++;
        System.out.println(pay[i]+",");
    }
}
Run Code Online (Sandbox Code Playgroud)

Tof*_*eer 7

更改:

pay[i] = pay[i]++;
Run Code Online (Sandbox Code Playgroud)

至:

pay[i]++;
Run Code Online (Sandbox Code Playgroud)

不要尝试在同一行中修改(++)和赋值(=)或发生不好的事情.在这种情况下,它执行增量,然后重新分配原始值.

这段代码:

int i = 0;
i = i++;
Run Code Online (Sandbox Code Playgroud)

生成这个字节码(javap -c):

   0: iconst_0     
   1: istore_1    
   2: iload_1    
   3: iinc 1, 1  
   6: istore_1
Run Code Online (Sandbox Code Playgroud)

意思是:

0: put zero on the stack
1: put the zero into i
2: put the value of i (0) onto the stack
3: increment i by 1 (i now has a value of 1)
6: store the value on the stack (0) into i (i now has a value of 0)
Run Code Online (Sandbox Code Playgroud)