Java 程序设计基础(第2章第5、6节)|表达式、运算优先级、三大程序控制语句
前面我们学习了变量、数据类型和各类运算符,本节先讲解表达式、运算优先级,再重点学习Java三大程序控制语句:顺序结构、分支结构、循环结构。控制语句是实现程序逻辑、判断、重复执行的核心,也是Java编程重中之重,笔记搭配案例代码,适合课堂复习、课后练习与期末备考。
第五部分 表达式与运算优先级
一、什么是表达式
由变量、常量、运算符、括号按照语法规则组合而成的式子,统称为表达式。
• 表达式运算后都会得到一个运算结果;
• 单个变量、常量也可以看作最简单的表达式;
• 表达式可以直接参与运算、赋值、判断。
示例:
int a = 10;
int b = 20;
int c = a + b * 2; // 完整表达式
boolean flag = a > b; // 关系表达式
二、运算符优先级与结合性
当一个表达式中存在多个不同运算符时,会按照优先级高低依次计算;优先级相同时,按照结合性(从左到右 / 从右到左)计算。
1. 常用运算符优先级(从高 → 低)
1. 括号 () (优先级最高,可强行改变运算顺序)
2. 自增++、自减--、逻辑非!
3. 算术运算符:* / % > + -
4. 关系运算符:> < >= <= > == !=
5. 逻辑运算符:&& > ||
6. 三元运算符 ? :
7. 赋值运算符 = += -= 等(优先级最低)
2. 结合规则
• 绝大多数运算符:从左向右计算
• 一元运算符、赋值运算符、三元运算符:从右向左计算
3. 实操原则(新手推荐)
1. 记不住优先级,一律加括号,既避免计算错误,又提升代码可读性;
2. 复杂表达式尽量拆分,不要写成一长串。
4. 示例演示
public class ExpressDemo {
public static void main(String[] args) {
int num = 10 + 20 * 2;
// 先算乘法 20*2=40,再算加法 10+40=50
System.out.println(num);
int res = (10 + 20) * 2;
// 括号优先,先算加法,结果为60
System.out.println(res);
}
}
第六部分 程序控制语句
Java程序执行流程分为三大结构:顺序结构、分支结构、循环结构。
一、顺序结构
程序自上而下、逐行依次执行,不跳转、不判断,是默认执行流程。
所有简单代码默认都是顺序结构,也是另外两种结构的基础。
示例:
public class OrderDemo {
public static void main(String[] args) {
System.out.println("第一行代码");
System.out.println("第二行代码");
System.out.println("第三行代码");
}
}
二、分支结构(选择语句)
根据布尔条件判断结果,选择不同代码块执行,分为 if 系列和 switch 语句。
1. if 条件语句
(1)单分支 if
语法:
if(布尔表达式){
条件成立时执行的代码;
}
逻辑:表达式为 true 执行代码块,为 false 直接跳过。
(2)双分支 if...else
语法:
if(布尔表达式){
条件成立执行代码;
}else{
条件不成立执行代码;
}
(3)多分支 if...else if...else
适用于多条件分段判断。
语法:
if(条件1){
代码1;
}else if(条件2){
代码2;
}else if(条件3){
代码3;
}else{
以上条件都不成立,执行此处;
}
if 综合示例(成绩评级)
public class IfDemo {
public static void main(String[] args) {
int score = 85;
if(score >= 90){
System.out.println("优秀");
}else if(score >= 80){
System.out.println("良好");
}else if(score >= 60){
System.out.println("及格");
}else{
System.out.println("不及格");
}
}
}
2. switch 选择语句
适合固定等值判断(区间判断优先使用if),支持 byte、short、int、char、枚举、String。
语法格式
switch(表达式){
case 常量值1:
执行代码;
break; // 跳出switch,防止穿透
case 常量值2:
执行代码;
break;
default:
所有case都不匹配时执行;
}
重点注意
1. case 后面只能写常量,不能写变量、区间;
2. break 作用:终止分支,缺少会出现case穿透(依次向下执行);
3. default 可选,位置可任意放置。
switch 示例
public class SwitchDemo {
public static void main(String[] args) {
int week = 3;
switch (week){
case 1:
System.out.println("周一");
break;
case 2:
System.out.println("周二");
break;
case 3:
System.out.println("周三");
break;
default:
System.out.println("未知星期");
}
}
}
三、循环结构
满足条件时,重复执行一段代码,Java常用三种循环:for、while、do-while。
1. while 循环
先判断条件,条件成立再执行循环体,可能一次都不执行。
语法:
while(布尔表达式){
循环体代码;
}
2. do-while 循环
先执行一次循环体,再判断条件,至少执行一次。
语法:
do{
循环体代码;
}while(布尔表达式); // 末尾分号不能省略
3. for 循环
结构清晰,适合已知循环次数的场景,开发、考试使用频率最高。
语法:
for(初始化表达式; 判断条件; 更新表达式){
循环体代码;
}
for 循环执行顺序
1. 执行初始化(只执行1次)
2. 判断条件,true → 执行循环体;false → 结束循环
3. 执行更新表达式,回到第二步循环判断
循环示例(输出1~5)
public class LoopDemo {
public static void main(String[] args) {
// for 循环
for(int i = 1; i <= 5; i++){
System.out.println(i);
}
// while 循环
int j = 1;
while(j <= 5){
System.out.println(j);
j++;
}
}
}
四、循环控制跳转语句
1. break
作用:终止当前循环 / 终止switch语句,跳出整个结构。
2. continue
作用:跳过本次循环,直接进入下一次循环判断,不会终止整体循环。
示例区分:
for(int i = 1; i <= 5; i++){
if(i == 3){
continue; // 跳过i=3,继续后面循环
}
System.out.println(i);
}
本节整体总结
1. 表达式:变量、常量、运算符组合而成,运算产生结果;复杂表达式建议用括号明确顺序。
2. 运算优先级:括号 > 自增自减 > 算术 > 关系 > 逻辑 > 三元 > 赋值。
3. 顺序结构:程序默认执行流程,自上而下逐行运行。
4. 分支结构
◦ if:适合区间、复杂条件判断;
◦ switch:适合固定等值判断,注意 break 防止穿透。
5. 循环结构
◦ for:已知循环次数首选;
◦ while:先判断后执行;
◦ do-while:先执行后判断,至少运行一次。
6. 跳转关键字:break 结束整体循环,continue 仅跳过本次循环。
文末互动
表达式优先级、三大控制语句是Java逻辑编程的核心,也是考试、作业高频考点。代码练习中遇到死循环、case穿透、判断出错等问题,欢迎评论区留言交流~
更多推荐


所有评论(0)