学习目标
1、能够说出常见的运算符有哪几种
算术运算符:+-*/%
赋值运算符:=,+=,-=,*=,/=,%=
自增自减: ++(本身+1),--(本身-1)
关系运算符:==(判断是否相等),!=(判断是否不相等),>,>=,<,<=
逻辑运算符: &&:有false则false ||:有true则true !:非真则假,非假则真
三元运算符: 数据类型 变量名 = 布尔表达式 ? 表达式1:表达式2;
2、能够知道除法和取余的区别
/:除法==>两个数相除,求商 10/3=3
%:取余==>两个数相除,求余数 10%3=1
3、能够完成字符和字符串的加法
字符的加法:字符底层是一个整数 'a':97 'A':65 '0':48 'a'+10=97+10=107
字符串加法:任何数据类型的数据和字符串相加,结果都是一个字符串 "hello"+1+2==>"hello12"
注意:byte,short,char类型的数据在参与计算的时候,会提升为int类型
4、能够知道&&和&的区别
&&:短路与,符号左边能确定结果,就不在执行右边,可以提高效率
false && 不在执行
&&:有false则false
||:有true则true
!:非真则假,非假则真
5、能够使用三元运算符完成获取两个数中较大值
int a = 100;
int b = 20;
int max = a>b?a:b;
6、能够使用键盘录入数据并完成两个数据求和
import java.util.Scanner;//自动导包 alt+回车
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
int sum = a+b;
7、能够使用if语句完成获取两个数中较大值
int a = 10;
int b = 20;
int max = 0;
if(a>b){
max = a;
}else{
max = b;
}
8、能够使用if语句完成根据分数输出对应级别
Scanner sc = new Scanner(System.in);
System.out.println("请输入您的考试分数:");
int score = sc.nextInt();
if(score>=90 && score<=100){
System.out.println("优秀");
}else if(score>=70 && score<=89){
System.out.println("良好");
}else if(score>=60 && score<=69){
System.out.println("及格");
}else if(score>=0 && score<=59){
System.out.println("不及格");
}else{
System.out.println("输入的分数不正确!");
}
9、能够使用switch语句完成根据月份输出对应季节
见上课的笔记(switch穿透现象)
10、能够使用IDEA完成HelloWorld案例
//创建主方法的快捷键:psvm==>点击回车
//创建输出语句的快键键:sout==>点击回车
//复制一行代码:ctrl+d
//删除一行代码:ctrl+y
//上下移动代码:ctrl+shift+↑↓
//导包:alt+回车
11、能够知道IDEA的项目结构
项目(SE159)==>模块(day01,day02)==>包(demo01,demo02)==>类(java的基本单位)
12、能够使用IDEA完成模块的导入
a.导入模块的方式:不建议,麻烦
b.采用直接复制代码,直接复制src中的代码,到新建的模块中
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZJa55C2k-1619530408459)(img/1614675703685.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X2HXfaJ6-1619530408462)(img/1614676159941.png)]
一.IDEA使用
1.在电脑硬盘创建一个文件夹,用于存储IDEA中书写的代码
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xIp31FUB-1619530408463)(img/1614646177156.png)]
2.创建一个项目
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tIUamThQ-1619530408465)(img/1614646200750.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wdmTrKJe-1619530408467)(img/1614646227606.png)]
注意:没有JDK,选择默认JDK
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zpwn8FLQ-1619530408469)(img/1614647931559.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3E80SfLt-1619530408469)(img/1614646291173.png)]
选择刚才创建保存代码的目录
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jAC6pJVl-1619530408470)(img/1614646377192.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S51K71sg-1619530408471)(img/1614646473162.png)]
3.需要在项目中创建一个模块
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z5IU9BHL-1619530408472)(img/1614646552848.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9YnVFTsi-1619530408473)(img/1614646578168.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-52DKv1yf-1619530408473)(img/1614646633628.png)]
4.在模块中创建包(文件夹)
以后在工作中,每个包中都是一个功能
创建的规则:一般使用公司域名反写
www.itheima.com com.itheima.reg com.ithema.login com.itheima.buy
www.baidu.com com.baidu.reg com.baidu.login com.baidu.buy
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IgOjuRgc-1619530408474)(img/1614646855267.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IxFgNG86-1619530408475)(img/1614646925886.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CGOpHoUP-1619530408476)(img/1614646947286.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XtRbl69n-1619530408476)(img/1614646987557.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rQQdNQpX-1619530408477)(img/1614647016796.png)]
5.在包中创建java的类
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-93UGRZhi-1619530408478)(img/1614647078007.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A3BraLyJ-1619530408479)(img/1614647121399.png)]
6.在类中编写java代码
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XPtfFMHp-1619530408479)(img/1614647237108.png)]
7.idea中会自动把我们写的.java的源代码编译生成.class文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZVMZzwr6-1619530408480)(img/1617346907420.png)]
8.运行.class文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o2WyxFiZ-1619530408481)(img/1614647399287.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iP4AQxO3-1619530408482)(img/1614647480696.png)]
9.调整idea模版颜色
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1KGcEM0k-1619530408482)(img/1614648606089.png)]
10.设置字体
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hX839JUd-1619530408483)(img/1614648626278.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EpQza1mv-1619530408484)(img/1614648639511.png)]
11.idea中常用的快捷键
IDEA常用快捷键
创建主方法:psvm
创建输出语句:sout
快捷键 功能
Alt+Enter 导入包,自动修正代码(新建方法,处理异常)
Ctrl+Y 删除光标所在行
Ctrl+D 复制光标所在行的内容,插入光标位置下面
Ctrl+Alt+L 格式化代码
Ctrl+/ 单行注释
Ctrl+Shift+/ 选中代码注释,多行注释,再按取消注释
Alt+Shift+上下箭头 移动当前代码行
shift+f6重命名
Alt+Insert可以新建类、方法等任何东西。
Ctrl+Alt+T 将选中的代码使用if、while、try/catch等包装
ctrl+alt+M 方法抽取
ctrl+r 替换
调试:F7/F8/F9分别对应Step into,Step over,Continue。
12.idea项目的层次关系
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MmBLdNc4-1619530408485)(img/1614655356473.png)]
13.idea中修改注释的颜色
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v5sbBCs7-1619530408486)(img/1614658668052.png)]
二.运算符
1.算术运算符
package com.itheima.demo02operator;
/*
算术运算符
+,-,*,/,%
注意:
1.除法符号两边都是整数,计算结果也是一个整数(整除)
2.除法符号两边有一边是小数,计算结果也是小数
3.byte,short,char类型在参与计算的时候,会自动把自己提升为int类型
4.浮点数(小数),是不精确的,拿不精确的数参与计算,得到的结果更加不精确
*/
public class Demo01Operator {
public static void main(String[] args) {
int a = 10;
int b = 3;
System.out.println(a+b);//13
System.out.println(a-b);//7
System.out.println(a*b);//30
System.out.println(a/b);//3(整除) 两个数相除,取商(10里边包含了3个3)
System.out.println(a%b);//1 两个数相除,取余数(10/3剩余1)
System.out.println("----------------------------");
System.out.println(10/4);//2
System.out.println(10/4.0);//2.5
System.out.println("----------------------------");
System.out.println(11%20);//11 取模左边的比右边的数小,结果就是左边的数
System.out.println("----------------------------");
byte c = 10;
//Incompatible types. Found: 'int', required: 'byte'
c = (byte)(c+20);//c = (10 int)+20(int)=30(int)==>强转
System.out.println(c);
System.out.println("----------------------------");
System.out.println(10/3.0);//3.3333333333333335
System.out.println(2.6-2);//0.6000000000000001 无限接近于0.6
}
}
2.字符的+操作
package com.itheima.demo02operator;
/*
字符的+操作
每个字符底层都是一个数字
字符在参与+操作时,会使用字符底层的数字进行加法运算
常用字符和数字的对应关系:
‘A’ 65 A-Z是连续的
‘a’ 97 a-z是连续的
‘0’ 48 0-9是连续的
*/
public class Demo02Operator {
public static void main(String[] args) {
System.out.println('B'+2);//66+2=68
System.out.println('d'-3);//100-3=97
System.out.println((char)97);//a
System.out.println('中'+0);//20013
System.out.println((char)20013);//中
}
}
3.字符串的+操作
package com.itheima.demo02operator;
/*
字符串的+操作
字符串可以和任意的数据类型相加,结果还是一个字符串(字符串连接)
*/
public class Demo03Operator {
public static void main(String[] args) {
System.out.println("你好"+true);//你好true
System.out.println("你好"+1);//你好1
System.out.println("你好"+8.8);//你好8.8
System.out.println("你好"+'@');//你好@
System.out.println("黑马"+6+6+6);//"黑马6"+6==>"黑马66"+6==>"黑马666"
System.out.println(6+6+6+"黑马");//18+"黑马"==>"18黑马"
System.out.println("-------------------------------------");
int a = 10;
int b = 20;
System.out.println("a:"+a);//a:10
System.out.println("b:"+b);//b:20
System.out.println("a与b的和为:"+a+b);//a与b的和为:1020
System.out.println("a与b的和为:"+(a+b));//a与b的和为:30
}
}
4.赋值运算符
package com.itheima.demo02operator;
/*
赋值运算符:
基本的赋值运算符: = 把等号右边的值赋值给等号左边的变量
扩展的赋值运算符: +=,-=,*=,/=,%=, 把运算符左右两边的数先进行+ - * / % 的操作,把结果赋值给左边的变量
注意:
1.+=,-=,*=,/=,%=运算符左边必须是变量,不能是常量
2.+=,-=,*=,/=,%=运算符中隐含一个强制类型转换
*/
public class Demo04Operator {
public static void main(String[] args) {
int a = 10;
a+=20;//就相当于 a= a+20;
System.out.println("a:"+a);
int b = 10;
b%=3;//就相当于 b=b%3
System.out.println("b:"+b);//b:1
//1.+=,-=,*=,/=,%=运算符左边必须是变量,不能是常量
//10+=20;//Variable expected 10=10+20;
byte bb = 10;
bb = (byte)(bb+20);
System.out.println("bb:"+bb);
//2.+=,-=,*=,/=,%=运算符中隐含一个强制类型转换
byte cc = 10;
cc+=20;//就相当于(byte)(bb+20);
System.out.println("cc:"+cc);
}
}
5.自增自减运算符
package com.itheima.demo02operator;
/*
自增自减运算符
++: 自增,本身+1
--: 自减,本身-1
注意:
++和--单独使用:运算符写在变量的前后结果是一样的
++和--与其他运算符混合使用:
++,--写在变量前边,先把变量的值加1或者减1,然后使用改变后的值参与运算
++,--写在变量后边,先使用变量原来的值参与运算,运算结束后在把变量的值加1或者减1
*/
public class Demo05Operator {
public static void main(String[] args) {
//++和--单独使用:运算符写在变量的前后结果是一样的
int a = 10;
//a++;
++a;
System.out.println("a:"+a);//a:11
int b = 10;
//--b;
b--;
System.out.println("b:"+b);//b:9
//++和--与其他运算符混合使用
int aa = 10;
//--与输出语句混合使用
System.out.println(aa--);//10==>先打印aa原来的值10,在把aa进行--
System.out.println("aa:"+aa);//aa:9
int bb = 10;
//++与输出语句混合使用
System.out.println(++bb);//11==>先把bb加1变成11,,在输出增加之后的值11
System.out.println("bb:"+bb);//bb:11
int cc = 20;
int dd = cc--+10;//20+10
System.out.println("dd:"+dd);//dd:30
System.out.println("cc:"+cc);//cc:19
}
}
6.关系运算符
package com.itheima.demo02operator;
/*
关系运算符
作用:用于比较两个数,结果是一个布尔值
==等于 !=不等于 >大于 <小于 >=大于等于 <=小于等于
注意事项:
等于号是==,千万不要把== 写成 =(赋值)
*/
public class Demo06Operator {
public static void main(String[] args) {
int a = 10;
int b = 20;
int c = 10;
System.out.println(a==b);//false
System.out.println(a==c);//true
System.out.println(a!=b);//true
System.out.println(a!=c);//false
System.out.println("-------------------");
System.out.println(a>b);//false
System.out.println(a<b);//true
System.out.println(a>=b);//false
System.out.println(a<=b);//true
System.out.println(a>=c);//true
System.out.println(a<=c);//true
System.out.println("-------------------");
System.out.println(a=b);//把b的值赋值给a a=20 sout(a)==>20;
System.out.println(a==b);//20==20 true
}
}
需求:练习关系运算符的使用
package com.itheima.demo02operator;
import java.util.Scanner;
/*
比较运算符练习:校验QQ号密码
需求:
1.定义两个变量存储用户已经注册过的QQ号和密码
2.使用Scanner键盘输入,获取用户本次登录的QQ号和密码
3.使用比较运算符比较注册和输入的是否一致
*/
public class Demo07Test {
public static void main(String[] args) {
//1.定义两个变量存储用户已经注册过的QQ号和密码
int qqNum = 123456;
int qqPsw = 654321;
//2.使用Scanner键盘输入,获取用户本次登录的QQ号和密码
Scanner sc = new Scanner(System.in);
System.out.println("请输入QQ号:");
int qq = sc.nextInt();
System.out.println("请输入QQ密码:");
int psw = sc.nextInt();
//3.使用比较运算符比较注册和输入的是否一致
System.out.println(qqNum==qq);
System.out.println(qqPsw==psw);
}
}
7.逻辑运算符
package com.itheima.demo01operator;
/*
逻辑运算符
作用:用于连接布尔表达式
布尔表达式:表达式的结果是一个布尔值 (100+20)-30<50 false
&: 与运算符:有false则false
| (回车上边shift+\):或运算符:有true则true
!: 取反:非真则假,非假则真
*/
public class Demo01Operator {
public static void main(String[] args) {
boolean b1 = true;
boolean b2 = (100+20)-30<50;
boolean b3 = true;
System.out.println("b2:"+b2);//b2:false
System.out.println(b1 & b2);//false
System.out.println(b1 & b3);//true
System.out.println(b1 | b2);//true
System.out.println(b1 | b3);//true
System.out.println(!b1);//false
System.out.println(!b2);//true
}
}
短路与和短路或
package com.itheima.demo01operator;
/*
短路与和短路或
&&:短路与
| |:短路或
&&和||和&和|的运算结果是一样的
短路:
&&:符号左边是false,则不在执行右边,可以直接确定结果
| |:符号左边是true,,则不在执行右边,可以直接确定结果
好处:
提高效率
*/
public class Demo02Operator {
public static void main(String[] args) {
boolean b1 = true;
boolean b2 = (100+20)-30<50;
boolean b3 = true;
System.out.println("b2:"+b2);//b2:false
System.out.println(b1 && b2);//false
System.out.println(b1 && b3);//true
System.out.println(b1 || b2);//true
System.out.println(b1 || b3);//true
int a = 10;
int b = 20;
//System.out.println(++a>20 & --b<30);//false & true ==>false
//System.out.println("a:"+a);//a:11
//System.out.println("b:"+b);//b:19
System.out.println(++a>20 && --b<30);//false && 左边能确定结果,右边不在执行 ==>false
System.out.println("a:"+a);//a:11
System.out.println("b:"+b);//b:20
}
}
8.三元运算符
/*
一元:1个数参与计算 ++a --b
二元:2个数参与计算 a+b a>b a && b
三元运算符:3个数参与计算
格式:
关系表达式? 表达式1:表达式2;
执行的流程:
首先计算关系表达式的值
如果值为true,表达式1的值就是运算结果
如果值为false, 表达式2的值就是运算结果
作用:
用于获取两个数中的最大值,最小值,比较两个数的大小...
注意:
1.三元运算符的结果就是一个值,这个值必须被使用,要么输出,要么赋值给一个变量接收
2.三元运算符中表达式可以是任意数据类型的值(基本:4类8种,引用数据类型)
*/
package com.itheima.demo01operator;
/*
三元运算符
格式:
关系表达式? 表达式1(true):表达式2(false);
执行的流程:
首先计算关系表达式的值
如果值为true,表达式1的值就是运算结果
如果值为false, 表达式2的值就是运算结果
*/
public class Demo03Operator {
public static void main(String[] args) {
int a = 10;
int b = 20;
//获取a和b两个数的最大值
int max = a>b? a : b;
System.out.println(max);//20
//获取a和b两个数的最小值
int min = a<b? a : b;
System.out.println(min);//10
//判断a和b是否相等
System.out.println(a==b? true : false);//false
a=b;//a=20 b=20
System.out.println(a==b? "相等": "不相等");//相等
}
}
三.流程控制语句
1.if语句的第一种格式
/*
if语句:用于判断
if语句的第一种格式
if(布尔表达式){
语句体;(多行代码)
}
执行流程:对布尔表达式进行判断
true:执行语句体
false:不执行语句体
*/
package com.itheima.demo03if;
public class Demo01If {
public static void main(String[] args) {
int a = 10;
int b = 20;
//判断a和b是否相等
if(a==b){//false
System.out.println("a等于b!");
}
int c = 10;
//判断a和c是否相等
if(a==c){//true
System.out.println("a等于c!");
}
}
}
2.if语句的第二种格式
/*
if语句的第二种格式
if(布尔表达式){
语句体1;
}else{
语句体2;
}
执行流程:对布尔表达式进行判断
true:执行语句体1
false:执行语句体2
一定会有一个执行的结果
*/
package com.itheima.demo02if;
import java.util.Scanner;
/*
if判断的格式二
一定会有一个执行的结果
*/
public class Demo02If {
public static void main(String[] args) {
//键盘输入一个整数,判断整数是否为一个偶数 a%2==0
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数:");
int a = sc.nextInt();
if(a%2==0){
System.out.println(a+"是一个偶数!");
}else{
System.out.println(a+"是一个奇数!");
}
}
}
package com.itheima.demo02if;
import java.util.Scanner;
/*
需求:判断用户名密码是否正确
分析:
1.定义两个变量,存储用户已经注册的QQ号和密码
2.使用Scanner获取用户登录的QQ号和密码
3.使用if语句比较用户注册的QQ号和密码和登录的QQ号和密码是否一致
4.输出结果
*/
public class Demo03Test {
public static void main(String[] args) {
//1.定义两个变量,存储用户已经注册的QQ号和密码
int qq = 12345;
int psw = 54321;
//2.使用Scanner获取用户登录的QQ号和密码
Scanner sc = new Scanner(System.in);
System.out.println("请输入QQ号:");
int logQQ = sc.nextInt();
System.out.println("请输入QQ密码:");
int logPsw = sc.nextInt();
//3.使用if语句比较用户注册的QQ号和密码和登录的QQ号和密码是否一致
if(logQQ==qq && logPsw==psw){
//4.输出结果
System.out.println("登录成功!");
}else{
System.out.println("您输入的QQ号或密码有误!");
}
}
}
3.if语句的第三种格式
if语句的第三种格式:用于多个条件的判断
if(布尔表达式1){
语句体1;
}else if(布尔表达式2){
语句体2;
}else if(布尔表达式3){
语句体3;
}
...
else{
语句体n;
}
执行流程:
哪个布尔表达式成立,就执行哪个布尔表达式对应的语句体
所有的布尔表达式都不成立,执行else中的语句体
package com.itheima.demo02if;
import java.util.Scanner;
/*
if判断的格式三
执行的流程:
哪个if条件成立,执行哪个if语句对应的代码
所有的条件都不成立,执行else对应的代码
需求:
程序从控制台接收一个百分制的分数, 判断这个分数,
90分—100分:打印:优秀 90<= score <=100 数学中,java中不可以
70 – 89分,打印:良好
60 – 69分,打印:及格
0 – 59分,打印:不及格
其它情况,打印:输入的分数不正确!
*/
public class Demo04If {
public static void main(String[] args) {
//程序从控制台接收一个百分制的分数
Scanner sc= new Scanner(System.in);
System.out.println("请输入您的分数:");
int score = sc.nextInt();
//使用if语句对分数进行判断
//90分—100分:打印:优秀
if(score>=90 && score<=100){
System.out.println("优秀");
}else if(score>=70 && score<=89){
//70 – 89分,打印:良好
System.out.println("良好");
}else if(score>=60 && score<=69){
//60 – 69分,打印:及格
System.out.println("及格");
}else if(score>=0 && score<=59){
//0 – 59分,打印:不及格
System.out.println("不及格");
}else{
//其它情况,打印:输入的分数不正确!
System.out.println("输入的分数不正确!");
}
}
}
4.switch语句的基本使用
switch语句:用于在多个值中选择一个执行
格式:
switch(值){
case 1:
语句体1;
break;
case 2:
语句体2;
break;
...
case n:
语句体n;
break;
default:
语句体n+1;
break;
}
执行流程:
使用switch中的值和所有的case进行匹配
匹配成功:执行case中的语句体
匹配失败:使用default中的语句体
break关键字的作用:用于结束switch语句
package com.itheima.demo03switch;
import java.util.Scanner;
/*
需求:
根据键盘录入的数值1,2,3,…7输出对应的星期一,星期二,星期三…星期日。
分析:
1.使用Scanner获取用户收入的数值(1-7)
2.使用switch语句,根据用户输入的值,选择对应的结果
*/
public class Demo01Switch {
public static void main(String[] args) {
//1.使用Scanner获取用户收入的数值(1-7)
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个1-7之间的数字:");
int week = sc.nextInt();
//2.使用switch语句,根据用户输入的值,选择对应的结果
switch (week){
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("您输入的值有误!");
break;
}
System.out.println("哈哈");
}
}
5.switch穿透现象
package com.itheima.demo04switch;
import java.util.Scanner;
/*
需求:
一年有12个月属于春夏秋冬4个季节,键盘录入一个月份,判断该月份属于哪个季节,并输出。
春:3、4、5
夏:6、7、8
秋:9、10、11
冬:1、2、12
*/
public class Demo03Switch {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入对应的月份(1-12):");
int month = sc.nextInt();
switch (month){
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;
case 8:
System.out.println("夏季");
break;
case 9:
System.out.println("秋季");
break;
case 10:
System.out.println("秋季");
break;
case 11:
System.out.println("秋季");
break;
case 12:
System.out.println("冬季");
break;
default:
System.out.println("您输入有误!");
break;
}
}
}
穿透的原理
当case中的语句执行完毕,而没有break时,
程序会无条件的执行后续的case或default中的语句,
直到遇到break语句或整个switch语句结束为止
package com.itheima.demo04switch;
import java.util.Scanner;
/*
需求:
一年有12个月属于春夏秋冬4个季节,键盘录入一个月份,判断该月份属于哪个季节,并输出。
春:3、4、5
夏:6、7、8
秋:9、10、11
冬:1、2、12
注意:
case不用按照1234的顺序编写,顺序无所谓的
*/
public class Demo04Switch {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入对应的月份(1-12):");
int month = sc.nextInt();
switch (month){
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("您输入有误!");
break;
}
}
}
四.综合案例
1.商品打折案例
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2TSBoo2D-1619530408487)(img/1614673648253.png)]
package com.itheima.demo04Test;
import java.util.Scanner;
/*
综合案例:商品打折
需求:某超市管理系统中,会根据客户购买的总价给予一定折扣。
具体折扣规则如下:
1.总金额大于1000:7.5折
2.总金额在500-1000:8.5折
3.总金额在200-500:9折
4.其余没有折扣
要求:
1.使用IDEA工具开发;完成总金额数据录入
2.判断总金额并给予相应折扣计算
3.输出原始金额及打折后的金额
分析:
1.使用Scanner获取用输入的总金额
2.使用if语句判断总金额在哪个折扣的范围
3.计算打折后的金额
4.输出原始金额及打折后的金额
*/
public class Demo01Test {
public static void main(String[] args) {
//1.使用Scanner获取用输入的总金额
Scanner sc = new Scanner(System.in);
System.out.println("请输入商品总金额:");
int money = sc.nextInt();
//2.使用if语句判断总金额在哪个折扣的范围
//3.计算打折后的金额
//4.输出原始金额及打折后的金额
//1.总金额大于1000:7.5折
if(money>1000){
System.out.println("商品的总金额为:"+money);
System.out.println("商品的打折后的总金额为:"+money*0.75);
}
//2.总金额在500-1000:8.5折
else if(money>=500 && money<=1000){
System.out.println("商品的总金额为:"+money);
System.out.println("商品的打折后的总金额为:"+money*0.85);
}
//3.总金额在200-500:9折
else if(money>=200 && money<500){
System.out.println("商品的总金额为:"+money);
System.out.println("商品的打折后的总金额为:"+money*0.9);
}
//4.其余没有折扣
else{
System.out.println("商品的总金额为:"+money);
System.out.println("商品的打折后的总金额为:"+money);
}
}
}
package com.itheima.demo04Test;
import java.util.Scanner;
/*
综合案例:商品打折
需求:某超市管理系统中,会根据客户购买的总价给予一定折扣。
具体折扣规则如下:
1.总金额大于1000:7.5折
2.总金额在500-1000:8.5折
3.总金额在200-500:9折
4.其余没有折扣
要求:
1.使用IDEA工具开发;完成总金额数据录入
2.判断总金额并给予相应折扣计算
3.输出原始金额及打折后的金额
分析:
1.使用Scanner获取用输入的总金额
2.使用if语句判断总金额在哪个折扣的范围
3.计算打折后的金额
4.输出原始金额及打折后的金额
*/
public class Demo02Test {
public static void main(String[] args) {
//1.使用Scanner获取用输入的总金额
Scanner sc = new Scanner(System.in);
System.out.println("请输入商品总金额:");
int money = sc.nextInt();
//2.使用if语句判断总金额在哪个折扣的范围
//定义一个double类型的变量,记录打折后的总金额
double price = 1;
//1.总金额大于1000:7.5折
if(money>1000){
//3.计算打折后的金额
price = money*0.75;
}
//2.总金额在500-1000:8.5折
else if(money>=500 && money<=1000){
price = money*0.85;
}
//3.总金额在200-500:9折
else if(money>=200 && money<500){
price = money*0.9;
}
//4.其余没有折扣
else{
price = money;
}
//4.输出原始金额及打折后的金额
System.out.println("商品的总金额为:"+money);
System.out.println("商品的打折后的总金额为:"+price);
}
}
package com.itheima.demo04Test;
import java.util.Scanner;
/*
综合案例:商品打折
需求:某超市管理系统中,会根据客户购买的总价给予一定折扣。
具体折扣规则如下:
1.总金额大于1000:7.5折
2.总金额在500-1000:8.5折
3.总金额在200-500:9折
4.其余没有折扣
要求:
1.使用IDEA工具开发;完成总金额数据录入
2.判断总金额并给予相应折扣计算
3.输出原始金额及打折后的金额
分析:
1.使用Scanner获取用输入的总金额
2.使用if语句判断总金额在哪个折扣的范围
3.计算打折后的金额
4.输出原始金额及打折后的金额
注意:
if语句是可以嵌套使用的
if(){
if(){}
}else{
if(){}
}
*/
public class Demo03Test {
public static void main(String[] args) {
//1.使用Scanner获取用输入的总金额
Scanner sc = new Scanner(System.in);
System.out.println("请输入商品总金额:");
int money = sc.nextInt();
if(money<0){
System.out.println("您输入的有误!");
}else{
//2.使用if语句判断总金额在哪个折扣的范围
//定义一个double类型的变量,记录打折后的总金额
double price = 1;
//1.总金额大于1000:7.5折
if(money>1000){
//3.计算打折后的金额
price = money*0.75;
}
//2.总金额在500-1000:8.5折
else if(money>=500 && money<=1000){
price = money*0.85;
}
//3.总金额在200-500:9折
else if(money>=200 && money<500){
price = money*0.9;
}
//4.其余没有折扣
else{
price = money;
}
//4.输出原始金额及打折后的金额
System.out.println("商品的总金额为:"+money);
System.out.println("商品的打折后的总金额为:"+price);
}
}
}
2.考试奖励案例
同学练习
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dzcrJMhB-1619530408488)(img/1614673617033.png)]
c class Demo03Test {
public static void main(String[] args) {
//1.使用Scanner获取用输入的总金额
Scanner sc = new Scanner(System.in);
System.out.println(“请输入商品总金额:”);
int money = sc.nextInt();
if(money<0){
System.out.println("您输入的有误!");
}else{
//2.使用if语句判断总金额在哪个折扣的范围
//定义一个double类型的变量,记录打折后的总金额
double price = 1;
//1.总金额大于1000:7.5折
if(money>1000){
//3.计算打折后的金额
price = money*0.75;
}
//2.总金额在500-1000:8.5折
else if(money>=500 && money<=1000){
price = money*0.85;
}
//3.总金额在200-500:9折
else if(money>=200 && money<500){
price = money*0.9;
}
//4.其余没有折扣
else{
price = money;
}
//4.输出原始金额及打折后的金额
System.out.println("商品的总金额为:"+money);
System.out.println("商品的打折后的总金额为:"+price);
}
}
}
## 2.考试奖励案例
**同学练习**
[外链图片转存中...(img-dzcrJMhB-1619530408488)]