选择结构
Java中选择结构多样,包含 if 单选择结构、if 双选择结构、if 多选择结构、嵌套的 if 结构和 switch 多选择结构
if 单选择结构
-
语法结构:
if (布尔表达式) { // 如果布尔表达式为true,则执行 }
-
生活中通常会遇到一些特殊情况,例如:如果我能在中午12点之前到北京,我就去吃北京全聚德烤鸭
-
程序中很多时候也需要处理特殊情况,如果可行才会去执行特殊的程序,这样的一个过程,在程序中使用 if 语句来进行表示
-
程序案例:
public static void main(String[] args) { int a = 100; if (a < 100) { System.out.println("a小于100!"); } if (a >= 100) { System.out.println("a大于等于100!"); } } // -------------------------------------- // 控制栏输出打印: // a大于等于100!
if 双选择结构
-
语法结构:
if (布尔表达式) { // 如果布尔表达式为true,则执行 } else { // 如果布尔表达式为false,则执行 }
-
与 if 单选择结构相同,不同点是如果没完成条件就去做另一件事情,例如:如果我能在中午12点之前到北京,我就去吃北京全聚德烤鸭,否则我就去吃老北京炸酱面
-
程序案例:
public static void main(String[] args) { long l = 12l; if (l <= 12) { System.out.println("吃北京烤鸭!"); } else { System.out.println("吃北京炸酱面!"); } } // -------------------------------------- // 控制栏输出打印: // 吃北京烤鸭!
if 多选择结构
-
语法结构:
if (布尔表达式1) { // 如果布尔表达式1为true,则执行 } else if (布尔表达式2) { // 如果布尔表达式2为true,则执行 } else if (布尔表达式3) { // 如果布尔表达式3为true,则执行 } · · · else { // 如果以上布尔表达式都为false执行程序 }
-
在 if 单选择结构和 if 双选择结构上,在次新增多种情况
-
程序案例:
public static void main(String[] args) { double grades = 85.6; if (grades >= 90) { System.out.println("成绩甲等!"); } else if (grades < 90 && grades >= 80) { System.out.println("成绩乙等!"); } else if (grades < 80 && grades >= 70) { System.out.println("成绩丙等!"); } else if (grades < 70 && grades >= 60) { System.out.println("成绩丁等!"); } else { System.out.println("成绩未达等级,需要补考!"); } } // -------------------------------------- // 控制栏输出打印: // 成绩乙等!
嵌套的 if 结构
-
语法结构:
if (布尔表达式1) { // 如果布尔表达式1为true if (布尔表达式2) { // 如果布尔表达式2为true } }
-
多重if 嵌套,Java程序中使用嵌套的if…else语句是合法的,也就是说可以在另一个 if 中或者else if 语句中使用 if 或者 else if 语句
-
程序案例:
public static void main(String[] args) { int a = 99; if (a > 80) { if (a > 95) { System.out.println("a大于95,a的值为:" + a); } } } // -------------------------------------- // 控制栏输出打印: // a大于95,a的值为:99
switch 多选择结构
-
语法结构:
switch(expression){ case value1 : // 语句 break; case value2 : // 语句 break; case value3 : // 语句 break; · · · default : // 语句 }
-
switch case 语句判断一个变量与一系列值中某个值是否相等,每一个值为一个分支
-
switch 语句中的变量类型可以是:
- byte、short、int 或 char
- JDK7 开始,switch开始可以支持String(字符串)类型,且 case 标签必须是字符串常量或字面量
-
程序案例:
public static void main(String[] args) { int a = 10; switch (a) { case 5: System.out.println("这里输出5!!!"); break; case 6: System.out.println("这里输出6!!!"); break; case 7: System.out.println("这里输出7!!!"); break; case 8: System.out.println("这里输出8!!!"); break; case 9: System.out.println("这里输出9!!!"); break; case 10: System.out.println("这里输出10!!!"); break; default: System.out.println("这里输出小于5的!!!"); } } // -------------------------------------- // 控制栏输出打印: // 这里输出10!!!