欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

条件判断语句(if-else)

程序员文章站 2022-06-22 11:08:36
if-else 语法 if-else 语法,只有一个语句块被执行 if 和 else都是Java中的关键字 if 语法 把 if-else 看做一个表达式,程序整体还是顺序执行的 if (boolean值) { if 语句块 } else { 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);
        }
    }
}