一、Scanner、if、switch

一、用户交互scanner

hasnextLine和nextLine

  1. 等待用户输入的方法:hasNext(),hasNextLine()。程序运行到这个方法的时候会静止等待,返回布尔类型的数据
  2. 获取输入的内容:next(),nextLine()也会等待,并且返回用户输入的内容
package com.ling.java基础;

import java.util.Scanner;

public class Hello{
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);//创建一个scanner对象来监测用户的输入
        System.out.println("请输入你要说的话");
        if (scanner.hasNextLine()){//这里暂停,知道用户输入了之后再继续运行
            String outPut = scanner.nextLine();//获取用户的输入内容
            System.out.println("输出的是"+outPut);
        }

    }
}

hasNextDouble和nextDouble(hasNext。。)

  1. hasNextDouble用来判断是否是double类型的数据,同样会等待用户输入数据,如果输入的不是double类型的数据,name返回的是false
  2. nextDouble用来获取用户输入的double类型的数据,如果不是double类型的数据,那么会报错。
  3. 同理hasNextIne、nextInt以及其他。
package com.ling.java基础;

import java.util.Scanner;

public class Hello{
    public static void main(String[] args) {
        System.out.println("请输入你想的数字");
        Scanner scanner = new Scanner(System.in);
        if (scanner.hasNextInt()){
            int num = scanner.nextInt();
            System.out.println("你输入的是整数"+num);
        }else{
            System.out.println("你输入的是小数");
        }
        scanner.close();
    }
}

二、算法结构

顺序结构

  • java的基本结构就是顺序结构,除非特别指明,否则程序都是按照顺序一句一句执行。
  • 顺序结构是最简单的算法结构
  • 它是任何一个算法都离不开的基本算法结构

选择结构

  • 单选择结构

    • 只有一个if
  • 双选择结构

    • 有一个if和一个else
  • 多选择结构

    1. 可能由多个if组成

      • 如果是由多个if组成的话,当任意一个if满足以后,仍然会进行下一个if的比较

      • package com.ling.java基础;
        
        import java.util.Scanner;
        
        public class Hello {
            public static void main(String[] args) {
                System.out.println("请输入你的成绩:");
                Scanner scanner = new Scanner(System.in);
                int score = scanner.nextInt();
                if (score > 0 && score < 60) {
                    System.out.println("成绩不合格");
                } if (score >= 40 && score < 80) {
                    System.out.println("成绩良好");
                } else {
                    System.out.println("成绩优秀!");
                }
                scanner.close();
        
            }
        }
        //输入: 50
        //输出: 成绩不及格
        //		成绩良好
        
    2. 由if和多个else if组成

      • 由if和else if组成的话,只要满足了其中一个if或者else if的话,条件结构就会中止。

      • package com.ling.java基础;
        
        import java.util.Scanner;
        
        public class Hello {
            public static void main(String[] args) {
                System.out.println("请输入你的成绩:");
                Scanner scanner = new Scanner(System.in);
                int score = scanner.nextInt();
                if (score > 0 && score < 60) {
                    System.out.println("成绩不合格");
                } else if (score >= 40 && score < 80) {
                    System.out.println("成绩良好");
                } else {
                    System.out.println("成绩优秀!");
                }
                scanner.close();
        
            }
        }
        //输入:50
        //输出:成绩不合格
        
  • 嵌套的if结构

    • 可以在if、else if、else里面嵌套if结构

switch多选择结构

  • switch可以根据某个变量的值来做出相应的操作

  • switch在符合某一个case之后会执行那个操作,并且同时会执行下面的case的操作,这就是swith穿透

  • 解决swith穿透可以在每个case后面加上break。

    package com.ling.java基础;
    
    import java.util.Scanner;
    
    public class Hello {
        public static void main(String[] args) {
            System.out.println("请输入你的成绩");
            Scanner scanner = new Scanner(System.in);
            while(scanner.hasNext()){
                String score = scanner.next();
                switch(score){
                    case "A":
                        System.out.println("优秀");
                        break;
                    case "B":
                        System.out.println("优良");
                        break;
                    case "C":
                        System.out.println("合格");
                        break;
                    case "D":
                        System.out.println("不合格");
                        break;
                    default:
                        System.out.println("定位未知");
                }
            }
            scanner.close();
        }
    }
    
posted @ 2021-03-12 00:16  煎蛋真的是太美味了  阅读(105)  评论(0)    收藏  举报