流程控制之判断结构
程序运行流程(顺序)
- 正常顺序:从上到下(一般情况从左到右)依次运行
程序运行流程(可控)
流程控制
- 选择:if、else
- 分支:switch、case、default、break
- 循环:while、do while、for、continue、return
流程图
- 菱形:判断过程
- 直角矩形:执行过程
- 圆角矩形:节点
- 平行四边形:输入输出过程
if判断
if的单独使用
if(/*boolean类型表达式*/){
//语句块1;
}//如果if后面括号中的表达式值为真,则会执行语句块1,如果不成立为假时,则不执行
//语句块2无论如何都会执行到
语句块2;
if 与 else 的配合使用
if(/*boolean类型表达式*/){
//语句块1;
}//如果if后面括号中的表达式值为真,则会执行if中的语句块1
else{
//语句块2;
}//如果if后面括号中的表达式值为假,则会执行else中的语句块2
语句块3;//语句块3无论如何都会执行到
else if 的使用
if(/* 条件1 */){
//语句块1;
}else if(/* 条件2 */){
//语句块2;
}else if(/* 条件3 */){
//语句块3;
}else if(/* 条件N */){
//语句块N;
}else{
//语句块else;
}
//当条件1、2、3直到N当中的任意一个条件满足时,执行对应的语句块,而且一旦满足了其中任意一个条件,其他的 if 判断不在继续执行,如果都没有满足条件则执行else中的语句块else
if的嵌套使用
if(/* 条件1 */){
if(/* 条件2 */){
//语句块1;
}else{
//语句块2;
}
}else{
if(/* 条件3 */){
//语句块3;
}else{
//语句块4;
}
}
//如果条件1成立则继续判断条件2,当条件2成立时执行语句块1,如果条件1成立但是条件2不成立则执行语句块2,如果条件1不成立则执行外层else中的if判断条件3,如果条件1不成立而条件3成立,则执行语句块三,否则(条件1不成并且条件3也不成立)则执行语句块4
//注意:else的匹配规则:else与之前(同级别)最近且尚未匹配过的if进行匹配
案例
判断一个数是奇数还是偶数
int num = 8;
if(num % 2 == 0){
System.out.println("偶数");
}else{
System.out.println("奇数");
}
判断平闰年
int year = 2000;
if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0){
System.out.println("闰年");
}else{
System.out.println("平年");
}