前加加与后加加为什么在for循环里结果一样吗?++i不是 先加1
答案:3 悬赏:50 手机版
解决时间 2021-02-13 14:25
- 提问者网友:嘚啵嘚啵
- 2021-02-13 08:44
比如for(i=0;;) 直接变成1了 // ++i不是 先加1再执行循环体?
最佳答案
- 五星知识达人网友:你可爱的野爹
- 2021-02-13 09:12
Scanner scan= new Scanner(System.in);int n=scan.nextInt();int i=0;for(i=0;i<n;++i){System.out.println(i); System.out.println(i++);
}System.out.println(i); System.out.println("++++++++++++++++");
for(i=0;i<n;i++){System.out.println(i); System.out.println(i++);
}System.out.print(i);
这段代码证明了i++,++i是一样的。以及i的变化值,for(a;b;c)中a,b,c,b,c,b,c,…………
int u;
for(u=2;u<1;u++){
System.out.println("111111111");
}
System.out.println(u);
用这个代码试验
}System.out.println(i); System.out.println("++++++++++++++++");
for(i=0;i<n;i++){System.out.println(i); System.out.println(i++);
}System.out.print(i);
这段代码证明了i++,++i是一样的。以及i的变化值,for(a;b;c)中a,b,c,b,c,b,c,…………
int u;
for(u=2;u<1;u++){
System.out.println("111111111");
}
System.out.println(u);
用这个代码试验
全部回答
- 1楼网友:愁杀梦里人
- 2021-02-13 11:37
for里面的3个语句的执行顺序:for(a;b;c)
循环开始前,先执行a。
每次循环结束执行一次c,接着判断b是否为真,为真则继续循环,为假则跳出循环。
所以++i和i++在这里没有区别,因为它们的执行结果都是i = i +1
++i和i++的区别是:在一条语句中(即两个分号之间),++i 被当成(i+1)来计算,i++被当成i来计算。但是语句结束时,i总是增加了1.
- 2楼网友:野味小生
- 2021-02-13 10:29
答:
(1)如果只是看i++和++i,这两个是等价的,都等同于i=i+1,都是变量自身加1。
(2)在一般情况下,它们都是跟赋值联系在一起。
比如:
int a;
a=i++;//将i的值赋值给a,即a=i;然后再执行i=i+1;
也就是【a=i++;】与【a=i; i=i+1;】等价。
a=++i;//将i+1的值赋给a,即a=i+1;然后再执行i=i+1;
也就是【a=++i;】与【a=i+1;i=i+1;】等价。
(3)【总结一下】
①前置++是将自身加1的值赋值给新变量,同时自身也加1;
②后置++是将自身的值赋给新变量,然后才自身加1.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯