java零基础入门学习第三天——相关笔记

本文介绍了Java编程中导包的三种方式,包括手动导入、自动生成和快捷键应用,接着详细讲解了Scanner类的使用和求和案例,最后深入剖析了顺序结构、选择结构(if-else和switch)在控制代码流程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java03

导包的三种方式:

1.手动导包

2.点击鼠标自动生成

3.快捷键:Alt+Enter

Scanner的基本使用

Scanner:扫描器,即可以通过Scanner类扫描用户的控制台录入的数据

录入步骤(格式都是固定的,除了接收数据的变量名(i)自定义,其他都不变,否则结果就不对):

1.导包(使用Scanner类,需要先导包,位置在类定义的上面)

import java.util.Scanner;

2.创建键盘录入对象(使用一个类前,要先创建它的对象)

Scanner sc = new Scanner(System.in);

3.接受数据(接受用户输入的数据并赋值给指定变量(如int类型)),在此步骤之前可以给以提示(请输入),最后就将获得的数据打印输出

int i = sc.nextInt();
package cn.hjh.demo;
//1.导包(在类代码的前面导入)
import java.util.Scanner;
public class ScannerDemo {
    public static void main(String[] args) {
        //2.创建键盘录入对象
        Scanner sc = new Scanner(System.in);

        //提示用户输出数据
        System.out.println("请输入一个整数");
        //若不给用户提示的话,用户不输入数据,程序会一直在运行(左侧的小方块呈红色)
        //3.接受数据
        int i = sc.nextInt();
        //将用户录入的数据打印到控制台
        System.out.println("i:"+i);
    }
}

求和案例:

package cn.hjh.demo;
//1.导包
import java.util.Scanner;
public class ScannerDemo2 {
    public static void main(String[] args) {
        //键盘录入两个整数,求它们的和
        //2.创建键盘录入对象
        Scanner sc = new Scanner(System.in);
        //3.提示用户输入数据,输入完毕后点Enter
        System.out.println("请输入第一个整数");
        int a = sc.nextInt();
        System.out.println("请输入第二个整数");
        int b = sc.nextInt();
        //4.计算整数和
        int sum = a + b;
        //5.打印结果
        System.out.println("sum:"+sum);
    }
}
流程控制

Java流程控制结构:

1.顺序结构

2.选择(判断)结构

3.循环结构:重复操作

流程控制结构的概念:

主要描述的就是代码的执行顺序。可以让所有的代码都执行,也可以让代码在满足某些条件的情况下再执行。可以只执行一次,也可以执行无限次。(程序的结果跟代码的执行顺序紧密相关,通过使用一些特定的语句控制代码的执行顺序从而完成特定的功能,这就是流程控制结构)

顺序结构:即程序按照代码的顺序从上往下、从左往右依次执行的代码结构,是最简单的流程控制结构,不需要特定的语句,程序的大多数代码都是这样执行的
选择(判断)结构:根据不同的条件选择不同的代码来执行的代码结构。先判断条件是否成立,条件成立则执行一部分代码,不成立则执行另外一部分代码或者结束程序。(例子:上楼,先判断电梯是否能用,能用则选择搭电梯,否则走楼梯上楼)

选择结构的分类:

1.if语句(三种格式):

​ if一般用做区间值的判断,比如

​ 当前时间7~9点,小A和你说“早上好”;

​ 当前时间10~12点,小A和你说“早上好”;

第一种格式:

if(关系表达式) {

​ //语句体

}

package cn.hjh.demo;
/*
    格式一:
    if(关系表达式) {
     //语句体
    }
    执行流程:
    如果关系表达式成立,则执行语句体
    如果关系表达式不成立,则不执行语句体
 */
public class IfDemo {
    public static void main(String[] args) {
        System.out.println("开始执行");
        int a = 10;
//        int b = 20;
        int b = 10;
        if (a==b) {
            System.out.println("a=b");
        }
        //a不等于b,则if语句体不执行,控制台没有打印输出
        //a等于b,则if语句体执行,控制台打印输出结果
        System.out.println("执行结束");
    }
}

第二种格式:

if(关系表达式) {

​ //语句体1

}else {

​ //语句体2

}

执行流程:

​ 先判断关系表达式,看其是否成立(true:成立;false:不成立)
​ 如果关系表达式成立,则执行语句体1
​ 如果关系表达式不成立,则执行语句体2

相当于三目运算符:a=b?a:b;

package cn.hjh.demo;
/*
    格式二:
    if(关系表达式) {
     //语句体1
    }else {
     //语句体2
    }
    执行流程:
    先判断关系表达式,看其是否成立(true:成立;false:不成立)
    如果关系表达式成立,则执行语句体1
    如果关系表达式不成立,则执行语句体2
 */
public class IfDemo2 {
    public static void main(String[] args) {
        System.out.println("开始执行");
        //需求:判断两个整数是否相等,相等则打印相等,反之则是不相等
        int a = 10;
        int b = 20;
        if (a==b) {		//	if:如果
            System.out.println("相等");
        }else {		//else:否则
            System.out.println("不相等");
        }
        System.out.println("执行结束");
    }
}

第三种格式:

if(关系表达式1) {

​ //语句体1

}else **if **(关系表达式2) {

​ //语句体2

}else **if **(关系表达式3) {

​ //语句体3

}//……

else {

}

执行流程:

​ 先判断关系表达式1是否成立(true:成立;false:不成立)
​ 如果关系表达式1成立,则执行语句体1
​ 不成立,则判断关系表达式2,是否成立,
​ 如果关系表达式成立,则执行语句体2
​ 不成立,则判断关系表达式3,是否成立,
​ 依次类推

package cn.hjh.demo;
/*
    第三种格式:

    if (关系表达式1) {
     //语句体1
    }else if (关系表达式2) {
     //语句体2
    }else if (关系表达式3) {
     //语句体3
    }//……
    else {
    }
    执行流程:
    先判断关系表达式1是否成立(true:成立;false:不成立)
    如果关系表达式1成立,则执行语句体1
    不成立,则判断关系表达式2,是否成立,
    如果关系表达式成立,则执行语句体2
    不成立,则判断关系表达式3,是否成立,
    依次类推
 */
public class IfDemo4 {
    public static void main(String[] args) {
        //需求:与智能机器人交流
        //当输入数字0~12,小A和你说“上午好”;
        //当输入数字13~18,小A和你说“下午好”;
        //当输入数字19~24,小A和你说“晚上好”;
        //当输入其他数字时,小A和你说:没有这个时间段
        //1.定义变量,记录时间
        int t = 8;      //测试数据:正确数据,边界值,错误数据
        //2.小A根据你的时间和你打招呼
        if (t >= 0 && t <= 12) {
            System.out.println("上午好");
        } else if (t >= 13 && t<= 18) {
            System.out.println("下午好");
        } else if (t <= 19 && t >= 24) {
            System.out.println("晚上好");
        } else {
            System.out.println("没有这个时间段");
        }
    }
}

结合前面学的Scanner:

package cn.hjh.demo;

import java.util.Scanner;
public class IfDemo3 {
    public static void main(String[] args) {
        //需求:与智能机器人交流
        //当输入数字0~12,小A和你说“上午好”;
        //当输入数字13~18,小A和你说“下午好”;
        //当输入数字19~24,小A和你说“晚上好”;
        //当输入其他数字时,小A和你说:没有这个时间段
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入时间点");
        int t = sc.nextInt();
        if (0 <= t && t <=12) {
            System.out.println("上午好");
        }else if (13 <= t && t <= 18) {
            System.out.println("下午好");
        }else if (19 <= t && t <= 24) {
            System.out.println("晚上好");
        }else {
            System.out.println("没有这个时间段");
        }

    }
}

if语句案例之获取两个整数的较大值:

package cn.hjh.demo;
import java.util.Scanner;
public class IfDemo5 {
    public static void main(String[] args) {
        //需求:键盘录入两个数据,获取这两个数据的最大值
        //1.创建键盘录入对象,以便接受用户录入的数据(包含:导包,创建对象)
        Scanner sc = new Scanner(System.in);
        //2.提示用户输入两个整数,并接受
        System.out.println("请输入第一个整数");
        int a = sc.nextInt();
        System.out.println("请输入第二个整数");
        int b = sc.nextInt();
        //3.定义变量,记录最大值
        int max;
        //4.通过if……else语句,判断两个整数的最大值
        if (a>b) {
            max = a;
//            System.out.println("max:"+a);
        }else {
            max = b;
//            System.out.println("max:"+b);
        }
        //5.将结果打印到控制台上
        System.out.println("最大值为:"+max);
    }
}

if语句案例之根据学生成绩输出对应级别:

package study.demo;
import java.util.Scanner;

public class IfDemo6 {
    public static void main(String[] args) {
        /*需求:键盘录入学生成绩,根据成绩判断学生的级别
            90~100          大神
            80~89           优秀
            70~79           良好
            60~69           及格
            0~59            不及格
        */
        //1.创建键盘录入对象
        Scanner sc = new Scanner(System.in);
        //2.提醒学生录入成绩,并接受
        System.out.println("请输入学生成绩");
        int s = sc.nextInt();
        //3.根据输入的成绩与条件进行比较,按照要求进行输出即可
        if (s>=90&&s<=100) {
            System.out.println("王者");
        } else if (s>=80&&s<=89) {
            System.out.println("星耀");
        } else if (s>=60&&s<=79) {
            System.out.println("钻石");
        } else if (s>=0&&s<=59) {
            System.out.println("铂金");
        } else {
            System.out.println("你就个青铜");
        }
    }
}

2.switch语句:转换,切换

​ 一般用做固定值的判断,

​ 你说“星期一”,小A说“Monday”;

​ 你说“星期五”,小A说“Friday”;

格式:

switch(表达式) {

​ case值1:

​ 语句体1;

​ break;

​ case值2:

​ 语句体2;

​ break;

​ case值3:

​ 语句体3;

​ break;

​ ……

​ case值n:

​ 语句体n;

​ break;

​ default:

​ 语句体;

​ break; //可写可不写

}

switch(表达式):表达式的取值类型:byte,short,iny,char;JDK5以后可以是枚举;JDK7以后可以是String(双引号内的内容)

枚举是指一系列数目可数的数据。比如每周的星期,每年的月份。

case值:case后面跟的是要和表达式进行比较的值

语句体:语句体部分可以是一条或多条语句

break:表示中断,结束的意思,可以结束switch语句

default:表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。

switch案例:

package study.demo;

import java.util.Scanner;

public class SwitchDemo {
    public static void main(String[] args) {
        //需求:键盘录入数字,根据数字打印其对应的星期
        //1.创建键盘录入对象,以便接受用户录入的数据
        Scanner sc = new Scanner(System.in);
        
        //2.提示用户输入数字,并接受数据
        System.out.println("请输入数字");
        int number = sc.nextInt();

        //3.根据用户录入的数字,打印对应的日期,通过switch语句实现
        switch (number) {
            case 1:
                System.out.println("星期一");
                break;
            case 2:
                System.out.println("星期二");
                break;
            case 3:
                System.out.println("星期三");
                break;
            case 4:
                System.out.println("星期四");
                break;
            case 5:
                System.out.println("星期五");
                break;
            case 6:
                System.out.println("星期六");
                break;
            case 7:
                System.out.println("星期七");
                break;
            default:
                System.out.println("没有这个星期数");
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值