初来乍到,承蒙关照
啦啦啦啦啦~~~~~~

我在B站上大学😄

学习至:狂神说Java

1. 用户交互Scanner

基础语法:

Scanner scanner = new Scanner(System.in);
String a = scannr.next();
scanner.close();

通过Scanner类的next()与nextLine()方法获取输入的字符串;

在读取前我们一般需要使用hasNext()或hasNextLine()判断是否还有输入的数据。

next()与nextLine()区别

next() 在读取到第一个有效字符(前边的空格自动去掉)后,遇到空白就会停止读取,此处空白包括空格和回车

nextLine() 回车才是结束符,可以读取回车前的所有字符,包括空格

eg1:

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();
    }
}
使用next方式接收:
hello world
输出内容为:hello

进程已结束,退出代码0

eg2:

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();
    }
}
使用nextline方式接收:
hello world
输出的内容为:hello world

进程已结束,退出代码0

eg3:

public class Demo03 {
    public static void main(String[] args){
        //从键盘接收数据
        Scanner scanner = new Scanner(System.in);

        System.out.println("请输入数据:");

        String str = scanner.nextLine();

        System.out.println("输出的内容为:"+str);

        scanner.close();
    }
}
请输入数据:
Hello World!
输出的内容为:Hello World!

进程已结束,退出代码0

eg4:

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();
    }
}
请输入整数:
12
整数数据:12
请输入小数:
1.3
小数数据:1.3

进程已结束,退出代码0
请输入整数:
1.2
数据不是整数
请输入小数:
小数数据:1.2

进程已结束,退出代码0

eg5:

public class Demo05 {
    public static void main(String[] args){

        System.out.println("请输入任意个数,用空格或回车区分,非数字结束输入,输出为和与均值");
        //输入多个数字,并求助其总和和均值,每输入一个数用回车确认,通过输入非数字结束输入,并输出执行结果
        Scanner scanner = new Scanner(System.in);
        //和
        double sum = 0;
        //计算输入了多少个数
        int m = 0;

        //通过循环判断是否还有输入,并在里边进行累次求和
        while (scanner.hasNextDouble()){
            double x = scanner.nextDouble();
            sum = sum + x;
            m++;
        }
        System.out.println(m + "个数的和为:"+ sum);
        System.out.println(m+ "个数的均值为:"+(sum/m));
        scanner.close();

    }
}
请输入任意个数,用空格或回车区分,非数字结束输入,输出为和与均值
1  2 3 5 7 9 34 56 78
87 流
10个数的和为:282.0
10个数的均值为:28.2

进程已结束,退出代码0

注:

Scanner对象不是只能接收字符串数据,也能接收整型,浮点型,布尔型等其他基本数值类型数据,对 应的方法有,nextInt()、nextByte()、nextLong()、nextBoolean()等,对应的判断同样在 前面加has就行(注意命名规范)

2. if 条件语句

if单选择结构

语法:

if(布尔表达式){
布尔表达式为True时执行的语句;
}

eg:

public class IfDemo1 {
    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();
    }
}
请输入内容:
cvjkc
End

进程已结束,退出代码0

if双选择结构

语法:

if(布尔表达式){
布尔表达式为True时执行的语句;
}else{
布尔表达式为Flase时执行的语句;
}

eg:

public class IfDemo02 {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入成绩: ");
        double score = scanner.nextDouble();
        if(score >= 60){
           System.out.println("恭喜您! 及格");
        }
        else{
            System.out.println("很遗憾, 您没有及格, 望再接再厉!");
        }
        scanner.close();
    }
}
请输入成绩: 
89
恭喜您! 及格

进程已结束,退出代码0

if多选择结构

语法:

if(布尔表达式1){
布尔表达式1为True时执行的语句;
}else if(布尔表达式2){
布尔表达式2为True时执行的语句;
}else if(布尔表达式3){
布尔表达式3为True时执行的语句;
    .......
}else{
以上布尔表达式都不为True执行的语句;
}

eg:

public class IfDemo03 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入成绩: ");
        double score = scanner.nextDouble();
        if(score >= 90 && score <= 100){
            System.out.println("恭喜! 您的成绩为优秀");
        }
        else if (score >= 80 && score <90){
            System.out.println("恭喜! 您的成绩为良好");
        }
        else if (score >= 70 && score < 80) {
            System.out.println("您的成绩为中等");
        }
        else if (score >= 60 && score <70) {
            System.out.println("您的成绩为及格");
        }
        else if (score >= 0 && score < 60){
            System.out.println("很遗憾, 您没有及格, 望再接再厉!");
        }
        else {
            System.out.println("成绩应在0~100分之间");
        }

        scanner.close();
    }
}
请输入成绩: 
102
成绩应在0~100分之间

进程已结束,退出代码0

嵌套的if选择结构

语法:

if(布尔表达式1){
布尔表达式1为True时执行的语句;

   if(布尔表达式2){
    布尔表达式1为True时执行的语句;
    }
}
else {
布尔表达式1为Flase时执行的语句;
}

eg:

import java.util.Random;
/**
 * 随机生成一个0~100的整数,再判断生成的数是多少
 *
 * @version 1.00
 * @autor liunian
 * @date 2023.7.12
 */
public class IfDemo04 {
    public static void main(String[] args) {
        // 创建 Random 对象
        Random random = new Random();
        // 生成随机数
        int r = random.nextInt(101); // 生成范围在 0 到 100 之间的随机整数

        //判断这个100以内的随机整数具体是几
        if (r<=50){
            if (r<=25) {
                if (r <= 13) {
                    if (r <= 6) {
                        if (r <= 3) {
                            switch (r) {
                                case 0:
                                    System.out.println("判断生成的随机数为:0");
                                    break;
                                case 1:
                                    System.out.println("判断生成的随机数为:1");
                                    break;
                                case 2:
                                    System.out.println("判断生成的随机数为:2");
                                    break;
                                default:
                                    System.out.println("判断生成的随机数为:3");
                            }//0~3
                        } 
                        else {
                            switch (r) {
                                case 4:
                                    System.out.println("判断生成的随机数为:4");
                                    break;
                                case 5:
                                    System.out.println("判断生成的随机数为:5");
                                    break;
                                default:
                                    System.out.println("判断生成的随机数为:6");
                            }//4~6
                        }
                    } 
                    else {
                        if (r > 9) {
                            switch (r) {
                                case 10:
                                    System.out.println("判断生成的随机数为:10");
                                    break;
                                case 11:
                                    System.out.println("判断生成的随机数为:11");
                                    break;
                                case 12:
                                    System.out.println("判断生成的随机数为:12");
                                    break;
                                default:
                                    System.out.println("判断生成的随机数为:13");
                            }//9~13
                        } 
                        else {
                            switch (r) {
                                case 7:
                                    System.out.println("判断生成的随机数为:7");
                                    break;
                                case 8:
                                    System.out.println("判断生成的随机数为:8");
                                    break;
                                default:
                                    System.out.println("判断生成的随机数为:9");
                            }//7~9
                        }
                    }
                } 
                else {
                    if (r >= 20) {
                        switch (r) {
                            case 20:
                                System.out.println("判断生成的随机数为:20");
                                break;
                            case 21:
                                System.out.println("判断生成的随机数为:21");
                                break;
                            case 22:
                                System.out.println("判断生成的随机数为:22");
                                break;
                            case 23:
                                System.out.println("判断生成的随机数为:23");
                                break;
                            case 24:
                                System.out.println("判断生成的随机数为:24");
                                break;
                            default:
                                System.out.println("判断生成的随机数为:25");
                        }
                    }//20~25
                    else {
                        switch (r) {
                            case 14:
                                System.out.println("判断生成的随机数为:14");
                                break;
                            case 15:
                                System.out.println("判断生成的随机数为:15");
                                break;
                            case 16:
                                System.out.println("判断生成的随机数为:16");
                                break;
                            case 17:
                                System.out.println("判断生成的随机数为:17");
                                break;
                            case 18:
                                System.out.println("判断生成的随机数为:18");
                                break;
                            default:
                                System.out.println("判断生成的随机数为:19");
                        }
                    }//14~19
                }
            }
        else/*26~50*/{
            if (r<=38)/*26~38*/{
                if (r<=31){
                    switch(r) {
                        case 26:
                            System.out.println("判断生成的随机数为:26");
                            break;
                        case 27:
                            System.out.println("判断生成的随机数为:27");
                            break;
                        case 28:
                            System.out.println("判断生成的随机数为:28");
                            break;
                        case 29:
                            System.out.println("判断生成的随机数为:29");
                            break;
                        case 30:
                            System.out.println("判断生成的随机数为:30");
                            break;
                        default:
                            System.out.println("判断生成的随机数为:31");
                    }//26~31
                }
                else{
                    switch(r) {
                        case 32:
                            System.out.println("判断生成的随机数为:32");
                            break;
                        case 33:
                            System.out.println("判断生成的随机数为:33");
                            break;
                        case 34:
                            System.out.println("判断生成的随机数为:34");
                            break;
                        case 35:
                            System.out.println("判断生成的随机数为:35");
                            break;
                        case 36:
                            System.out.println("判断生成的随机数为:36");
                            break;
                        case 37:
                            System.out.println("判断生成的随机数为:37");
                            break;
                        default:
                            System.out.println("判断生成的随机数为:38");
                    }//32~38
                }
            }
            else/*39~50*/{
               if (r<=44) {
                   switch (r) {
                       case 39:
                           System.out.println("判断生成的随机数为:39");
                           break;
                       case 40:
                           System.out.println("判断生成的随机数为:40");
                           break;
                       case 41:
                           System.out.println("判断生成的随机数为:41");
                           break;
                       case 42:
                           System.out.println("判断生成的随机数为:42");
                           break;
                       case 43:
                           System.out.println("判断生成的随机数为:43");
                           break;
                       default:
                           System.out.println("判断生成的随机数为:44");
                   }//39~44
               }
               else{
                   switch(r) {
                       case 45:
                           System.out.println("判断生成的随机数为:45");
                           break;
                       case 46:
                           System.out.println("判断生成的随机数为:46");
                           break;
                       case 47:
                           System.out.println("判断生成的随机数为:47");
                           break;
                       case 48:
                           System.out.println("判断生成的随机数为:48");
                           break;
                       case 49:
                           System.out.println("判断生成的随机数为:49");
                           break;
                       default:
                           System.out.println("判断生成的随机数为:50");
                   }//45~50
               }
            }

        }
        }
        else{
            if (r<=76) {
                if (r <= 64) {
                    if (r <= 57) {
                        if (r <= 54) {
                            switch (r) {
                                case 51:
                                    System.out.println("判断生成的随机数为:51");
                                    break;
                                case 52:
                                    System.out.println("判断生成的随机数为:52");
                                    break;
                                case 53:
                                    System.out.println("判断生成的随机数为:53");
                                    break;
                                default:
                                    System.out.println("判断生成的随机数为:54");
                            }//51~54
                        } 
                        else {
                            switch (r) {
                                case 55:
                                    System.out.println("判断生成的随机数为:55");
                                    break;
                                case 56:
                                    System.out.println("判断生成的随机数为:56");
                                    break;
                                default:
                                    System.out.println("判断生成的随机数为:57");
                            }//55~57
                        }
                    }
                    else {
                        if (r <=61) {
                            switch (r) {
                                case 58:
                                    System.out.println("判断生成的随机数为:58");
                                    break;
                                case 59:
                                    System.out.println("判断生成的随机数为:59");
                                    break;
                                case 60:
                                    System.out.println("判断生成的随机数为:60");
                                    break;
                                default:
                                    System.out.println("判断生成的随机数为:61");
                            }//58~61
                        }
                        else {
                            switch (r) {
                                case 62:
                                    System.out.println("判断生成的随机数为:62");
                                    break;
                                case 63:
                                    System.out.println("判断生成的随机数为:63");
                                    break;
                                default:
                                    System.out.println("判断生成的随机数为:64");
                            }//62~64
                        }
                    }
                }
                else {
                    if (r <=70) {
                        switch (r) {
                            case 65:
                                System.out.println("判断生成的随机数为:65");
                                break;
                            case 66:
                                System.out.println("判断生成的随机数为:66");
                                break;
                            case 67:
                                System.out.println("判断生成的随机数为:67");
                                break;
                            case 68:
                                System.out.println("判断生成的随机数为:68");
                                break;
                            case 69:
                                System.out.println("判断生成的随机数为:69");
                                break;
                            default:
                                System.out.println("判断生成的随机数为:70");
                        }
                    }//65~70
                    else {
                        switch (r) {
                            case 71:
                                System.out.println("判断生成的随机数为:71");
                                break;
                            case 72:
                                System.out.println("判断生成的随机数为:72");
                                break;
                            case 73:
                                System.out.println("判断生成的随机数为:73");
                                break;
                            case 74:
                                System.out.println("判断生成的随机数为:74");
                                break;
                            case 75:
                                System.out.println("判断生成的随机数为:75");
                                break;
                            default:
                                System.out.println("判断生成的随机数为:76");
                        }
                    }//71~76
                }
            }
            else/*76~100*/{
                if (r<=89)/*26~38*/{
                    if (r<=82){
                        switch(r) {
                            case 77:
                                System.out.println("判断生成的随机数为:77");
                                break;
                            case 78:
                                System.out.println("判断生成的随机数为:78");
                                break;
                            case 79:
                                System.out.println("判断生成的随机数为:79");
                                break;
                            case 80:
                                System.out.println("判断生成的随机数为:80");
                                break;
                            case 81:
                                System.out.println("判断生成的随机数为:81");
                                break;
                            default:
                                System.out.println("判断生成的随机数为:82");
                        }//77~82
                    }
                    else{
                        switch(r) {
                            case 83:
                                System.out.println("判断生成的随机数为:83");
                                break;
                            case 84:
                                System.out.println("判断生成的随机数为:84");
                                break;
                            case 85:
                                System.out.println("判断生成的随机数为:85");
                                break;
                            case 86:
                                System.out.println("判断生成的随机数为:86");
                                break;
                            case 87:
                                System.out.println("判断生成的随机数为:87");
                                break;
                            case 88:
                                System.out.println("判断生成的随机数为:88");
                                break;
                            default:
                                System.out.println("判断生成的随机数为:89");
                        }//83~89
                    }
                }
                else/*90~100*/{
                    if (r<=95) {
                        switch (r) {
                            case 90:
                                System.out.println("判断生成的随机数为:90");
                                break;
                            case 91:
                                System.out.println("判断生成的随机数为:91");
                                break;
                            case 92:
                                System.out.println("判断生成的随机数为:92");
                                break;
                            case 93:
                                System.out.println("判断生成的随机数为:93");
                                break;
                            case 94:
                                System.out.println("判断生成的随机数为:94");
                                break;
                            default:
                                System.out.println("判断生成的随机数为:95");
                        }//90~95
                    }
                    else{
                        switch(r) {
                            case 96:
                                System.out.println("判断生成的随机数为:96");
                                break;
                            case 97:
                                System.out.println("判断生成的随机数为:97");
                                break;
                            case 98:
                                System.out.println("判断生成的随机数为:98");
                                break;
                            case 99:
                                System.out.println("判断生成的随机数为:99");
                                break;
                            default:
                                System.out.println("判断生成的随机数为:100");
                        }//96~100
                    }
                }

            }
        }
        System.out.println("实际生成的随机数为: " + r);
    }
}
判断生成的随机数为:20
实际生成的随机数为: 20

进程已结束,退出代码0

3. switch选择结构

语法:

switch(变量){
case value1:
语句1;
// break; //可选
case value2:
语句2;
// break; //可选
...
default: //可选
语句n;
}

eg: 见if嵌套的例题

注意:不写break会有case穿透现象,某value x满足条件,如果该语句中没有break,则不仅会执行语 句x,下方的语句x+1等也会执行,直至出现break跳出或执行到结尾为止。

posted on 2023-07-12 21:21  绿萝佛裳  阅读(8)  评论(0编辑  收藏  举报