一、多重if选择结构
if如果
语法:
if(条件){
代码块
}
当条件为true时进入代码块
使用多重if选择语句处理问题时需要注意顺序
使用if-else选择结构
if ...else...如果...否则...
语法
if ( 条件 ) {
//代码块1
}else {
//代码块2
}
当条件为true时进入代码块1,条件为false时进入代码块2
注意:if和else只会进来一个
只有一条语句时,{ }可以省略,建议不省略
流程图
逐步解决指定问题的步骤和方法的一种图形化表示方法
平时我们都是拖拉拽,但每个图都有意义
二、使用复杂条件的if选择结构
结合运算符的优先级编写条件
最高的优先级:( )
最低的优先级:=
优先级:!> 算术运算符 > 关系运算符 > && > ||
复杂条件使用括号提高可读性
使用多重if选择结构:单个if选择结构无法完成,多个if选择结构麻烦且效率低;可以有多个,可以省略
嵌套if选择结构
提示:字符串的比较使用equals()如:sex.equals("男");
嵌套if控制语句可以通过外层语句和内层语句的协作,增强程序的灵活性
if...elseif...else 如果...否则如果...否则
if(条件1) {
if(条件2) {
代码块1
} else {
代码块2
}
} else {
代码块3
}
注意:
elseif可以写多个
else 可以省略
注意条件顺序
在字符串进行比较时:
==:比较内存地址
equals:比较字符串的值
使用switch选择结构
缺点:结构复杂,啰嗦
特点:条件为等值判断
switch选择结构语法int、short、byte、char、枚举类型、String
switch (表达式) {
case 常量 1:
语句;
break;
case 常量 2:
语句;
break;
…
default:
语句;
}
三、常见错误
如果需要每个case执行完后跳出,在每个case后不要忘记写break;
Case后的常量值不能相同
default块顺序可以变动,但要注意其执行顺序。通常,default块放在末尾,也可以省略
四、switch与多重if
1.相同点
都是用来处理多分支条件的结构
2.不同点
switch选择结构:只能处理等值条件判断的情况
多重if选择结构:没有switch选择结构的限制,特别适合某个变量处于某个连续区间时的情况
五、变量作用域
以上面离得最近的大括号为主
六、二进制转换
int num = 50;
// num%2 50%2 0 50/2
// 25%2 1
// 12%2 0
// 6%2 0
// 3%2 1
// 1%2 0
//将十进制转换为二进制
String s = Integer.toBinaryString(num);
System.out.println(s);
//110010
String bs = "110010";
//将二进制转换为十进制
int d = Integer.parseInt(bs,2);
System.out.out.println(d);
七、总结
if选择结构,包括以下形式
基本if选择结构:可以处理单一或组合条件的情况
if-else选择结构:可以处理简单的条件分支情况
多重if选择结构:可以处理分段的条件分支情况
嵌套if选择结构:可以处理复杂的条件分支情况
switch选择结构
多重分支并且条件判断是等值判断的情况