java if-else语句中的if条件后如果不加大括号能执行几句话?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java if-else语句中的if条件后如果不加大括号能执行几句话?相关的知识,希望对你有一定的参考价值。

即:
if(x>0)
1.....;
2.....;
3.....;
else
.......;

你的写法是错的,如果把else.....;去掉就不会报错,执行顺序是:如果x>0则执行1,2,3句,如果x<=0则执行2,3句
,你可以在1句后边加一个else,是不会报错的
总之如果不加 就只执行一个分号语句
参考技术A 执行一句,就是在第一个分号结束之前都执行,比如,这个就执行到1.....;
你这样写肯定会报错的,编译都不通过。
参考技术B 肯定报错,你这样一句话都执行不了 参考技术C 会报错的。 试问您在做判断的时候没有根据您怎么能够继续的将一次逻辑想通? 参考技术D if(1>2)
return false;
else
return true;

等价于

if(1>2)
return false;
return true;

只适用于这种情况本回答被提问者采纳

条件判断语句(if-else)

if-else 语法

  • if-else 语法,只有一个语句块被执行
  • if 和 else都是Java中的关键字
  • if 语法
  • 把 if-else 看做一个表达式,程序整体还是顺序执行的

if (boolean值) {

  if 语句块

} else {

  else 语句块

}


 

例如:买包子,如果包子是新出炉的,那么再多买2个;否则就买3个。

public class IfElseBaozi {
    public static void main(String[] args) {
        int baozi = 3;

        boolean baoziGangChuLong = true;

        if(baoziGangChuLong) {
            baozi = baozi + 2;
            System.out.println("包子刚刚出笼,买了" + baozi + "个肉包子。");
        }else {
            System.out.println("买了" + baozi + "个肉包子。");
        }
    }
}

 

if-else 的嵌套

  • if-else 就是一个语句,可以是另一个语句的一部分,也可以是 if-else 的一部分,即嵌套。

 

求a,b,c三个数的最大数。

public class Example2 {
    public static void main(String[] args) {
        int a = 100;
        int b = 100;
        int c = 23;
        // 分这几种情况:abc等大;a最大;b最大;c最大;ab等大并且最大;ac等大并且最大;bc等大并且最大。
        if (a==b&&b==c){ // a=b=c
            System.out.println("a,b,c等大,为"+a);
        }else {
            if(a>b){
                if(a>c){
                    System.out.println("a最大,为"+a);
                }else{ // a<=c
                    if (a==c){
                        System.out.println("a,c最大,为"+a);
                    }else{
                        System.out.println("c最大,为"+c);
                    }
                }
            }else{ // a <= b
                if (b>c){
                    if(a==b){
                        System.out.println("a,b最大,为"+a);
                    }else{
                        System.out.println("b最大,为"+b);
                    }
                }else{ // b<=c
                    if (b==c) {
                        System.out.println("b,c最大,为"+b);
                    }else{
                        System.out.println("c最大,为"+c);
                    }
                }
            }
        }
    }
}

if-else 的简化

  • 如果if或者else的语句块只有一个语句可以省略大括号。
  • 当else语句中存在if语句时,可以简写成 else if (条件) 的形式

if (boolean值)

  if 语句块

else

  else 语句块

 

if (boolean值) {

  if 语句块

} else if (boolean值) {

  if 语句块

} else {

  else 语句块

}

public class OneStatementIfElse {
    public static void main(String[] args) {
        int a = 10;

        System.out.println("省略大括号");
        if (a > 0)
            System.out.println("a大于0");
        else
            System.out.println("a小于等于0");

        System.out.println("比较大小的完整的写法");
        if (a > 0) {
            System.out.println("a大于0");
        } else {
            if (a == 0) {
                System.out.println("a等于0");
            } else {
                System.out.println("a小于0");
            }
        }

        System.out.println("比较大小的省略所有大括号的方法");
        if (a > 0)
            System.out.println("a大于0");
        else if (a == 0)
            System.out.println("a等于0");
        else
            System.out.println("a小于0");

        System.out.println("比较大小的代码块有多个语句的最优写法");
        if (a > 0) {
            System.out.println("a大于0");
            System.out.println("买" + a + "个肉包子。");
        } else if (a == 0) {
            System.out.println("a等于0");
            System.out.println("不买肉包子了。");
        } else {
            System.out.println("a小于0");
            System.out.println("肉包子吃多了。");
        }

    }
}

简化求最大数的程序

public class IfElseNestSimple {
    public static void main(String[] args) {
        int a = 10;
        int b = 99;
        int c = 99;

        System.out.println("a=" + a + ". b=" + b + ". c=" + c + ".");
        if (a == b && b == c) {
            System.out.println("a,b,c等大。");
        } else if (a > b && a > c) {
            System.out.println("a最大,为" + a);
        } else if (b > a && b > c) {
            System.out.println("b最大,为" + b);
        } else if (c > a && c > b) {
            System.out.println("c最大,为" + c);
        } else if (a == b && a > c) {
            System.out.println("a和b最大,为" + a);
        } else if (a == c && a > b) {
            System.out.println("a和c最大,为" + a);
        } else if (b == c && a < b) {
            System.out.println("b和c最大,为" + b);
        }
    }
}

以上是关于java if-else语句中的if条件后如果不加大括号能执行几句话?的主要内容,如果未能解决你的问题,请参考以下文章

条件判断语句(if-else)

Java中条件语句和if-else的嵌套原则

Java中条件语句和if-else的嵌套原则

R语言中的if else语句

IT兄弟连 Java语法教程 流程控制语句 分支结构语句2

Linux中if-else条件判断语句