Java 分支结构——if-else(二)

if...else嵌套

在 if 的语句块中,或者是在else语句块中,又包含了另外一个条件判断(可以是单分支、双分支、多分支),就构成了嵌套结构。

执行的特点: (1)如果是嵌套在if语句块中的,只有当外部的if条件满足,才会去判断内部的条件 (2)如果是嵌套在else语句块中的,只有当外部的if条件不满足,进入else后,才会去判断内部的条件

案例4:由键盘输入三个整数分别存入变量num1、num2、num3,对它们进行排序(使用 if-else if-else),并且从小到大输出

        int n1 = 12, n2 = 15, n3 = 5;
        if (n1 > n2) {
            if (n3 > n1) {
                System.out.println(n2 + " < " + n1 + " < " + n3);
            } else if (n2 > n3) {
                System.out.println(n3 + " < " + n3 + " < " + n1);
            } else {
                System.out.println(n2 + " < " + n3 + " < " + n1);
            }
        } else { //n1 < n2
            if (n3 < n1) {
                System.out.println(n3 + " < " + n1 + " < " + n2);
            } else if (n3 > n2) {
                System.out.println(n1 + " < " + n2 + " < " + n3);
            } else {
                System.out.println(n1 + " < " + n3 + " < " + n3);
            }
            //5 < 12 < 15
        }

 说明

  • 语句块只有一条执行语句时,一对{}可以省略,但建议保留
  • 当if-else结构是“多选一”时,最后的else是可选的,根据需要可以省略

练习1、查看一下代码输出结果

        //1)对下列代码,若有输出,指出输出结果。
        int x = 4, y = 1;
        if(x>2){//满足,内部分支
            if(y>2)//不满足
                System.out.println(x+y);//不输出
            System.out.println("Hello If-Else"); //此段输出
        }else
            System.out.println("x is " +x);//不输出

练习2、查看运行效果

        boolean b = true;
        if (b == false)//不满足
            System.out.println("a");
        else if (b)//满足
            System.out.println("b");//输出
        else if(!b)//不满足
            System.out.println("c");
        else
            System.out.println("d");

练习3、定义两个整数,分别为small 和 big,如果第一个整数small大于第二个整数big,就交换。输出显示small和big变量的值。

        int small = 21, big = 12;
        if (small > big) {
            int temp = small;
            small = big;
            big = temp;
        }
        System.out.println("big is " + big+" ,smail is " +small);

练习4编写程序,声明2个int型变量并赋值。判断两数之和,如果大于等于50,打印“hello world!”

        int q = 5, w = 22;
        if (q + w >= 50) {
            System.out.println("Hello world");
        }

练习5:编写程序,声明2个double型变量并赋值。判断第一个数大于10.0,且第2个数小于20.0,打印两数之和。否则,打印两数的乘积。

        double d1 = 10.22, d2 = 0.32;
        if (d1 > 10.0 && d2 < 20.0) {
            System.out.println(d1 + d2);//执行
        } else {
            System.out.println(d1 * d2);
        }

练习6:判断水的温度

如果大于95℃,则打印“开水”;

如果大于70℃且小于等于95℃,则打印“热水”;

如果大于40℃且小于等于70℃,则打印“温水”;

如果小于等于40℃,则打印“凉水”。

        double wd = 74;
        if (wd > 95) {
            System.out.println("开水");
        } else if (wd > 70 && wd <= 95) {
            System.out.println("热水");
        } else if (wd > 40 && wd <= 70) {
            System.out.println("温水");
        } else {
            System.out.println("凉水");
        }
posted @ 2023-03-13 06:37  晓枫的春天  阅读(133)  评论(0编辑  收藏  举报