java if不加大括号的if条件后的括号问题

java ——if语句后面加大括号和不加大括号的区别_iplus吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:3贴子:
java ——if语句后面加大括号和不加大括号的区别
看上去一个很简单的问题,结果却不是想象中的那样。良好的编码习惯是多么的重要啊。  测试的代码如下:  public class TestPrintStream1 {  public static void main(String[] args) {  Class c = TestPrintStream1.  try {  Object o = c.newInstance();  if (o instanceof TestPrintStream1)  TestPrintStream1 tt = (TestPrintStream1)// 这里为什么会报错呢,说tt 和 TestPrintStream1不能不解析  } catch (InstantiationException e) {  e.printStackTrace();  } catch (IllegalAccessException e) {  // TODO Auto-generated catch block  e.printStackTrace();  }  }  }  那一行为什么会报错呢?if语句后面不是允许不加大括号吗?  if ()  后面不使用花括号时,里面不能出现声明,因为那个涉及到作用域,而没有花括号又没有作用域了。考试大编辑理解:  boolean ok =  if(ok)  MyClass c = new MyClass();  这样也是不允许的。  改成  MyClass c =  if(ok)  c = new MyClass();  这样是可以的  这个代码问题和 instanceof 没有任何关系  Java 把 Test tt = new Test(); 当两条语句看待了相当于 T tt = new Test(); 该文章转载自无忧考网:
什么时候能出个力量型法...
这也行??? 新练的AMA...
就是这个词语。
你们说说白金和白金以下...
喜欢这个的话来约,这里...
昨天玩的,16级了去尼玛...
不到长城非好汉,没啥遗...
我很久没有笑得肚子这么...
内&&容:使用签名档&&
保存至快速回贴Java 编程中,花括号应该直接跟在本行的后面还是另起一行?
1、if(success){
//TODO}2、if(success){
//TODO}这两种应该选择那一种呢?
按投票排序
个人感觉第二种好一点,可以根据结束的括号找到对应的if或者for等相应代码
所以你知道我为什么讨厌写java了。
如果你所在的团队有规定,请遵守团队的规定,和团队保持一致。如果你所在的团队没有规定,请遵循 Java 官方的规范。官方规范采用的是后者,而且 if 后面要有空格,if 行的前花括号之前也要有空格,因此这样写才对:if (success) {
Java程序一般都是2,不过我写Java习惯用1,于是招致了很多人的反对。不过我认为编码风格的意义不是很大,现代的IDE都有调整代码格式的功能,拿到代码format一下就可以了。整个项目组也可以使用一个规定好的编码风格,然后统一调整。我曾经很在意编码风格,遇到不合我心意的就竭尽全力的让别人改,觉得不统一就没法体现良好的工作作风。后来慢慢的也就成熟一点了。《走出软件作坊》中有那么一句话,大概说的是编码风格的问题除了让你心理不爽一点以外,其实没什么别的坏处
各有好处,这是编程风格的问题,不是必须选择哪一种。只要选定一种,保持一致就可以了。如果是团队开发,就按照团队的编程规范吧。
推荐的写法是2補充: 一個比較重要的原因, 避免調試時的無謂空行
竟然有那么多人喜欢风格2.难道没人觉得第一种的对称风格是种美吗?
以前用1,现在用2。个人觉得其实关系不大,自己看着舒服 习惯就好
应该使用风格2,能减少一行代码,让你的视野更广一些。
我无论c还是java都用2
java有个 ctrl+shift+f自动转换格式,你就知道花括号在哪了
1是C++的风格2是常用的Java风格
1 是VC系列的风格,具体体现在VC编译器上。2 是Java的分格,各有各的好处,体现在eclipse上。我一般写Java用风格2,写C++用风格1。两种风格都无所谓了。
一般都是看编码规范,团队统一即可
看看java源代码什么风格你就知道了
一开始喜欢用1, 后来喜欢用2, 觉得2 的代码更紧凑。
两种编码风格都是可以的,在java编译后差别不大,关键是你所在的团队用哪一种。在多人协作的环境下,代码风格很重要,因为你写的代码很有可能是别人来维护,别人写的代码可能是你在维护。
根据公司规定,个人爱好。Java编程中的条件判断之if语句的用法详解
投稿:goldensun
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了Java编程中的条件判断之if语句的用法详解,是Java入门学习中的基础知识,需要的朋友可以参考下
if语句使用布尔表达式或布尔值作为分支条件来进行分支控制,其中if语句有如下三种形式:
  第一种形式:
  if ( logic expression )
  statements…
  第二种形式:
  if (logic expression)
  statements…
  statements…
  第三种形式:
  if (logic expression)
  statements…
  else if(logic expression)
  statements…
  …//可以有零个或多个else if语句
  else//最后的else语句也可以省略
  statement
  在上面if语言的三种形式中,放在if之后的括号里的只能是一个逻辑表达式,即这个表达式的返回值只能是true或false.第二种情形和第三种情形是相通的,如果第三种形式中else if块不出现,则变成了第二种形式。
  上面的条件语句中,if(logic expression)、else if(logic expression)以及else后花括号括起来多行代码被称为代码块,一个代码块通常被当成一个整体来执行(除非运行过程中遇到return、break、continue等关键字,或者遇到了异常),因此这个代码块也被称为条件执行体。例如如下程序:
  程序清单:codes/04/4-2/TestIf.java
  public class TestIf
  public static void main(String[] args)
  int age = 30;
  if (age & 20)
  //只有当age & 20时,下面花括号括起来的语句块才会执行
  //花括号括起来的语句是一个整体,要么一起执行,要么一起不会执行
  System.out.println("年龄已经大于20岁了");
  System.out.println("20岁以上的人应该学会承担责任…");
  因此,如果if(logic expression)、else if(logic expression)和else后的语句块只有一行语句时,则可以省略花括号,因为单行语句本身就是一个整体,无须花括号来把它们定义成一个整体。下面代码完全可以正常执行(程序清单同上):
  //定义变量a ,并为其赋值
  int a = 5;
  if (a & 4)
  //如果a&4,执行下面的执行体,只有一行代码作为代码块
  System.out.println("a大于4");
  //否则,执行下面的执行体,只有一行代码作为代码块
  System.out.println("a不大于4");
  通常,我们建议不要省略if、else、else if后执行块的花括号,即使条件执行体只有一行代码,因为保留花括号会有更好的可读性,而且保留花括号会减少发生错误的可能,例如如下代码,则不可正常执行:
  //定义变量b ,并为其赋值
  int b = 5;
  if (b & 4)
  //如果b&4,执行下面的执行体,只有一行代码作为代码块
  System.out.println("b大于4");
  //否则,执行下面的执行体
  //对于下面代码而言,它已经不再是条件执行体的一部分,因此总会执行
  System.out.println("b不大于4");
  上面代码中以粗体字标识的代码行:System.out.println("b不大于4");,将总是会执行,因为这行代码并不属于else后的条件执行体,else后的条件执行体就是b--;这行代码。
  if、else、else if后条件执行体要么是一个花括号扩起来的语句块,则这个语句块整体作为条件执行体;要么是以分号为结束符的一行语句,甚至可能是一个空语句(空语句是一个分号)。
  如果if块后有多条语句作为条件执行体,如果省略了这个条件执行体的花括号,则会引起编译错误,看下面代码(程序清单同上):
  //定义变量c ,并为其赋值
  int c = 5;
  if (c & 4)
  //如果c&4,执行下面的执行体,将只有c--;一行代码为条件执行体
  //下面是一行普通代码,不属于条件执行体
  System.out.println("c大于4");
  //此处的else将没有if语句,因此编译出错
  //否则,执行下面的执行体,只有一行代码作为代码块
  System.out.println("c不大于4");
  在上面代码中,因为if后的条件执行体省略了花括号,则系统只把c--;一行代码作为条件执行体,当c-;语句结束后,if语句也就结束了。后面的System.out.println("c大于4");代码已经是一行普通代码了,不再属于条件执行体,从而导致else语句没有if语句,从而引起编译错误。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具如果两个if在一对大括号里面语句怎么执行
如: while(true)  {if(...)      {         .......      }   else      {         .......       }//end if   if(...)   {      .......    }//end if } //end while
09-11-07 &匿名提问
这个程序很有问题,你是用来判断括号是否配对的吧?为什么要有while而不要if呢? while用于循环的,你的本意是一个字符一个字符地判断是否是( 或 ),但是并为用到循环语句......在本段程序中你使用while(ch!='#'&&ch=='(')i++; 是对整个ch进行判断的  当把while改成if在运行一下就可以理解了,建议你用数组和循环语句......
请登录后再发表评论!

我要回帖

更多关于 java if 条件 的文章

 

随机推荐