请教一试题/**
* Hello world!
*
*/
public class CopyOfApp
{
public static void main( String[] args )
{
int j=0;
int b=0;
for (int i = 0; i < 100; i++) {
j = j++;
b++;
}
System.out.println(j);
}
}
结果:
j=0; 为什么结果是0??????????/
b=100;
* Hello world!
*
*/
public class CopyOfApp
{
public static void main( String[] args )
{
int j=0;
int b=0;
for (int i = 0; i < 100; i++) {
j = j++;
b++;
}
System.out.println(j);
}
}
结果:
j=0; 为什么结果是0??????????/
b=100;
此时 j == 1 但是 j++ (这个表达式)的值 仍为0 故而 j = j++ ===> j = 0
楼主可以好好看看 "表达式"的值 与 "变量"的值 的相关知识
* Hello world!
*
*/
public class CopyOfApp
{
public static void main( String[] args )
{
int j=0;
int b=0;
for (int i = 0; i < 100; i++) {
j = j++; //改成 j++; 就可以了
b++;
}
System.out.println(j);
}
}
j=j++;
temp = j;
j = j+1;
j= temp;所以最后还是0
这个java内部有关,具体请参考java解惑
public class CopyOfApp {
public static void main(String[] args) {
int j = 0;
int b = 0;
for (int i = 0; i < 100; i++) { //i循環100次,
j = j++; //每一次循環,j++等於0,賦值給j,然後j還是為0,之後又是一次循環。
b++;
}
System.out.println(j);
}
}