(十一)java-【选择结构】+【if-else】+【多重if】+【switch-case】+【选择嵌套】
程序逻辑流程顺序结构 选择分支结构 循环结构选择结构程序中的一段代码不是一定会执行需要执行必须满足一定的条件if单分支满足就执行不满足就跳过 if(条件){ //满足条件要执行的代码 } 条件就是一个布尔值 满足条件就执行if后面{}中的代码 不满足条件不执行 如果满足条件要执行的语句只有一条可以省略{}if-else两路分支二选一 if(条件){ //满足条件执行的代码 }else{ //不满足条件执行的代码 } if(条件){ //111 } if(相反条件){ //222 } 满足条件执行if后面的代码 不满足条件执行else后面的代码多重if多选一 if(条件1){ //代码1 }else if(条件2){ //代码2 }else if(条件3){ //代码3 }else{ //代码4 } if:有且只有一个 else if:任意0个1个多个 else:最多一个0个1个 执行流程 判断条件1 条件1为真执行代码1整个结构结束 条件1为假判断条件2 条件2为真执行代码2整个结构结束 条件2为假判断条件3 条件3为真执行代码3整个结构结束 条件3为假执行elseswitch-case多重if某些特殊情况的一种简化写法 switch(变量或者表达式){ case 常量1: 语句1; break; case 常量2: 语句2; break; case 常量3: 语句3; break; ... defalut: 语句5; break; } 将变量或者表达式的值和case后面的常量值进行比较如果和某个常量值相等就执行这个分支的代码 break关键字避免case穿透: 进入某个分支没有break,会一直往下执行一直执行完后面所有的case分支或者遇到break才会结束 case后面的常量值不能相同 每个分支要执行多条语句不需要{} case常量的顺序没有关系 switch-case使用的限制 只能实现等值匹配无限区间的数值没法使用 匹配的数据类型有要求 JDK1.4: byte short char int JDK1.5: 枚举 JDK1.7: 字符串 编码的推荐习惯 能使用switch-case就使用switch-case 代码结构优雅 比多重if性能高选择嵌套选择结构的任何分支可以再添加选择结构 if(条件1){ if(条件2){ //满足条件1满足条件2 //111 }else{ //满足条件1不满足条件2 //222 } } if(条件1){ if(条件2){ //满足条件1满足条件2 }else{ //满足条件1不满足条件2 } }else{ //不满足条件1 } if(条件1){ //满足条件1 }else{ if(条件2){ // }else{ } } if(条件1){ if(){ }else{ } }else{ if(){ }else{ } }快捷键Reformat Code 格式化代码 ctrlaltL Surround With... 添加外层代码设置提示不区分大小写