为什么变量 i 在 i=i++ 之后没有改变?
Why does variable i not change after i=i++?
我不明白 LinkedIn 的 Java 评估测试中的以下问题:
for(int k =0; k<10; k=k++) {
k+=1;
System.out.println("Hello world.");
}
为什么这段代码会打印 10 次“Hello world”?
我知道 k++ 的意思是,先做作业(计算、赋值等)然后递增 k。所以我认为对于k=k++,k必须在赋值后递增:
k=k;
k=k+1;
最后,我希望得到 k=k+1。
例如下面的代码打印 j=0 和 j=1:
int j=0;
System.out.println("j=" + j++);
System.out.println("j=" + j);
尊敬的java专家,您能解释一下为什么k=k++不改变k吗?
Why does this code print 10 times "Hello world."?
不,这将是一个无限循环,因为以下语句将 k
的值重置为 1:
k=+1;
此外,k=k++
不会更改 k
的值,因为它的处理方式类似于
int temp = k;
k++;
k = temp;
你可以试试下面的代码来验证一下:
int k = 1;
k = k++;
System.out.println(k); // Will print 1
应该去k+=1
for(int k =0; k<10; k=k++) {
k+=1;
System.out.println("Hello world.");
}
如果你想得到 k=0 => k=2
for(int k =0; k<10; k=k+2) {
System.out.println("Hello world.");
}
我不明白 LinkedIn 的 Java 评估测试中的以下问题:
for(int k =0; k<10; k=k++) {
k+=1;
System.out.println("Hello world.");
}
为什么这段代码会打印 10 次“Hello world”?
我知道 k++ 的意思是,先做作业(计算、赋值等)然后递增 k。所以我认为对于k=k++,k必须在赋值后递增:
k=k;
k=k+1;
最后,我希望得到 k=k+1。
例如下面的代码打印 j=0 和 j=1:
int j=0;
System.out.println("j=" + j++);
System.out.println("j=" + j);
尊敬的java专家,您能解释一下为什么k=k++不改变k吗?
Why does this code print 10 times "Hello world."?
不,这将是一个无限循环,因为以下语句将 k
的值重置为 1:
k=+1;
此外,k=k++
不会更改 k
的值,因为它的处理方式类似于
int temp = k;
k++;
k = temp;
你可以试试下面的代码来验证一下:
int k = 1;
k = k++;
System.out.println(k); // Will print 1
应该去k+=1
for(int k =0; k<10; k=k++) {
k+=1;
System.out.println("Hello world.");
}
如果你想得到 k=0 => k=2
for(int k =0; k<10; k=k+2) {
System.out.println("Hello world.");
}