java_day3_Scanner,顺序结构,选择结构(if,switch),循环结构(for,while),

一、Scanner

键盘录入:程序运行过程中,用户可以根据自己的需求输入参与运算的值

实现键盘录入的步骤
1、导包
2、创建键盘录入对象
3、调用方法实现键盘录入
1)输入整数
2)输入字符串

public class ScannerDemo1 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数:");
        int i = sc.nextInt(); // 程序运行到这一步的时候,发生阻塞,等待用户输入一个整数
        System.out.println("用户输入的内容是:" + i);
        System.out.println("请输入二个整数:");
        int i2 = sc.nextInt();
        System.out.println("用户输入的内容是:" + i2);
        System.out.println("两个数之和为:" + (i + i2));
        System.out.println("请输入您的姓名: ");
        String name = sc.next();
        System.out.println("请输入您的年龄: ");
        int age = sc.nextInt();
        System.out.println("姓名:" + name + ", 年龄:" + age);
    }
}

二、顺序结构

顺序结构:按照编写代码的顺序,自上而下执行

public class ShunXuDemo {
    public static void main(String[] args) {
        //顺序结构:按照编写代码的顺序,自上而下执行
        System.out.println("Hello World1");
        System.out.println("Hello World2");
        System.out.println("Hello World3");
        System.out.println("Hello World4");
        System.out.println("Hello World5");
        System.out.println("Hello World6");
        System.out.println("Hello World7");
    }
}

三、if选择结构

选择结构:
if选择语句
switch选择语句

if选择语句:
if语句定义格式1:
if(关系表达式){
语句体;
}
if语句定义格式2:
if(关系表达式){
语句体1;
}else{
语句体2;
}
if语句定义格式3:
if(关系表达式1){
语句体1;
}else if(关系表达式2){
语句体2;
}...{
语句体n;
}else{
语句体n+1;
}
注意事项:
1、if小括号中的语句,可以很复杂,但是最终的结果一定是boolean类型
2、只有当if语句体中的语句只有一行的时候,大括号才可以省略
3、小括号后面可以添加分号,相当于if语句拥有一个空的语句体

注意:
if-else语句中,只会执行其中某一个语句体,不会同时都执行!

/*
   需求:
        1、通过把学生考试成绩分等级来引出if语句的第三种格式
            90-100	优秀
            80-90	好
            70-80	良
            60-70	及格
            60一下	不及格
*/
public class IfDemo3 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入江川的考试成绩:");
        int score = sc.nextInt();

        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("成绩有误!");
        }

    }
}

四、switch选择结构

switch选择语句:
语句定义格式:
switch(表达式){
case 常量值1:
表达式1;
break;
case 常量值2:
表达式2;
break;
...
default:
表达式n;
break;

}
执行流程:严格按照下面的流程执行。
1、先计算表达式中的值
2、然后拿着计算出来的值自上而下匹配所有的case,当某一个case后面的常量值与计算出来的值一样的时候,
执行其中的语句体,遇到break,结束整个switch语句.
3、当所有的case都不匹配的时候,执行default中的语句体,当遇到break的时候,结束整个switch语句.

注意:
1、表达式的取值:byte,short,int,char,枚举,String
2、case后面只能跟常量,不能是变量
3、break能不写,但是会发生switch穿透!
4、default语句可以不写,为了程序的严谨性,最好加上
5、default语句可以放在switch语句中的任意位置

import java.util.Scanner;
public class SwitchDemo {
    public static void main(String[] args) {
//        3.    根据月份,输出对应的季节,并输出至少两个描述该季节的成语和活动。
        Scanner sc =new Scanner(System.in);
        int season = sc.nextInt();
        switch (season) {
            case 12:
            case 1:
            case 2:
                System.out.println("冬季");
                System.out.println("银装素裹,白雪皑皑");
                System.out.println("打雪仗,堆雪人");
            case 3:
            case 4:
            case 5:
                System.out.println("春季");
                System.out.println("春暖花开,鸟语花香");
                System.out.println("春游,赏花");
            case 6:
            case 7:
            case 8:
                System.out.println("夏季");
                System.out.println("烈日炎炎,汗流浃背");
                System.out.println("游泳,吃雪糕");
            case 9:
            case 10:
            case 11:
                System.out.println("秋季");
                System.out.println("秋风飒飒,落叶归根");
                System.out.println("赏菊,登高");
        }
    }
}

五、for循环

for循环:
语句定义格式:
for(初始化语句;判断条件语句;控制条件语句){
循环体语句;
}

注意事项:
1、初始化条件语句,有且仅执行一遍
2、初始化条件语句可以写在for循环的外面,和定义在for循环内部时比较,作用域不同
3、大括号可以省略,但是省略后只能作用在第一条语句上
4、判断条件语句能否不写?可以不写,但是会变成死循环
5、控制条件语句也可以不写,但是可能会是死循环

一个最简单的for死循环:
for(;😉{
....
}

//键盘录入一个数据n(1<=n<=9),输出对应的nn乘法表
import java.util.Scanner;
public class Demo3 {
    public static void main(String[] args) {
        Scanner sc =new Scanner(System.in);
        System.out.println("请输入一个1到9的数字:");
        int n =sc.nextInt();
        nnMultiplication(n);
    }
    public static void nnMultiplication(int n){
        for(int i=1;i<=n;i++){
            for(int j=1;j<=i;j++){
                System.out.print(j+"*"+i+"="+(j*i)+"\t");
            }
            System.out.println();
        }
    }
}

六、while循环

while循环:
语句定义格式1:
初始化条件语句;
while(判断条件语句){
循环体语句;
控制条件语句;
}

语句定义格式2:
初始化条件语句;
do{
循环体语句;
控制条件语句;
}while(判断条件语句);

注意:
1、while循环可以和for循环等价转换
2、for循环和while循环的使用场景:
for循环适合明确的范围内循环
当循环次数不明确获取就是要求次数的时候,优先考虑while循环

/*
    我国最高山峰是珠穆朗玛峰:8848m,我现在有一张足够大的纸张,厚度为:0.01m。
    请问,我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度?


 */
public class WhileDemo {
    public static void main(String[] args) {
        int high = 884800;
        int thickness = 1;
        int count = 0;
        while (thickness<high){
            thickness *=2;
            count++;
        }

        System.out.println("共折叠 "+count+"次");
    }
}

七、break

跳转控制语句:
break关键字
continue
return

break: 打破,打碎,终止

使用break的注意事项:
1、break的使用需要在特定的场景下使用才有意义
2、break只能在switch选择语句或者循环中使用

八、continue

不能单独使用,需要在特定的场景下使用 ,只能在循环中使用
结束当次循环,继续下一次循环

九、return

return必须在方法中写,一个方法只会有一个return生效,表示结束整个方法

posted @ 2024-09-19 21:55  w我自横刀向天笑  阅读(51)  评论(0)    收藏  举报