Java SE - if-else-if 多重条件判断与循环技术文档
概述
在Java SE中,if-else-if
结构是一种常用的条件分支逻辑,它允许程序根据不同的条件执行不同的代码块。当需要处理多个互斥的条件时,这种结构非常有用。此外,通过将if-else-if
结构与循环(如for
循环或while
循环)结合使用,可以实现更复杂的逻辑控制流程。
基本语法
if-else-if
结构
java
深色版本
1if (condition1) { 2 // 条件1为真时执行的代码 3} else if (condition2) { 4 // 条件2为真时执行的代码 5} else if (condition3) { 6 // 条件3为真时执行的代码 7} else { 8 // 所有条件都不满足时执行的代码 9}
循环结构
-
For循环
java
深色版本
1for (初始化; 终止条件; 更新表达式) { 2 // 循环体 3}
-
While循环
java
深色版本
1while (条件) { 2 // 循环体 3}
示例
假设我们需要创建一个程序,该程序根据用户输入的年龄和性别显示不同的欢迎消息。此外,程序还需要循环接收用户的输入直到用户选择退出。
完整代码示例
java
深色版本
1import java.util.Scanner; 2 3public class WelcomeMessage { 4 public static void main(String[] args) { 5 Scanner scanner = new Scanner(System.in); 6 boolean running = true; 7 8 while (running) { 9 System.out.println("请输入您的年龄:"); 10 int age = scanner.nextInt(); 11 12 System.out.println("请输入您的性别(M/F/O):"); 13 String gender = scanner.next().toUpperCase(); 14 15 if (age < 18) { 16 System.out.println("您还未成年!"); 17 } else if (age >= 18 && age <= 65) { 18 if ("M".equals(gender)) { 19 System.out.println("欢迎成年男性用户!"); 20 } else if ("F".equals(gender)) { 21 System.out.println("欢迎成年女性用户!"); 22 } else { 23 System.out.println("欢迎成年其他性别用户!"); 24 } 25 } else { 26 System.out.println("欢迎老年用户!"); 27 } 28 29 System.out.println("是否继续?(Y/N)"); 30 String continueChoice = scanner.next().toUpperCase(); 31 if (!"Y".equals(continueChoice)) { 32 running = false; 33 } 34 } 35 36 scanner.close(); 37 System.out.println("程序已退出。"); 38 } 39}
解析
-
循环逻辑:使用
while
循环持续读取用户输入,直到用户决定退出。 -
条件判断
:
-
使用
if-else-if
结构根据年龄和性别显示不同的欢迎消息。 -
如果年龄小于18岁,则输出“您还未成年!”。
-
如果年龄在18到65岁之间,再根据性别输出相应的欢迎消息。
-
如果年龄大于65岁,则输出“欢迎老年用户!”。
-
-
退出逻辑:询问用户是否继续,如果不是“Y”,则设置
running
为false
,从而退出循环。
注意事项
-
确保所有条件都是互斥的,即每个条件不会同时为真。
-
在循环体内检查用户输入的有效性,避免程序出现异常。
-
使用恰当的缩进来提高代码的可读性。