一、运算符回顾
-
算术运算符
- 整数相除不保留小数(如
10/3=3)
- 整数相除不保留小数(如
-
自增运算符
++作用:使数据自增 1i++:先使用后自增++i:先自增后使用
-
逻辑运算符
&&与&共同点:两边都为真结果才为真- 不同点:
&&有短路效果(第一个为假时,后面不执行)
-
三目运算符
- 语法:
数据类型 变量 = 布尔表达式 ? 真时结果 : 假时结果; - 示例:
String s = a > b ? "a大" : "b大";
- 语法:
-
类型转换问题
- 错误示例:
short s = 1; s = s + 1;(s+1结果为int类型,不能直接赋值给short) - 解决方案:
s = (short)(s + 1);或s += 1;(+=会自动类型转换)
- 错误示例:
二、流程控制语句分类
- 分支语句:
if、if-else、else if - 选择语句:
switch-case - 循环语句:
while、do-while、for
三、分支语句
3.1 if(单分支)
- 语法:
if (布尔表达式) { 执行语句; } - 执行逻辑:表达式为
true时执行语句体,否则跳过
3.2 if-else(双分支)
- 语法:
if (布尔表达式) { 执行语句1; } else { 执行语句2; } - 执行逻辑:二选一执行(
true执行语句 1,false执行语句 2)
3.3 else if(多分支)
- 语法:
if (布尔表达式1) { 执行语句1; } else if (布尔表达式2) { 执行语句2; } else { 执行语句n; } - 执行逻辑:从上到下判断,满足第一个条件后执行对应语句,后续不再判断;都不满足则执行
else
四、选择语句(switch-case)
- 语法:
switch (表达式) { case 常量1: 语句体1; break; case 常量2: 语句体2; break; ... default: 语句体n; break; } - 注意事项:
- 表达式数据类型支持:
byte、short、int、String、枚举 case后必须是常量,不能是变量break用于终止当前分支,不写会导致case击穿(继续执行下一分支)default可选,当所有case不匹配时执行
- 表达式数据类型支持:
五、循环语句
5.1 while 循环
- 语法
while (布尔表达式) { 循环体; } - 执行流程:先判断表达式,
true则执行循环体,重复判断直到false - 四要素:初始条件、循环控制条件、循环体、迭代条件
5.2 do-while 循环(了解)
- 语法
do { 循环体; } while (布尔表达式); - 特点:先执行一次循环体,再判断条件(至少执行一次)
- 与
while区别:执行顺序不同(do-while先执行后判断)
5.3 for 循环(重点)
- 语法:
for (表达式1; 表达式2; 表达式3) { 循环体; }- 表达式 1:循环初始条件(仅执行一次)
- 表达式 2:循环终止条件(每次执行前判断)
- 表达式 3:循环迭代条件(每次循环体执行后执行)
- 适用场景:循环次数明确时优先使用
5.4 循环嵌套
- 外层循环控制行数,内层循环控制列数
- 示例(打印三角形)
for (int i = 1; i < 5; i++) { // 打印空格 for (int j = 1; j <= 4 - i; j++) { System.out.print(" "); } // 打印* for (int j = 1; j <= 2*i-1 ; j++) { System.out.print("*"); } System.out.println(); }
六、补充要点
-
循环控制:
break:终止当前循环continue:跳过本次循环剩余部分,直接进入下一次循环(未在原内容中提及,补充至此)
-
流程语句选择建议:
- 分支判断:简单条件用
if,多等值判断用switch - 循环选择:次数明确用
for,次数不明确用while,至少执行一次用do-while
- 分支判断:简单条件用
-
注意事项:
- 避免死循环(循环条件永远为
true) - 循环嵌套不宜过深(影响可读性和性能)
- 避免死循环(循环条件永远为
1543

被折叠的 条评论
为什么被折叠?



