黑马程序员技术交流社区

标题: for循环加大括号{}和不加有什么区别 [打印本页]

作者: 吴光新    时间: 2013-6-2 22:08
标题: for循环加大括号{}和不加有什么区别
  1. for (int x=0;x<=10 ;x++ )
  2. {
  3.         System.out.println("Hello World");
  4. }
复制代码
  1. for (int x=0;x<=10 ;x++ )
  2.         System.out.println("Hello World");
复制代码
他们的用法有什么区别?

作者: 神之梦    时间: 2013-6-2 22:24
for循环体里面只有一条语句时,啥区别没有
作者: lxf_cat5277    时间: 2013-6-2 22:24
本帖最后由 lxf_cat5277 于 2013-6-2 22:26 编辑

for语句大{}后,写在{}中的语句都会执行。如果不写{}只会执行for语句后面的带分号的语句。你可以去测试以下语句:
for(int i = 0; i < 3; i++)
       System.out.println("hello world");
       System.out.println("hello java");


for(int i = 0; i < 3; i++)
{
       System.out.println("hello world");
       System.out.println("hello java");

}

作者: 糊涂    时间: 2013-6-2 22:24
没区别,不加大括号的话,只有一句代码受for影响,同样道理if也是一样
作者: 642384938    时间: 2013-6-2 22:25
本帖最后由 642384938 于 2013-6-3 22:11 编辑

你这两句代码没啥区别,但是循环语句超过2句就有区别了,不加大括号是只循环for后面的第一句话,加了是循环整个大括号里的语句,建议加上大括号,这样代码的可读性强。
作者: 刘晓GGG    时间: 2013-6-2 22:36
两段代码这样写是没什么区别的。就跟if语句差不多,如果循环后面没有大括号却有两句输出语句的话,循环控制职能控制第一句。如果加上大括号,大括号里面有几句,循环就控制几句。if 同理。
作者: 紫衣侯    时间: 2013-6-2 22:37
这是规范,请一定加上大括号。
作者: 逝者轨迹    时间: 2013-6-2 22:42
加上{}循环{}内的所有内容,不加则只循环for之后的第一句代码。{}其实就是设定了for循环的范围,给类一样,括号括到哪,循环体就到哪
作者: 曹睿翔    时间: 2013-6-3 07:42
楼主看完视频,结合着书看,比如java核心基础和编程思想
作者: 吴光新    时间: 2013-6-3 18:25
曹睿翔 发表于 2013-6-3 07:42
楼主看完视频,结合着书看,比如java核心基础和编程思想

我买的“零基础学java”,感觉对不上老师的,有些内容没有,希望你帮我推荐一本
作者: 曹睿翔    时间: 2013-6-3 18:46
Jiewin 发表于 2013-6-3 18:25
我买的“零基础学java”,感觉对不上老师的,有些内容没有,希望你帮我推荐一本 ...

先把视频看完再看书
作者: luckwei    时间: 2013-6-3 22:48
基本没有什么区别的,像for  if  while  if   else等流程控制语句,只能跟一个语句(分号结束的为一个语句),但如果想执行多个语句,就可以用一个大括号括起来可以看成一个整体(一个语句)来执行。
作者: 曹睿翔    时间: 2013-6-4 08:49
友情提醒:问题解决的话,就再次编辑,及时改为已解决,方便大家查阅

作者: ㄗs:/|丶hearts    时间: 2013-6-4 15:39
for循环后的{}中的是循环体,{}中的内容都会循环。不写{}的话,只循环for后面的第一条语句   
作者: 杨彬    时间: 2013-6-5 17:39
加{},一个是为了代码阅读性,在一个是{}中的内容都属于循环体内依次执行,而不写{}则只执行下面一句话如同 if 后面不加{}的情况一样,在开发中还是加{}比较好 提高阅读性 当你的代码多的时候 有可能你自己写的代码 你能看懂  过了很长时间后 你自己都会忘的  更何况 如果你不干了 别人接手后 会很郁闷的  
作者: Hyo_Ri    时间: 2013-6-6 15:31
只有一条语句的时候可以不加{},其他时候一定得加{},否则默认for循环体内就一条语句
作者: Spole_168    时间: 2013-6-11 14:36
{}主要是把要想执行的代码放在一块,如想要循环执行这几条语句时,就要用{}括起来,不然他只会循环执行第一条语句。后边的代码,在第一局循环执行完后,才顺序执行一次。如果是一条语句,就没有什么大的区别,只是书写代码的习惯问题。一般都建议加上{}。
作者: pys200603027    时间: 2013-6-11 16:42
根据楼主的发表的代码,如果只是一句语句,那可以不必加大括号,如果是多条语句,加入大括号说明这是一个语句块,在语句块中的所有语句,for循环都会执行
  1. for (int x=0;x<=10 ;x++ )
  2. {
  3.         System.out.println("Hello World");
  4.         System.out.println("Hello World2");
  5. }
复制代码
这里会输出11条Hello World和11条Hello World2
  1. for (int x=0;x<=10 ;x++ )
  2.         System.out.println("Hello World");
  3.         System.out.println("Hello World2");

复制代码
这里会输出11条Hello World和1条Hello World2
从编码规范和易于阅读的角度来讲,还是推荐即使是一条语句也应该加入大括号的

作者: 袁梦希    时间: 2013-6-12 19:18
pys200603027 发表于 2013-6-11 16:42
根据楼主的发表的代码,如果只是一句语句,那可以不必加大括号,如果是多条语句,加入大括号说明这是一个语 ...

加油新人
作者: 袁梦希    时间: 2013-6-12 19:18
提的问题很详细   不错
作者: 袁梦希    时间: 2013-6-12 19:18
楼主你好  如果问题已经解决  请把帖子的类型改为已解决  然后会给你发几个粽子吃




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2