【Java】流程控制

流程控制

第一章.键盘录入_Scanner

1.概述:是Java中的一个类
2.作用:将数据通过键盘录入的形式放到代码中参与运行
3.位置:java.util
4.使用:
    a.导包:通过导包的方式找到要使用的类 -> 导包位置:类上
        import java.util.Scanner -> 导入的是哪个包的哪个类 //idea自动写这一步
        
    * b.创建对象
        Scanner 变量名 = new Scanner(System.in);
​
    * c.调用方法,实现键盘录入 ('.'就是调用的意思)
        变量名.nextInt() -> 录入整数int型的int型的
        变量名.next() -> 输入字符串 String型的
        
        
        public class Demo01Scanner {
    public static void main(String[] args) {
        //创建对象
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数:");//起方便作用
        //录入int型整数
        int data1 = sc.nextInt();
        //System.out.println("请输入一个整数:");
        System.out.println("data1 = " + data1);
        
        //录入String型字符串
​
        String data2 = sc.next();
        System.out.println("data2 = " + data2);
    }
}
==================================================
    public class Demo01Scanner {
    public static void main(String[] args) {
       Scanner sc = new Scanner(System.in);
        System.out.println("请输入三个人的年龄,并输出最大的年龄:");
        int old1 = sc.nextInt();
        int old2 = sc.nextInt();
        int old3 = sc.nextInt();
​
        int temp = old1>old2?old1:old2;
        int max  = temp>old3?temp:old3;
        System.out.println("max = " + max);
    }
}
变量名.next():录入字符串 -> 遇到空格和回车就结束录入了
变量名:nextLine():录入字符串 -> 遇到回车就结束录入了 
    public class Demo03Scanner {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String data1 = sc.next();
        String data2 = sc.nextLine();
​
        System.out.println(data1);
        System.out.println(data2);
    }
}
报错:
Exception in thread "main" java.util.InputMismatchException -> 输入类型不匹配
    at java.base/java.util.Scanner.throwFor(Scanner.java:964)
    at java.base/java.util.Scanner.next(Scanner.java:1619)
    at java.base/java.util.Scanner.nextInt(Scanner.java:2284)
    at java.base/java.util.Scanner.nextInt(Scanner.java:2238)
    at com.fuxuan.a_Scanner.Demo04Scanner.main(Demo04Scanner.java:8)

第二章.Random

学习 Random和 Scanner的方式一样

1.概述:Java自带的一个类
2.作用:可以在指定的范围内随机一个数
3.位置:Java.util
4.使用:
    a.导包:import java.uitl.Random
    b.创建对象:
        Random 变量名 = new Random()
    c.调用方法:
        变量名.nextInt() -> 在int的取值范围内随机一个整数
public class Demo01Random {
    public static void main(String[] args) {
        //创建对象
        Random ra = new Random();
        int data = ra.nextInt();
        System.out.println("data = " + data);
    }
}
在指定范围内指定一个数:
nextInt(int bound) -> 在0 -(bound-1)
​
a.nextInt(10) -> 0-9
b.在1-10之间随机一个数:nextInt(10)+1 -> (0-9)+1  1-10
c.在1-100之间随机一个数:nextInt(100)+1 -> (0-99)+1 1-100
d.在100-999之间随机一个数:nextInt(900)+100 -> (0-899)+100 -> 100-999     
public class Demo02Random {
    public static void main(String[] args) {
        //创建对象
        Random rd = new Random();
        //在1-100之间随机一个数
        int data1 = rd.nextInt(100)+1;
        System.out.println("data = " + data1);
        //在100-999之间随机一个数
        int data2 = rd.nextInt(900)+1;
        System.out.println("data2 = " + data2);
    }
}

第三章.switch(选择语句)

学switch if 循环必须先掌握定义格式,然后掌握执行流程(带一个数进去,根据执行流程观察值的变化)

1.switch基本使用

1.格式:
    switch(变量){
        case 常量值1:
            执行语句1;
            break;
            
        case 常量值2:
            执行语句2;
            break;
            
        case 常量值3:
            执行语句3;
            break; 
            ...
           default:
            执行语句n:
            break;
    }
2.执行流程:
    用变量接受的值和下面的case后面的常量值匹配,匹配上哪个case就执行哪个case对应的语句
    如果都匹配不上就执行default对应的语句n
        
3.break关键字:代表的是结束switch语句 
    
4.注意:switch能匹配什么类型的数据:
    byte short int char String型 枚举类型
    
    public class Demo01Switcth {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数:");
        int data =sc.nextInt();
        switch (data){
            case 1:
                System.out.println("鹅鹅鹅");
                break;
            case 2:
                System.out.println("曲项向天歌");
                break;
            case 3:
                System.out.println("白毛浮绿水");
                break;
            case 4:
                System.out.println("红掌拨清波");
                break;
        }
    }
}
​

2.case的穿透性

1.case下如果没有break语句,代码就会一直输出下去,直到有break出现或者程序结束.
    
    public class Demo02Switch {
    public static void main(String[] args) {
        Scanner sc= new Scanner(System.in);
        System.out.println("请输入一个月份:");
        int mouth = sc.nextInt();
        switch (mouth){
            case 12:
            case 1:
            case 2:
                System.out.println("冬季");
                break;
                
            case 3:
            case 4:
            case 5:
                System.out.println("春季");
                break;
                
            case 6:
            case 7:
            case 8:
                System.out.println("夏季");
                break;
                
            case 9:
            case 10:
            case 11:
                System.out.println("秋季");
                break;
                
            default:
                System.out.println("你家有这个月份?");
        }
    }
}

第四章.分支语句

if的第一种格式

1.格式
    if(boolean表达式){
        执行语句;
}
2.执行流程
    先走if后面的boolean表达式,如果是true,就走if后面大括号中的执行语句,否则就被不走
    
3.注意
    if后面跟的是boolean表达式,只要是结果是boolean型,都可以放在小括号中,哪怕直接写一个true或者false
    
    public class Demo01If {
    public static void main(String[] args) {
        Scanner sc  = new Scanner(System.in);
        System.out.println("请输入两个整数:");
        int data1 = sc.nextInt();
        int data2 = sc.nextInt();
        if(data1 == data2){
            System.out.println("两个整数相等");
        }
    }
}
  • 26
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值