Day04
一,转义字符
1.理解
具有特殊意义的字符本身
\" 表示一个双引号字符 \' 表示一个单引号字符 \\ 表示一个斜杠字符 \n 表示换行 \t 水平制表
二,常量
1.理解
在程序执行过程中不可发生改变的量
2.分类
1.数字字面量:程序中出现的数字
整数数字默认int类型
小数数字默认double类型2.字面值常量:使用双引号括起来的内容
System.out.println("用良心做教育");
3.使用final(最终的)修饰变量
final int I = 100; System.out.println(I);
3.扩展命名规范
大驼峰命名法(帕斯卡命名法):
作用:类
理解:所有单词首字母大写ps:public class StudentManagerSystem{}
小驼峰命名法:
作用:方法、变量
理解:除了第一个单词,其余单词首字母大写ps:int curCapacity = 100;
常量命名法:
作用:常量
理解:全部单词大写,单词之间使用下划线隔开ps:final int MAX_CAPACITY = 10000;
三,java的执行语句
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分支 之 简单的if
1.语法结构
if(表达式){
…代码块…
}理解:表达式的结果必须是boolean类型
true - 执行代码块
false- 跳过if分支,执行if以外的代码
2.案例
如果麻生希的Java考试成绩大于98分,麻生希就能获得一辆法拉利作为奖励
Scanner scan = new Scanner(System.in); System.out.println("请输入考试成绩:"); double score = scan.nextDouble(); if(score > 98){ System.out.println("奖励麻生希法拉利玩具赛车一辆"); }
3.小结
if(){}要么进入,要么不进入
六,if分支 之 复杂的if
1.案例
人类的健康值在20-25的数值内为健康(健康值算法为:体重(Kg) / 身高(米)的平方)
Scanner scan = new Scanner(System.in); System.out.println("请输入体重(Kg):"); double weight = scan.nextDouble(); System.out.println("请输入身高(M):"); double height = scan.nextDouble(); double health = weight/(height*height); if(health>20 && health<25){ System.out.println("小护士说:\"健康,保持现有状态\""); }
案例二:麻生希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("奖励麻生希法拉利玩具赛车一辆"); }
2.小结
if可以判断区间,也可以判断复杂条件,只要是表达式的结果是boolean就ok
七,if分支 之 if…else…
1.语法结构
if(表达式){
…代码块…
}else{
…else代码块…
}理解:
表达式的结果必须是boolean类型
true - 执行代码块
false- 执行else代码块
2,案例
如果麻生希Java考试成绩大于98分,老师就奖励他一个劳斯莱斯, 否则老师就罚他进行编码
Scanner scan = new Scanner(System.in); System.out.println("请输入考试成绩:"); double score = scan.nextDouble(); if(score > 98){ System.out.println("奖励麻生希劳斯莱斯玩具赛车一辆"); }else{ System.out.println("何老师给麻生希通宵补课..."); }
3.小结
if…else…二选一的情况下使用
八,多重if分支
1.语法结构
if(表达式1){ ...代码块1...}else if(表达式2){ ...代码块2... }else if(表达式n){ ...代码块n... }else{ ...else代码块... }
理解:
从上往下判断表达式,哪个表达式先为true,就执行对应的代码块,如果都不为true就执行else代码块表达式的结果必须是boolean类型
true - 执行代码块
false- 执行else代码块
注意:
else代码块根据需求可写可不写
2.案例
案例一:人类的健康值在
15-20的数值内为偏瘦
20-25的数值内为健康
25-30的数值内为偏胖
(健康值算法为:体重(Kg) / 身高(米)的平方)Scanner scan = new Scanner(System.in); System.out.println("请输入体重(Kg):"); double weight = scan.nextDouble(); System.out.println("请输入身高(M):"); double height = scan.nextDouble(); double health = weight/(height*height); 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("成绩异常"); }
3.小结
多重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层,嵌套越多可读性越差
十,switch分支的使用
1.语法结构
switch(表达式){
case 值1:
…代码块1…
break;
case 值2:
…代码块2…
break;
case 值n:
…代码块n…
break;
default:
…default代码块…
break;
}
理解:
表达式的结果分别给值1、值2、值n比较,哪个相同就执行对应的代码块如果都不相同就执行default代码块
default代码块根据需求可写可不写
break表示跳出当前分支语句
2.案例
麻生希参加计算机编程大赛 如果获得第一名,将参加千锋组织的1个月马尔代夫旅游 如果获得第二名,将奖励苹果Pro笔记本电脑一部 如果获得第三名,将奖励移动硬盘一个 否则,何老师晚上给麻生希通宵补课
Scanner scan = new Scanner(System.in); System.out.println("请输入比赛名次:"); String str = scan.next(); switch(str){ case "第一名": System.out.println("和何老师一起参加千锋组织的1个月马尔代夫旅游"); break; case "第二名": System.out.println("奖励苹果Pro笔记本电脑一部"); break; case "第三名": System.out.println("奖励移动硬盘一个"); break; default: System.out.println("何老师晚上给麻生希通宵补课"); break; }
3.小结
switch是比较表达式的结果和case后面的值是否相同
十一,switch分支的深入
1.知识点
if vs switch:
表达式的区别:
if:boolean类型
switch:byte、short、int、char、String(JDK1.8)、枚举(JDK1.5)
应用场景的区别:
if:判断区间、判断复杂条件
switch:判断单个值是否相同
十二,for循环
1.语法规则:
for(表达式1;表达式2;表达式3){
…代码块/循环体…
}
理解:
表达式1 - 初始化变量
表达式2 - 判断条件
表达式3 - 更新变量
执行步骤:
1.初始化变量
2.判断条件 - 结果必须是boolean类型
2.1 true - 执行代码块,更新变量,重复第2个步骤
2.2 false - 直接跳出循环体
2.小结
1.初始化变量不一定从0开始 2.更新变量不一定++ 3.在for循环中声明的变量只能在当前for循环里使用 4.for循环里的更新变量中编写i++和++i没有区别