public class Demo{
public static void main (String args[]) {
int num=0;
for (int i=0;i<100;i++) {
num=num++; //警告提示:num++没有被使用过
}
System.out.println("num="+num);
}
}
①num=num++; 不等价于 num=num; num++;
② num=num++语句中只执行了num=num;
按正常赋值语句,num = num++;是从左到右执行的。首先执行的是num++,后跟++说明先运算后赋值。拆开就是num自增,并有一个保留值tnum,运算时用的是保留值tnum。
num=num++;类似于
int tnum = num;//后跟++,先保留原值
num = num+1;//自增计算
num = tnum;//用原值计算表达式
不懂的话可以提问,懂了的话不妨点个采纳,谢谢!
要么写num=num+1要么直接num++