Java程序控制

用户交互Scanner

scanner交互对象

通过Scanner类来获取用户的输入

next()

  1. 一定要读取到有效字符后才可以结束输入

  2. 对输入有效字符之前遇到的空白,next()方法会自动将其去掉

  3. 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符

  4. next()不能得到带有空格的字符串

    public class Demo01 {
        public static void main(String[] args) {
            //创建一个扫描器对象,用于接收键盘数据
            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();
        }
    }
    

    nextLine()

    1. 以Enter为结束符,也就是说,nextLine()方法返回的是输入回车之前的所有字符

    2. 可以获得空白

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

顺序结构

  1. Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行

  2. 语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构

    package com.Beverly.strct;
    
    public class ShunXuDemo {
        public static void main(String[] args) {
            System.out.println("hello1");
            System.out.println("hello2");
            System.out.println("hello3");
            System.out.println("hello4");
            System.out.println("hello5");
        }
    }
    

选择结构

  1. if单选择结构

    package com.Beverly.strct;
    
    import java.util.Scanner;
    
    public class IfDemo01 {
        public static void main(String[] args) {
            Scanner scanner=new Scanner(System.in);
    
            System.out.println("请输入内容:");
            String s=scanner.nextLine();
    
            //equals:判断字符串是否相等
            if (s.equals("Hello")){
                System.out.println(s);
            }
    
            System.out.println("End");
            scanner.close();
        }
    }
    

  2. if双选择结构

    package com.Beverly.strct;
    
    import java.util.Scanner;
    
    public class IfDemo02 {
        public static void main(String[] args) {
            //考试分数大于60就是及格,小于60分就是不及格
            Scanner scanner=new Scanner(System.in);
    
            System.out.println("请输入成绩:");
            int score=scanner.nextInt();
    
            if(score>60){
                System.out.println("及格");
            }else{
                System.out.println("不及格");
            }
    
    
    
                scanner.close();
        }
    }
    

  3. if多选择结构

    package com.Beverly.strct;
    
    import java.util.Scanner;
    
    public class IfDemo03 {
        public static void main(String[] args) {
            //考试分数大于60就是及格,小于60分就是不及格
            Scanner scanner=new Scanner(System.in);
    
            /*
            if语句至多有1个else语句,else语句在所有的else if语句之后;
            if语句可以有若干个else if语句,它们必须在else语句之前;
            一旦其中一个else if语句检测为true,其他的else if以及else语句都将跳过执行
             */
    
            System.out.println("请输入成绩:");
            int score=scanner.nextInt();
    
            if(score==100){
                System.out.println("恭喜满分");
            }else  if (score<100&&score>=90){
                System.out.println("A级");
            }else if (score<90&&score>=80){
                System.out.println("B级");
            }else if (score<80&&score>=70){
                System.out.println("C级");
            }else if (score<70&&score>=60){
                System.out.println("D级");
            }else if (score<60&&score>=0){
                System.out.println("不及格");
            }
            else{
                System.out.println("成绩不合法");
            }
            scanner.close();
        }
    }
    

  4. 嵌套的if结构

    if······else语句,可以在另一个if或者else if语句中使用if或者else if,可以像if语句一样嵌套else if······else

  5. switch多选择结构

    package com.Beverly.strct;
    
    public class SwitchDemo01 {
        public static void main(String[] args) {
            //case穿透
            char grade='C';
    
            switch(grade){
                case'A':
                    System.out.println("优秀");
                    break;//可选
                case'B':
                    System.out.println("良好");
                    break;//可选
                case'C':
                    System.out.println("及格");
                    break;//可选
                case'D':
                    System.out.println("再接再厉");
                    break;//可选
                case'E':
                    System.out.println("挂科");
                    break;//可选
            }
        }
    }
    
    package com.Beverly.strct;
    
    public class SwithDemo02 {
        public static void main(String[] args) {
            String name="李四";
            //JDK的新特征,表达式结果可以使字符串
            //字符的本质还是数字
    
            //反编译   java---class(字节码文件)---反编译(IDEA)
            switch (name){
                case"张三":
                    System.out.println("张三");
                    break;
                case"李四":
                    System.out.println("李四");
                    break;
                default:
                    System.out.println("做什么!");
            }
        }
    }
    
    //
    // Source code recreated from a .class file by IntelliJ IDEA
    // (powered by Fernflower decompiler)
    //
    
    package com.Beverly.strct;
    
    public class SwithDemo02 {
        public SwithDemo02() {
        }
    
        public static void main(String[] args) {
            String name = "李四";
            byte var3 = -1;
            switch(name.hashCode()) {
            case 774889:
                if (name.equals("张三")) {
                    var3 = 0;
                }
                break;
            case 842061:
                if (name.equals("李四")) {
                    var3 = 1;
                }
            }
    
            switch(var3) {
            case 0:
                System.out.println("张三");
                break;
            case 1:
                System.out.println("李四");
                break;
            default:
                System.out.println("做什么!");
            }
    
        }
    }
    

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值