黑马程序员技术交流社区

标题: if语句小问题 [打印本页]

作者: 涐扪①起奮乧    时间: 2013-11-20 10:22
标题: if语句小问题
本帖最后由 涐扪①起奮乧 于 2013-11-20 21:19 编辑
  1. class Demo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int x = 2;
  6.                 if(x>1)
  7.                 System.out.println(x);
  8.                 System.out.println(x+1);

  9.                 else
  10.                 {
  11.                         System.out.println("nono");
  12.                 }

  13.         }
  14. }
复制代码
我这个程序里,if只控制离它最近的那条语句,编译的时候出现
办公室自己48.java:10: 错误: 有 'if', 但是没有 'else'
                else
                ^
1 个错误
不是说System.out.println(x+1);
跟if没有关系吗?怎么还不能执行?
作者: 风起    时间: 2013-11-20 10:28
加一个代码块

class Demo
{
        public static void main(String[] args)
        {
                int x = 2;
                if(x>1) {
                System.out.println(x);
                System.out.println(x+1);
               }
                else
                {
                        System.out.println("nono");
                }

        }
}


作者: 王柠    时间: 2013-11-20 10:33
i1.f语句后如果只有一条语句则可以省去花括号{};
if(x>1)
System.out.println(x);
2.如果if语句中包含多条语句,则要以{}括起来,
if(x>1){
System.out.println(x);
System.out.println(x+1);
}
-----急需要技术分啊,:-D 谢了!
作者: 黄炳期    时间: 2013-11-20 17:09
帖子已分类,若仍有疑惑,可重新提问
作者: smileven    时间: 2013-11-20 19:26
if()语句的判断条件只能管理到它的下一条语句或下一个代码块。
也就是说有两种格式,
(1) if(x > 1)
            语句1;
    else

(2) if(x > 1)
        {
              语句1;
              语句2;
              语句......
        }
      else

在java代码中出现else,那么它之前必须有一个if和它配对,而且if和else之间只能有一条语句或一个{}括起来的代码块。
因此你在if后面连续写两条语句,后面再写else,破坏了if{}else{}的选择判断关系,所以肯定出错。


作者: dulinanaaa    时间: 2013-11-20 20:29
你好,你这条if...else语句是不正确的,if后面是要用括号括起来的,这样才能使用后面的else语句。你这样的话给人家断层了,前面的只是单单的if带着一个语句,后面的else找不到前面的if了




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