黑马Java零基础视频教程精华部分_2_顺序结构、分支结构、循环结构


流程控制语句

1、顺序结构

在这里插入图片描述

2、分支结构 (分为两部分:if、switch)

(1)if 语句

在这里插入图片描述
note:如果if结构中只有一句代码,这种情况可以省略大括号,但不建议省略
在这里插入图片描述
在这里插入图片描述

(2)switch 语句

在这里插入图片描述
在这里插入图片描述

package com.itheima.demo1;
import java.util.Scanner;
//注意文件名要与类名一致
public class HelloWorld {
    public static void main(String[] args) {
        //注释
        Scanner scanner = new Scanner(System.in);
        int week = scanner.nextInt();
        switch (week){
            case 1:
                System.out.println("run");
                break;
            case 2:
                System.out.println("swim");
                break;
            case 3:
                System.out.println("rest");
                break;
            default:
                System.out.println("nothing");
        }
    }
}

(1)default的位置与省略

1.位置:default不一定是写在最下面的,我们可以写在任意位置。只不过习惯会写在最下面。
2.省略:default可以省略,语法不会有问题,但是不建议省略。

(2)case穿透

就是语句体中没有写break导致的。
实际上switch的执行流程:首先还是会拿着小括号中表达式的值跟下面每一个case进行匹配。如果匹配上了,就会执行对应的语句体,如果此时发现了break,那么结束整个switch语句。如果没有发现break,那么程序会继续执行下一个case的语句体,一直遇到break或者右大括号为止。
使用场景:如果多个case的语句体重复了,那么我们考虑利用case穿透去简化代码

package com.itheima.demo1;
import java.util.Scanner;
//注意文件名要与类名一致
public class HelloWorld {
    public static void main(String[] args) {
        //注释
        Scanner scanner = new Scanner(System.in);
        int week = scanner.nextInt();
        switch (week){
            case 1:
                System.out.println("run");
                //break;
            case 2:
                System.out.println("swim");
                //break;
            case 3:
                System.out.println("rest");
                //break;
            default:
                System.out.println("nothing");
        }
    }
}

在这里插入图片描述

(3)switch在JDK12后的新特性
package com.itheima.demo1;

//注意文件名要与类名一致
public class HelloWorld {
    public static void main(String[] args) {
        //注释
        int number = 1;
        switch(number){
            case 1:
                System.out.println("一");
                break;
            case 2:
                System.out.println("二");
                break;
            default:
                System.out.println("没有这个数字");
        }
    }
}

可将上述代码优化为:通过 “->” 和 大括号 可以省略break

package com.itheima.demo1;

//注意文件名要与类名一致
public class HelloWorld {
    public static void main(String[] args) {
        //注释
        int number = 1;
        switch(number){
            case 1 -> {
                System.out.println("一");
            }
            case 2 -> {
                System.out.println("二");
            }
            default -> {
                System.out.println("没有这个数字");
            }
        }
    }
}

如果case结构中只有一条语句还可以简化为:

package com.itheima.demo1;

//注意文件名要与类名一致
public class HelloWorld {
    public static void main(String[] args) {
        //注释
        int number = 1;
        switch(number){
            case 1 -> System.out.println("一");
            case 2 -> System.out.println("二");
            default -> System.out.println("没有这个数字");
        }
    }
}
(4)switch中一个case可以在其后加多种情况
package com.itheima.demo1;

//注意文件名要与类名一致
public class HelloWorld {
    public static void main(String[] args) {
        //注释
        int number = 2;
        switch(number){
            case 1, 2 -> System.out.println("一");
            default -> System.out.println("没有这个数字");
        }
    }
}

在这里插入图片描述
如图所示以上四图输出皆为 “ 一 ”

3、循环结构

1、for循环

在这里插入图片描述
在这里插入图片描述
note:(1)在for循环大括号中设定的变量 作用域仅在大括号中

2、while循环

在这里插入图片描述

3、do…while循环

在这里插入图片描述
题目:判断是否是回文数

package com.itheima.demo1;
import java.util.Scanner;

//注意文件名要与类名一致
public class HelloWorld {
    public static void main(String[] args) {
        //注释
        Scanner scanner = new Scanner(System.in);
        int num_input = scanner.nextInt();
        int temp = num_input;
        int num = 0;
        int index;
        while(num_input != 0){
            index = num_input % 10;
            num_input = num_input / 10;
            num = num*10 + index;
        }
        if(num == temp) System.out.println(temp+" 是回文数");
        else System.out.println(temp + " 不是回文数");
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值