if 嵌套语句
if 嵌套语句的格式如下:
if(外侧条件){
// 外侧条件为 true 时执行的代码
if(内侧条件){
// 内侧条件为 true 时执行的代码
}
}
画个流程图表示一下:
来写个示例:
public class NestedIfExample { public static void main(String[] args) { int age = 20; boolean isGirl = true; if (age >= 20) { if (isGirl) { System.out.println("女生法定结婚年龄"); } } } }
输出:
女生法定结婚年龄
1
switch 语句的格式:
switch(变量) {
case 可选值1:
// 可选值1匹配后执行的代码;
break; // 该关键字是可选项
case 可选值2:
// 可选值2匹配后执行的代码;
break; // 该关键字是可选项
......
default: // 该关键字是可选项
// 所有可选值都不匹配后执行的代码
}
变量可以有 1 个或者 N 个值。
值类型必须和变量类型是一致的,并且值是确定的。
值必须是唯一的,不能重复,否则编译会出错。
break 关键字是可选的,如果没有,则执行下一个 case,如果有,则跳出 switch 语句。
default 关键字也是可选的。
画个流程图:
来个示例:
public class Switch1 { public static void main(String[] args) { int age = 20; switch (age) { case 20 : System.out.println("上学"); break; case 24 : System.out.println("苏州工作"); break; case 30 : System.out.println("洛阳工作"); break; default: System.out.println("未知"); break; // 可省略 } } }
输出:
上学
当两个值要执行的代码相同时,可以把要执行的代码写在下一个 case 语句中,而上一个 case 语句中什么也没有,来看一下示例:
public class Switch2 { public static void main(String[] args) { String name = "沉默王二"; switch (name) { case "詹姆斯": System.out.println("篮球运动员"); break; case "穆里尼奥": System.out.println("足球教练"); break; case "沉默王二": case "沉默王三": System.out.println("乒乓球爱好者"); break; default: throw new IllegalArgumentException( "名字没有匹配项"); } } }
输出:
乒乓球爱好者
枚举作为 switch 语句的变量也很常见,来看例子:
public class SwitchEnumDemo { public enum PlayerTypes { TENNIS, FOOTBALL, BASKETBALL, UNKNOWN } public static void main(String[] args) { System.out.println(createPlayer(PlayerTypes.BASKETBALL)); } private static String createPlayer(PlayerTypes playerType) { switch (playerType) { case TENNIS: return "网球运动员费德勒"; case FOOTBALL: return "足球运动员C罗"; case BASKETBALL: return "篮球运动员詹姆斯"; case UNKNOWN: throw new IllegalArgumentException("未知"); default: throw new IllegalArgumentException( "运动员类型: " + playerType); } } }
输出:
篮球运动员詹姆斯
循环语句比较
比较方式 for while do-while
简介 for 循环的次数是固定的 while 循环的次数是不固定的,并且需要条件为 true do-while 循环的次数也不固定,但会至少执行一次循环,无聊条件是否为 true
何时使用 循环次数固定的 循环次数是不固定的 循环次数不固定,并且循环体至少要执行一次
语法 for(init:condition;++/–) {// 要执行的代码} while(condition){// 要执行的代码} do{//要执行的代码}while(condition);