为什么java;for循环少了一个{}还能运行,出答案

weixin_54053137 2021-01-06 04:19:21
...全文
3672 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
m0_50034376 2021-01-15
  • 打赏
  • 举报
回复
for循环里没写循环体而已,等于条件满足也不执行任何操作,最后a=11时跳出循环,最后sum=1+a,a=11,所以sum=1+11=12。
qq_39936465 2021-01-13
  • 打赏
  • 举报
回复
看一下区别就知道了,

public class Test7 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int a = 1;
		int sum = 1;
		for (a = 1; a <= 10; a++)
//			没有大括号紧跟着循环的第一个语句会被默认为循环体中执行的语句
			sum = sum + a;
		System.out.println(sum);
		
	}

}
执行结果 56 楼主在循环体后多加了一个分号,这个分号是语句的结束标志,所以循环体执行的语句被认为是空。
LDG1998 2021-01-12
  • 打赏
  • 举报
回复
引用 3 楼 qq_39936465 的回复:
[quote=引用 楼主 weixin_54053137 的回复:]
你这个循环只不过循环中没有语句,等于循环空转,最后a=11大于10后跳出循环执行 sum=sum+a;[/quote]赞同
happy002 2021-01-11
  • 打赏
  • 举报
回复
happy002 2021-01-11
  • 打赏
  • 举报
回复
引用 11 楼 老王就是我 的回复:
[quote=引用 8 楼 happy002 的回复:]你的 sum = sum + a 并没在循环中,for下面的两行代码不在for里,而是和他并列的。你后面4行代码的代码对齐有问题。
并不是,sum=xxx,那一行还是在for循环里面的[/quote] 你for循环后面有分号,说明那一句已经结束了。 你没发现最后一行没有结束大括号吗?它的结束大括号在上一行。
qq_38832991 2021-01-09
  • 打赏
  • 举报
回复
很正常啊,你去掉后面的分号,他就报错了。
happy002 2021-01-07
  • 打赏
  • 举报
回复
你的 sum = sum + a 并没在循环中,for下面的两行代码不在for里,而是和他并列的。你后面4行代码的代码对齐有问题。
qq_39936465 2021-01-07
  • 打赏
  • 举报
回复
引用 4 楼 qkniit 的回复:
跟 if() 不加大括号 同理吗?
是的,大括号是代码块,多条语句执行需要用大括号,不加大括号可以在后面跟一条执行语句用分号结尾,他这里直接用分号就是空语句,只执行循环。
weixin_42066565 2021-01-07
  • 打赏
  • 举报
回复
回帖test
  • 打赏
  • 举报
回复
for循环把a增到了11,然后再加1,就是12啊
老王就是我 2021-01-07
  • 打赏
  • 举报
回复
引用 8 楼 happy002 的回复:
你的 sum = sum + a 并没在循环中,for下面的两行代码不在for里,而是和他并列的。你后面4行代码的代码对齐有问题。
并不是,sum=xxx,那一行还是在for循环里面的
老王就是我 2021-01-07
  • 打赏
  • 举报
回复
没加{},for就对应的下一行执行,相当于for(xxx){xxx;},只执行下一行
qkniit 2021-01-06
  • 打赏
  • 举报
回复
跟 if() 不加大括号 同理吗?
qq_39936465 2021-01-06
  • 打赏
  • 举报
回复
引用 楼主 weixin_54053137 的回复:
你这个循环只不过循环中没有语句,等于循环空转,最后a=11大于10后跳出循环执行 sum=sum+a;
鸡窝里的毛 2021-01-06
  • 打赏
  • 举报
回复
for本身也是个独立语句啊,你可以将sum=sum+a写到for()里,用分号隔开,下边可以带一行,或是带上{}的部分。
weixin_54053137 2021-01-06
  • 打赏
  • 举报
回复
后面还有个分号;

51,407

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧