Java编程基础:分支与循环全解析

目录

一、分支结构

1. if 语句(三种格式)

① 单分支 if(格式 1)

② 双分支 if-else(格式 2)

 ③ 多分支 if-else if-else(格式 3)

2. switch 语句

二、循环结构

1. for 循环

2. while 循环

3. do...while 循环


 

一、分支结构

1. if 语句(三种格式)

分支结构用于根据 条件判断 决定程序执行路径,核心是 “条件成立则执行某段逻辑,不成立则走其他分支(或不执行)”。

① 单分支 if(格式 1)

if (关系表达式) {  
    语句体;  
}  
  • 语法解释
    • 关系表达式:结果必须是 boolean 类型(true/false ),比如 age > 18score == 100 。
    • 若表达式结果为 true,则执行 {} 里的 语句体;若为 false,则跳过 {} ,继续执行后续代码。
  • 示例
int age = 20;  
if (age >= 18) {  
    System.out.println("已成年");  
}  
// 条件成立,输出:已成年  

② 双分支 if-else(格式 2)

if (关系表达式) {  
    语句体1;  
} else {  
    语句体2;  
}  
  • 语法解释
    • 先判断 关系表达式 ,结果为 true 执行 语句体1;为 false 执行 语句体2 。
    • 两个分支 必走其一 ,走完后继续执行后续代码。
  • 示例
int score = 59;  
if (score >= 60) {  
    System.out.println("及格");  
} else {  
    System.out.println("不及格");  
}  
// 条件不成立,输出:不及格  

 ③ 多分支 if-else if-else(格式 3)

if (关系表达式1) {  
    语句体1;  
} else if (关系表达式2) {  
    语句体2;  
} // 可继续扩展 else if  
else {  
    语句体n+1;  
}  
  • 语法解释
    • 从上到下依次判断 关系表达式 ,遇到第一个结果为 true 的表达式 ,执行对应 语句体 ,后续 else if / else 不再判断。
    • 若所有 关系表达式 都为 false ,则执行 else 里的 语句体n+1 。
  • 示例
int grade = 85;  
if (grade >= 90) {  
    System.out.println("优秀");  
} else if (grade >= 80) {  
    System.out.println("良好");  
} else if (grade >= 60) {  
    System.out.println("及格");  
} else {  
    System.out.println("不及格");  
}  
// 条件 grade >= 80 成立,输出:良好  

 

2. switch 语句

用于 多值匹配场景 ,根据表达式结果,跳转到对应 case 执行逻辑。

switch (表达式) {  
    case 值1:  
        语句体1;  
        break; // 可选,作用是“跳出 switch”,若省略会继续执行后续 case  
    case 值2:  
        语句体2;  
        break;  
    // ... 可继续扩展 case  
    default:  
        语句体n+1;  
        break;  
}  
  • 语法解释
    • 表达式:结果类型支持 byte/short/int/char ,以及 String(Java 7+)、枚举等有限类型 。
    • 程序先计算 表达式 的值,然后匹配 case 后的值:
      • 匹配到某个 case ,执行对应 语句体 ;若遇到 break ,直接跳出 switch 。
      • 若省略 break ,会 “穿透” 执行后续 case 的 语句体(直到遇到 break 或结束)。
      • 所有 case 都不匹配时,执行 default 里的 语句体n+1default 也可省略)。
  • 示例
int day = 3;  
switch (day) {  
    case 1:  
        System.out.println("周一");  
        break;  
    case 2:  
        System.out.println("周二");  
        break;  
    case 3:  
        System.out.println("周三");  
        break;  
    default:  
        System.out.println("其他");  
}  
// 匹配 case 3,输出:周三  

二、循环结构

循环结构用于 重复执行某段逻辑 ,核心是 “满足条件就持续循环,不满足则退出”。

1. for 循环

适合 已知循环次数 的场景,语法简洁,把初始化、条件判断、步长控制集中在头部。

for (初始化语句; 条件判断语句; 条件控制语句) {  
    循环体语句;  
}  
  • 语法拆解
    1. 初始化语句:循环前执行 一次 ,用于声明 / 赋值循环变量(如 int i = 0 )。
    2. 条件判断语句:每次循环前执行,结果为 boolean 类型。true 则进入循环体,false 则退出循环。
    3. 条件控制语句:每次循环体执行完后执行,通常用于改变循环变量(如 i++ 让变量递增)。
    4. 循环体语句:满足条件时重复执行的逻辑,需用 {} 包裹(单行时可省略,但建议保留以增强可读性)。
  • 执行流程(对应流程图):
    初始化语句 → 判 条件判断语句false 则退出)→ 执行 循环体语句 → 执行 条件控制语句 → 回到 条件判断语句 重复判断...
  • 示例:
// 输出 0~4(循环 5 次)  
for (int i = 0; i < 5; i++) {  
    System.out.println(i);  
}  
// 执行流程:  
// i=0 → 条件 true → 输出 0 → i=1  
// i=1 → 条件 true → 输出 1 → i=2  
// ... 直到 i=5 → 条件 false → 退出  

2. while 循环

适合 循环次数不明确 、靠条件动态控制的场景,语法更灵活。

// 初始化语句(可写在外部)  
while (条件判断语句) {  
    循环体语句;  
    条件控制语句; // 需手动维护,否则可能死循环  
}  
  • 语法解释
    • 初始化语句 一般写在 while 外(如 int i = 0; ),仅执行一次。
    • 先判断 条件判断语句 ,true 则执行 循环体语句 + 条件控制语句false 则直接退出。
    • 若省略 条件控制语句 ,循环变量不改变,可能导致 死循环(需避免)。
  • 执行流程(对应流程图):
    初始化语句 → 判 条件判断语句false 则退出)→ 执行 循环体语句 + 条件控制语句 → 回到 条件判断语句 重复...
  • 示例
int i = 0;  
while (i < 5) {  
    System.out.println(i);  
    i++; // 手动控制循环变量,否则死循环  
}  
// 输出 0~4 ,逻辑与 for 循环示例等价  

3. do...while 循环

与 while 类似,但 至少执行一次循环体(先执行、后判断)。

// 初始化语句  
do {  
    循环体语句;  
    条件控制语句;  
} while (条件判断语句);  
  • 语法解释
    • 先执行 循环体语句 + 条件控制语句 ,再判断 条件判断语句 。
    • 若 条件判断语句 为 true ,继续循环;为 false ,则退出。
  • 执行流程(对应流程图):
    初始化语句 → 执行 循环体语句 + 条件控制语句 → 判 条件判断语句false 则退出,true 则回到循环体)...
  • 示例:
int i = 0;  
do {  
    System.out.println(i);  
    i++;  
} while (i < 5);  
// 输出 0~4 ,与 for、while 效果一致;即使条件一开始不满足,也会执行一次循环体  

三、总结 

 实际编码中,根据需求选对应结构即可。比如:固定次数遍历用 for ,动态条件判断用 while ,多值匹配用 switch 等,核心是清晰表达 “条件 → 执行逻辑” 的流程 。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值