Day04

本文介绍了Java编程中的常量,包括数字字面量、字面值常量和final修饰的变量。详细讲解了流程控制语句,如顺序、分支(if、if...else、多重if、switch)、循环(for、while、do-while)结构,并通过实例展示了其用法和注意事项。此外,还探讨了switch分支的深入理解和for循环的变形及伪死循环现象。
摘要由CSDN通过智能技术生成

转义字符

见 Test01

含义:具有特殊意义的字符本身 特殊意义的字符 转义字符 " " ' ' \ \ 换行 \n 水平制表 \t

常量

见 Test01

含义:在程序执行过程中,不可发生改变的量 分类:

1.数字字面量:在程序中出现的数字

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

ps:
    System.out.println(10000);

2.字面值常量:使用双引号扩起来的内容

ps:
    System.out.println("教育");

3.使用final(最终的)修饰的变量,变成常量

ps:
    final int i = 100;
    System.out.println(i); 

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 lable

if分支

简单的if分支

见 Test02

语法结构: if(表达式){ ...代码块... } 理解: 表达式的结果必须是boolean true - 执行代码块 false- 跳出分支语句,执行if以外的代码

总结:if(){}要么进入判断,要么不进入判断

复杂的if分支

见 Test03

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

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

扩展:命名规范 帕斯卡命名法/大驼峰命名法:单词首字母大写 应用:类名 驼峰命名法/小驼峰命名法:除了第一个单词,其余的单词首字母大写 应用:方法、变量 总结:if分支可以判断区间、也可以判断复杂的条件

if...else...

见 Test04

语法结构: if(表达式){ ...代码块... }else{ ...else代码块... }

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

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

总结: if...else...:二选一的情况下使用

多重if分支

见 Test05

语法结构: if(表达式1){ ...代码块1... }else if(表达式2){ ...代码块2... }else if(表达式n){ ...代码块n... else{ ...else代码块... }

理解: 多个表达式,从上往下判断,哪个表达式先成立(true),就执行对应的代码块,执行完毕后跳出整个分支语句 如果表达式的条件都不成立,就执行else{} 注意:else{}根据需求,可写可不写

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

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

总结:多选一的情况下,使用多重if分支

嵌套if分支

见 Test06

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

总结: if(){}要么进入判断,要么不进入判断 if分支可以判断区间、也可以判断复杂的条件 if...else...:二选一的情况下使用 if...else if...:多选一的情况下,使用多重if分支 if可以嵌套

switch分支的使用

见 Test07

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

理解: 表达式的结果可以是byte、short、int、char、字符串、枚举 表达式的结果依次和值1、值2、值n比较,哪个相同就执行对应的代码块 break的作用是跳出整个分支语句 default类似于if中的else(其余情况) default根据需求可写可不写

案例:小明参加计算机编程大赛 如果获得第一名,将参加千锋组织的1个月马尔代夫旅游 如果获得第二名,将奖励苹果Pro笔记本电脑一部 如果获得第三名,将奖励移动硬盘一个 否则,老师晚上给小明通宵补课

总结:switch是判断单个值是否相同时使用

switch分支的深入

见 Test08

面试题: case的值可以相同吗? 不允许相同 default可以省略吗? 可以

break可以省略吗? 可以省略

default的位置一定要在最后吗? 不一定放在最后,但是最好放在最后,因为考虑到代码的可读性

case后值可以是不一样的类型吗? 可以,但必须兼容

表达式值的类型可以是什么? 类型可以是byte、short、int、char、字符串(JDK1.7)、枚举(JDK1.5)

扩展:switch判断值的底层原理只会识别int值 byte - 自动向上转型 -> int short - 自动向上转型 -> int char - 获取ASCII码 -> int 字符串 - hash值 -> int

需求:输入年和月,输出当月的天数

if vs switch 表达式的区别: if:boolean switch:byte、short、int、char、字符串(JDK1.7)、枚举(JDK1.5) 应用场景的区别: if:判断区间、判断复杂条件 switch:判断单个值

初识for循环

见 Test09

好处:解决代码的冗余 语法结构: for(初始化变量;判断条件;更新变量){ ...代码块/循环体... } 执行步骤: 1.初始化变量 2.判断条件:该条件必须是boolean类型 true -- 执行代码块,更新变量,再重复第2个步骤 false - 跳出整个循环

for循环变形记:

int i = 0;
for(;i<5;){
    System.out.println("用良心做教育");
    //i++;
    ++i;
}
System.out.println(i);

注意: 1.在for循环中声明的变量的作用域只在循环中有效 2.更新变量中使用i++和++i没有区别

伪死循环:

for(int i = 0;i>= 0;i++){
    System.out.println("伪死循环");
}

理解:int最大值为21亿,循环21亿次后再++,就变成了负数了

小结: 1.初始化变量不一定从0开始 2.更新变量不一定每次都是++

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值