永发信息网

for循环后加“;”和不加“;”的区别是什么???

答案:6  悬赏:20  手机版
解决时间 2021-03-27 04:15
  • 提问者网友:活着好累
  • 2021-03-26 22:03
for循环后加“;”和不加“;”的区别是什么???
最佳答案
  • 五星知识达人网友:零点过十分
  • 2021-03-26 23:12
for循环后面没大括号时,只对下一句代码进行循环操作。就是for之后;之前的那句。加了那个;以后for循环操作的就是空语句了追问我才开始学不是很明白 真的很谢谢
如果没加;输出的结果是
3
6
10
15
如果加了;输出的结果是
21
根据这个结果对你的那句话不是很理解追答一共从i=1到1=6执行了6次循环
如果不加,结果应该是
0
1
3
6
10
15
不加的时候,每次循环都执行了System.out.print输出语句,因为它在循环结束小括号的下一个分号之前.
所以每次循环都执行了sum+=i++以及输出语句.
因为i++的优先级大于sum+=i,所以sum+=i++可以分解为
i++;
sum=sum+i;
以上两句代码在每次循环结束(包括执行完下面的输出语句)时执行;
输出语句在循环中执行,第一次输出先于第一次循环结束,所以先打出了个0
第6次循环中的输出打出的,就是第5次循环结束时的结果,就是15

如果不加分号,循环会部结束后才会轮到输出语句,就会打出第6次循环结束的结果21

把程序改成下面这样,你再运行下就知道了:
public class For {
public static void main(String[] args) {
int i,sum = 0;
for(i = 1;i <= 6;sum += i++){
int num = i-1;
System.out.println("当前是第"+i+"次循环,循环已经结束过"+num +"次,执行过"+num+"次sum += i++");
System.out.println("当前的sum值为:"+sum);
}
}
}
全部回答
  • 1楼网友:撞了怀
  • 2021-03-27 02:51
加了就是空循环,只改变sum变量的值,不执行System.out.println(sum);直到退出循环才执行System.out.println(sum);这时候sum循环6次,就变成了21。
没加就循环执行System.out.println(sum);
  • 2楼网友:拾荒鲤
  • 2021-03-27 02:41
加了之后,只打印最终结果
不加,打印6次,包括中间结果,最终sum结果一样,但是加了之后,sum += i ++是在打印之后执行的
  • 3楼网友:愁杀梦里人
  • 2021-03-27 01:09
有一坨,就一定要加,要不然执行的只是最近那句
if(XXX)
A=A+n;//像这样子,只有XXX为真时会执行这句,而下面那句无论XXX是什么都
A=A+n;///跟它没关系,都会执行,
如果加了括号
if(XXX)
{
A=A+n;//像这样子这两句是一起的,要么在XXX为真时都执行,要么都不执行
A=A+n;///
}
你的程序没区别,自己查其它错误去
  • 4楼网友:怀裏藏嬌
  • 2021-03-27 00:47
for();:表示这个for循环什么都不做,即for循环到分号处结束,不加分号,执行for下面大括号里面的值
  • 5楼网友:野味小生
  • 2021-03-27 00:29
加分号则for后面的大括号执行一次,而且与for里面的条件无关
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯