一行上有多个if语句

时间:2014-11-04 22:53:01

标签: java if-statement

这样的声明如何执行?

int x = 2, y = 3;

if (x != 0) if (x < 10) if (y < 10) {
    x++;
    y++;
    System.out.printf("X and Y are: %d, and %d", x, y);
}

9 个答案:

答案 0 :(得分:2)

如果可以编译,它将完全像这样执行:

if (x != 0) 
   if (x < 10) 
     if (y < 1o) {
        x++;
        y++;
        System.out.println(x, y);
     }

然而,它不是很易读。您可以通过使用逻辑运算符或正确的换行符和缩进来提高其可读性。

答案 1 :(得分:1)

像这样:

int x = 2, y = 3;
if ((x != 0) && (x < 10) && (y < 10))
{
    x++;
    y++;
    System.out.println(x, y);
}

答案 2 :(得分:0)

它的运作方式类似于嵌套。如果使用条件AND,为什么不检查第一个条件。这样你就不需要别人了。

然而,对于每个人来说,这是一个很好的练习。这样,当代码在未来发生变化时,它的可读性和易错性

答案 3 :(得分:0)

if()if()if()只是空手 它真正做的是

if(x != 0){
    if(x < 10){
        if(y < 1o){
            x++;
            y++;
            System.out.println(x, y);
        }else{}
    }else{}
}else{}

答案 4 :(得分:0)

他们是嵌套的。基本上,大括号对于一行语句块是可选的。我认为y < 1o应为y < 10,您的println看起来也可疑。

if (x != 0) {
  if (x < 10) {
    if (y < 10) {
      x++;
      y++;
      // System.out.println(x, y);
      System.out.println(Integer.toString(x) + " " + y);
    }
  }
}

你当然可以将这些组合成一个if(甚至一行)与and类似

if (x != 0 && x < 10 && y < 10) {
  System.out.printf("%d %d%n", x++, y++);
}

答案 5 :(得分:0)

这类似于

if (x != 0) {
   if (x < 10) {
      if (y < 10) {
        x++;
        y++;
        System.out.println(x, y);
      }
   }
}

以另一种方式编写

if((x != 0) && (x < 10) && (y < 10)) {
   x++;
   y++;
   System.out.println(x, y);
}

答案 6 :(得分:0)

只需使用&amp;&amp;运营商

int x = 2, y = 3;
if (x != 0 && x < 10 && y < 10) {
    x++;
    y++;
    System.out.println(x, y);
}

答案 7 :(得分:0)

如安迪所说,它的运作方式就像嵌套一样。而不是使用这个写一个if语句中的所有条件并使用&amp;&amp;操作

答案 8 :(得分:0)

使用Java逻辑运算符可以解决您的问题 点击此链接了解详情
http://www.cafeaulait.org/course/week2/45.html