JavaSE学习笔记02-Java流程控制

1、用户交互与Scanner

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

  • 基本语法

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

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

    image-20210916181700289

  • 代码示例

    //使用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();
    
        }
    }
    
    //使用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();
        }
    }
    
    //读取对应类型输入
    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();
        }
    }
    

2、顺序结构

image-20210916182122380

3、选择结构

3.1、if选择结构

  • if单选择结构

    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();
        }
    }
    
  • if双选择结构

    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();
        }
    }
    
  • if多选择结构

    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();
        }
    }
    

3.2、switch多选择结构

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

    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;
            }
        }
    }
    

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

  • 使用循环打印九九乘法表

    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();
            }
        }
    }
    

4、循环结构

  • while循环结构

    image-20210916183241452

  • do...while循环结构

    image-20210916193312311

  • for循环结构

    image-20210916193401900

  • 增强型for循环

5、break & continue

6、练习

posted @ 2021-10-22 16:02  南山竹  阅读(14)  评论(0)    收藏  举报