java选择结构分析

if选择结构

if选择结构必须先定义一个布尔值

如果布尔值为true,那么执行if后面的语句

如果布尔值为false不会执行if后面的语句

下图中布尔值为false所以不会执行System.out.println("今天不上课");语句,故不会输出:今天不上课

System.out.println("程序执行结束");不在选择语句中所以无论 布尔值无论为true还是false都会输出:程序执行结束

输出结果为程序执行结束

public void test06() {

boolean rain = false;

//定义一个变量rain   此变量的值为false

if (rain) {

System.out.println("今天不上课");

}

System.out.println("程序执行结束");

}

 那么布尔值为true的情况是怎样的呢?

下图中布尔值为true所以会执行System.out.println("今天不上课");语句,故输出:今天不上课

System.out.println("程序执行结束");不在选择语句中所以无论 布尔值无论为true还是false都会输出:程序执行结束

所以运行结果为  今天不上课   程序执行结束

public void test06() {
        boolean rain = true;
        if (rain) {

            System.out.println("今天不上课");

        }

        System.out.println("程序执行结束");

 --------------------------------------------------------------------------------------------------------------------------------

 布尔型有两个值 true 和false,但上图中语句只包含了其中一种情况,怎么提高代码执行效率呢,于是有了下面这些语句

当布尔型得值为true(真)时则,会执行System.out.println("今天不上课");语句,故输出:今天不上课

System.out.println("程序执行结束");不在选择语句中所以无论 布尔值无论为true还是false都会输出:程序执行结束

所以运行结果为  今天不上课   程序执行结束

这些语句和上面的语句有什么区别呢?

上面的语句比较繁琐,如果想输出true 和false两个值就需要写两段代码

下面的语句可以提高代码执行效率,如果想输出另一个值只需要修改布尔型的值即可

 public void test07() {
    boolean rain = true;
        if (rain) {
        System.out.println("今天不上课");
    } else {
        System.out.println("今天上课");
    }
        System.out.println("程序执行结束");

    }

 

当布尔型得值为false(假)时则,会执行System.out.println("今天上课");语句,故输出:今天不上课

System.out.println("程序执行结束");不在选择语句中所以无论 布尔值无论为true还是false都会输出:程序执行结束

所以运行结果为  今天上课   程序执行结束

public void test07() {
    boolean rain = false;
        if (rain) {
        System.out.println("今天不上课");
    } else {
        System.out.println("今天上课");
    }
        System.out.println("程序执行结束");

    }

 

--------------------------------------------------------------------------------------------------------------------------------

先定义gender布尔值为true

在定义 一个字符型的 sex

当布尔型得值为true(真)时则,会执行sex = "精神小伙儿";语句,故输出:精神小伙

System.out.println("程序执行结束");不在选择语句中所以无论 布尔值无论为true还是false都会输出:程序执行结束

所以运行结果为 性别>>> 精神小伙   程序执行结束

public void test03() {
 
        boolean gender = true;
        String sex;
        if (gender) {
            sex = "精神小伙儿";
        } else {
            sex = "扒蒜老妹儿";
        }
        System.out.println("性别 >>> " + sex);
        System.out.println("程序执行结束");

 

 

当布尔型得值为false(假)时则,会执行sex = "扒蒜老妹儿"语句,故输出:扒蒜老妹

System.out.println("程序执行结束");不在选择语句中所以无论 布尔值无论为true还是false都会输出:程序执行结束

所以运行结果为 性别>>> 扒蒜老妹儿   程序执行结束

public void test08() {
        boolean gender = false;
        String sex;
        if (gender) {
            sex = "精神小伙儿";
        } else {
            sex = "扒蒜老妹儿";
        }
        System.out.println("性别 >>> " + sex);
        System.out.println("程序执行结束");
    }

 

 

---------------------------------------------------------------------------------------------------------------------------------

三目运算符:让 sex =gender的值  gender得值为真(true)的话就输出 性别>>> 精神小伙   程序执行结束

让 sex =gender的值  gender得值为false(假)的话就输出 性别>>> 扒蒜老妹儿   程序执行结束

 public void test09() {
        boolean gender = true;
        String sex = gender == true ? "精神小伙儿" : "扒蒜老妹儿";
        System.out.println("性别 >>> " + sex);
        System.out.println("程序执行结束");
    }
}

 

 public void test09() {
        boolean gender = false;
        String sex = gender == true ? "精神小伙儿" : "扒蒜老妹儿";
        System.out.println("性别 >>> " + sex);
        System.out.println("程序执行结束");

-------------------------------------------------------------------------------------------------------------------------------- 

 随机产生一个0-7的数

输出这个数

如果 i==0则输出星期日,但是此时代码并不会停止运行,这些语句会从 i==0 一直执行到 i==6 执行效率低,于是有了下列代码

 public void test10() {
        Random random = new Random();
        int i = random.nextInt(7);
        System.out.println(i);
        if (i == 0) {
            System.out.println("星期日");
        }
        if (i == 1) {
            System.out.println("星期一");
        }
        if (i == 2) {
            System.out.println("星期二");
        }
        if (i == 3) {
            System.out.println("星期三");
        }
        if (i == 4) {
            System.out.println("星期四");
        }
        if (i == 5) {
            System.out.println("星期五");
        }
        if (i == 6) {
            System.out.println("星期六");
        }
        System.out.println("程序执行结束");
    }

 随机产生一个0-7的数

输出这个数

如果 i==0则输出星期日,此时代码停止运行,效率较高。。

public void test11() {
  
        Random random = new Random();
        int i = random.nextInt(7);
        System.out.println(i);
        if (i == 1) {
            System.out.println("星期一");
        } else if (i == 2) {
            System.out.println("星期二");
        } else if (i == 3) {
            System.out.println("星期三");
        } else if (i == 4) {
            System.out.println("星期四");
        } else if (i == 5) {
            System.out.println("星期五");
        } else if (i == 6) {
            System.out.println("星期六");
        } else {
            System.out.println("星期日");
        }
        System.out.println("程序执行结束");
    }

switch语句

switch语句格式

        switch(变量){

                case 变量:(case语句可以写多个)

                输出语句

                break;

                        }

随机产生一个随机数

定义一个变量i

case和if的意思相同,当变量i = 3 时输出星期三,但是代码从上往下,从左往右执行会导致 case 3下面的语句也会被输出于是我们可以在输出语句后面加上break;解决这个问题

public void test12() {
        Random random = new Random();
        int i = random.nextInt(7);
        System.out.println(i);
        switch (i) {
            case 1:
                System.out.println("星期一");
            case 2:
                System.out.println("星期二");
            case 3:
                System.out.println("星期三");
            case 4:
                System.out.println("星期四");
            case 5:
                System.out.println("星期五");
            case 6:
                System.out.println("星期六");
            default:
                System.out.println("星期日");
        }
        System.out.println("程序执行结束");
    }

 可以看到执行结果变得正常

  public void test12() {
        Random random = new Random();
        int i = random.nextInt(7);
        System.out.println(i);
        switch (i) {
            case 1:
                System.out.println("星期一");
                break;
            case 2:
                System.out.println("星期二");
                break;
            case 3:
                System.out.println("星期三");
                break;
                case 4:
                System.out.println("星期四");
                    break;
            case 5:
                System.out.println("星期五");
                break;
            case 6:
                System.out.println("星期六");
                break;
            default:
                System.out.println("星期日");
        }
        System.out.println("程序执行结束");
    }

 

 

switch语句另一种格式

这是switch语句的另一种格式,需要高版本jdk才能使用输出结果和上图相同

 public void test13() {
        // 需求:
        // 随机生成0到7之间不包含7的整数 0 1 2 3 4 5 6
        // 如果这个数字是0 则输出今天是星期日 如实是1则输出星期一 如果是2则输出星期二 以此类推
        Random random = new Random();
        int i = random.nextInt(7);
        System.out.println(i);
        switch (i) {
            case 1 -> System.out.println("星期一");
            case 2 -> System.out.println("星期二");
            case 3 -> System.out.println("星期三");
            case 4 -> System.out.println("星期四");
            case 5 -> System.out.println("星期五");
            case 6 -> System.out.println("星期六");
            default -> System.out.println("星期日");
        }
        System.out.println("程序执行结束");
    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值