灵境 / 博客 / Java02 流程控制

Java02 流程控制

2023 年 4 月 25 日 22:33


Java 流程控制

1、用户交互与 Scanner

说明:java.util.Scanner 是 Java5 的新特征,用于获取用户的输入。

基本语法

通过 Scanner 类的 next() 与 nextLine() 方法获取输入的字符串,在读取前一般使用 hasNext() 与 hasNextLine() 判断是否还有输入数据。

Scanner.next() 与 Scanner.nextLine() 对比说明

代码示例

2、顺序结构

3、选择结构

3.1、if 选择结构

if 单选择结构

if 双选择结构

if 多选择结构

3.2、switch 多选择结构

switch 多选择结构(JDK7 后支持字符串匹配)

3.4、练习:打印九九乘法表

使用循环打印九九乘法表

4、循环结构

while 循环结构

do...while 循环结构

for 循环结构

 

5、break & continue

6、练习

public class Demo06 {
    public static void main(String[] args) {
        for (int i = 1; i <= 9; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print(j + "*" + i + "=" + (j*i) + "\t");
            }
            System.out.println();
        }
    }
}
public class Demo05 {
    public static void main(String[] args) {

        char grade = 'C';

        switch (grade){
            case 'A':
                System.out.println("优秀");
                break;
            case 'B':
                System.out.println("良好");
                break;
            case 'C':
                System.out.println("及格");
                break;
            default:
                System.out.println("未知");
                break;
        }
    }
}
public class Demo04 {
    static final int OK_SCORE = 60;
    static final int OK_SCORE2 = 90;

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入内容:");
        int score = scanner.nextInt();
        //if 多选择结构
        if (score >= OK_SCORE2){
            System.out.println("不及格");
        }else if (score >= OK_SCORE){
            System.out.println("及格");
        }else {
            System.out.println("不合法");
        }
        scanner.close();
    }
}
public class Demo03 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入内容:");
        int score = scanner.nextInt();
        //if 双选择结构
        final int oKSCORE = 60;
        if (score >= oKSCORE){
            System.out.println("及格");
        }else {
            System.out.println("不及格");
        }
        scanner.close();
    }
}
public class Demo02 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入内容:");
        String s = scanner.nextLine();
        //if 单选择结构
        if (s.equals("Hello")){
            System.out.println("单选择结构命中,输入值为:" + s);
        }
        scanner.close();
    }
}
//读取对应类型输入
public class Demo04 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        //从键盘接收数据
        int i = 0;
        float f = 0.0f;

        System.out.println("请输入整数:");
        if (scanner.hasNextInt()){
            i = scanner.nextInt();
            System.out.println("整数数据:" + i);
        }else {
            System.out.println("输入的不是整数数据");
        }

        System.out.println("请输入小数:");
        if (scanner.hasNextFloat()){
            f = scanner.nextFloat();
            System.out.println("小数数据:" + f);
        }else {
            System.out.println("输入的不是小数数据");
        }

        scanner.close();
    }
}
//使用 hasNextLine() 获取,输入 “Hello World”时候,输出 “Hello World”,可读取空格,以回车作为结束
public class Demo02 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.println("使用 nextLine 方式接收:");

        if (scanner.hasNextLine()){
            String str = scanner.nextLine();
            System.out.println("输出的内容为:" + str);
        }

        scanner.close();
    }
}
//使用 next() 获取,输入 “Hello World”时候,输出 “Hello”,只读取空格前的值
public class Demo01 {
    public static void main(String[] args) {
        //创建一个扫描器对象,用于接收键盘数据(System.in 代表输入)
        Scanner scanner = new Scanner(System.in);

        System.out.println("使用 next 方式接收: ");

        //判断用户有没有输入字符串
        if (scanner.hasNext()){
            //使用 next 方式接收
            String str = scanner.next();
            System.out.println("输出的内容为:" + str);
        }
        //凡是属于 IO 流的类如果不关闭会一直占用资源,要养成好习惯用完就关闭
        scanner.close();

    }
}
Scanner scanner = new Scanner(System.in);