企业级开发JavaEE百天修行日记Day05

Day05

一、转义字符

含义:用来表示有特殊意义的字符本身

符号作用
\n换行
\t水平制表
\”双引号
\’单引号
\一个斜杠

二、常量

1、概念

在程序执行过程中不可发生改变的量

2、分类

a. 数字常量:程序中出现的数字

​ 整数数字默认int类型。 小数数字默认 double 类型

b. 字面值常量:双引号括起来的内容

​ ps :“Hello World”

c. final(最终的)修饰的变量,其也会当成常量处理。

三、Java的执行语句

1、分类:
1.顺序语句:方法里的代码从上往下顺序执行

​ 2.分支语句:判断某个条件,如果成立就执行对应的功能
​ 2.1 if分支
​ 2.2 switch分支

​ 3.循环语句:某个条件成立,就重复性的执行某个功能
​ 3.1 for循环
​ 3.2 while循环
​ 3.3 do-while循环

​ 4.特殊的流程控制语句
​ 4.1 break
​ 4.2 continue
​ 4.3 return
​ 4.4 label

四、简单的if分支

1、语法结构:

	if(表达式){
				...代码块...
			}
			

2、理解:表达式的结果必须是boolean值
true - 执行代码块
false - 跳过if分支,执行分支以外的代码

	3、实验:
if(false){
				System.out.println("...代码块...");
			}
			System.out.println("if分支以外的代码");

​ 案例:

//如果小杨的Java考试成绩大于98分,小杨就能获得一辆法拉利作为奖励
			Scanner scan = new Scanner(System.in);
	
			System.out.println("请输入Java考试成绩:");
			double score = scan.nextDouble();
			
			if(score > 98){
				System.out.println("奖励小杨法拉利玩具赛车一辆");
			}

​ 4、小结:
​ if(){} 要么进入,要么不进入判断

五、复杂的if分支

1、案例一: 人类的健康值在20-25的数值内为健康(健康值算法为:体重(Kg) / 身高(米)的平方)

//输入体重和身高
			Scanner scan = new Scanner(System.in);
			System.out.println("请输入体重(Kg):");
			double weigth = scan.nextDouble();
			System.out.println("请输入身高(M):");
			double heigth = scan.nextDouble();
			
			//计算健康值
			double health = weigth/(heigth*heigth);
			
			if(health>=20 && health<=25){
				System.out.println("小护士说:\"健康,请保持现有状态\"");
			}

​ 2、案例二:小刘 Java成绩大于98分,而且音乐成绩大于80分,老师奖励他;或者Java成绩等于100分,音乐成绩大于70分,老师也可以奖励他。

			Scanner scan = new Scanner(System.in);
		
			System.out.println("请输入Java成绩:");
			double javaScore = scan.nextDouble();
			System.out.println("请输入音乐成绩:");
			double musicScore = scan.nextDouble();
			
			if((javaScore>98 && musicScore>80) || (javaScore==100 && musicScore>70)){
				System.out.println("奖励三小刘棒棒糖一个");
			}
			

​ 3、小结:
​ 1.if可以判断区间
​ 2.if可以判断复杂的条件

六、if…else…

1、语法规则:

if(表达式){
			...代码块...
		}else{
			...else代码块...
		}

2、理解:表达式的结果必须是boolean类型的值
true - 执行代码块
false - 执行else代码块

3、实验:

if(false){
			System.out.println("...代码块...");
		}else{
			System.out.println("...else代码块...");
		}
		
		System.out.println("if分支以外的代码");

​ 案例:如果小张 Java考试成绩大于98分,老师就奖励他一个劳斯莱斯,否则老师就罚他进行编码

	Scanner scan = new Scanner(System.in);
	
		System.out.println("请输入Java成绩:");
		double score = scan.nextDouble();
		
		if(score > 98){
			System.out.println("奖励椎名空劳斯莱斯玩具赛车一辆");
		}else{
			System.out.println("何老师给椎名空通宵补课");
		}
		

4、小结:
if…else…在二选一的情况下使用

七、多重if分支

1、语法规则:

if(表达式1){
			...代码块1...
			
		}else if(表达式2){
			...代码块2...
			
		}else if(表达式n){
			...代码块n...
			
		}else{
			...else代码块...
		}

​ 2、理解:
​ 从上往下判断表达式,哪个表达式先为true,就执行对应的代码块
​ 表达式的结果必须是boolean
​ true - 执行对应的代码块
​ false - 往下判断剩余的表达式
​ 如何表达式都不为true,就执行else代码块
​ 注意:else{}根据需求可写可不写

​ 3、实验:

if(false){
			System.out.println("...代码块1...");
			
		}else if(false){
			System.out.println("...代码块2...");
			
		}else if(false){
			System.out.println("...代码块n...");
			
		}else{
			System.out.println("...else代码块...");
		}
		
		System.out.println("if分支以外的代码");

​ 案例1:人类的健康值在
​ 15-20的数值内为偏瘦
​ 20-25的数值内为健康
​ 25-30的数值内为偏胖
​ (健康值算法为:体重(Kg) / 身高(米)的平方)

	//输入体重和身高
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入体重(Kg):");
		double weigth = scan.nextDouble();
		System.out.println("请输入身高(M):");
		double heigth = scan.nextDouble();
		
		//计算健康值
		double health = weigth/(heigth*heigth);
		
		//判断区间
		if(health>15 && health<=20){
			System.out.println("小护士说:\"偏瘦,多喝碳酸饮料,多吃垃圾食品,多熬夜\"");
			
		}else if(health>20 && health<=25){
			System.out.println("小护士说:\"健康,请保持现有状态\"");
			
		}else if(health>25 && health<=30){
			System.out.println("小护士说:\"偏胖,多做运动,嘿嘿嘿~~~\"");
			
		}else{
			System.out.println("小护士说:\"健康值异常,请到医院进行详细检查\"");
		}

案例二:通过键盘录入学生成绩如果在90-100之间,则打印“A”,否则如果在80-90之间,则打印“B”,否则如果在70-80之间,则打印“C”否则如果在60-70之间,则打印“D”否则如果在 0-60之间,则打印“E”,否则打印“成绩异常”

		Scanner scan = new Scanner(System.in);
	
		System.out.println("请输入成绩:");
		double score = scan.nextDouble();
		
		if(score>90 && score<=100){
			System.out.println("A");
		}else if(score>80 && score<=90){
			System.out.println("B");
		}else if(score>70 && score<=80){
			System.out.println("C");
		}else if(score>60 && score<=70){
			System.out.println("D");
		}else if(score> 0 && score<=60){
			System.out.println("E");
		}else{
			System.out.println("成绩异常");
		}

4、小结:
多重if分支在多选一时使用

八、嵌套if分支

1、案例:千锋举行运动会,百米赛跑跑入16秒内的学生有资格进决赛,根据性别分别进入男子组和女子组。

	Scanner scan = new Scanner(System.in);
		System.out.println("请输入比赛成绩:");
		double score = scan.nextDouble();
		
		if(score>=0 && score<16){
			System.out.println("请输入性别:");
			String sex = scan.next();
			
			if(sex.equals("男")){//比较两个字符串内容是否相同(sex和"男")
				System.out.println("恭喜进入到男子组决赛");
				
			}else if(sex.equals("女")){//比较两个字符串内容是否相同(sex和"女")
				System.out.println("恭喜进入到女子组决赛");
				
			}else{
				System.out.println("性别异常");
			}
			
		}else if(score >= 16){
			System.out.println("重在参与");
		}else{
			System.out.println("成绩异常");
		} 

​ 2、小结:
​ if可以无限层嵌套

​ 3、经验:if最好不要嵌套3层以上,因为可读性会降低

九、witch分支的使用

​ 1、语法结构:

switch(表达式){
				case 值1:
					...代码块1...
				break;
				case 值2:
					...代码块2...
				break;
				case 值n:
					...代码块n...
				break;
				default:
					...default代码块...
				break;
			}
			

2、理解:
表达式的结果分别跟值1、值2、值n比较
哪个相同就执行对应的代码块
如果都不相同就执行default代码块
default代码块相当于if中的else(其余的情况)
break表示跳出整个分支语句

   3、实验:
	switch(1000){
				case 10:
					System.out.println("10");
				break;
				case 50:
					System.out.println("50");
				break;
				case 100:
					System.out.println("100");
				break;
				default:
					System.out.println("default代码块");
				break;
			}
			
			System.out.println("switch分支以外的代码");

十、switch分支的深入

面试题:
1、case的值可以相同吗?
不能相同
2、default可以省略吗?
可以
3、break可以省略吗?
可以
4、default的位置一定要在最后吗?
不一定(经验:最好放在最后,因为考虑到代码的可读性)
5、表达式值的类型可以是什么?
byte、short、int、char、枚举(JDK1.5)、String(JDK1.7)
6、switch底层判断的逻辑是什么?
switch底层判断的都是int类型,因为switch底层有个字节码命令,必须接受int类型的值
byte --> int 自动转型
short --> int 自动转型
int --> int 直接使用
char --> int 获取的是字符的Unicode码
枚举 --> int 获取枚举对象的编号
String --> int 获取的字符串的hash码(hash码:字符的Unicode+散列算法得到的一个数字)

  • 42
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值