if条件语句分为三种语法格式,具体如下:
(1)if语句
(2)if…else语句
(3)if…else if…else语句
由于这三种语法格式都有自身的特点,因此,接下来将针对这三种格式进行详细地讲解。
1、if语句:
if语句是指如果满足某种条件,就进行某种处理,其语法格式如下所示:
if(条件语句){
代码块
}
上述语法格式中,判断条件是一个布尔值,当值为true时,才会执行{}中的语句。
if语句的执行流程如下图所示。
2、if…else语句
if…else语句是指如果满足某种条件,就进行某种处理,否则就进行另一种处理,其语法格式如下所示:
if(判决条件){
执行语句1
}else{
执行语句2
}
if…else语句的执行流程如下图所示
在Java中有一种特殊的运算叫做三元运算,它和if-else语句类似,语法如下
判断条件?表达式1:表达式2
三元运算通常用于对某个变量进行赋值,当判断条件成立时,运算结果为表达式1的值,否则结果为表达式2的值。
int x = 0;
int y = 1;
int max;
if(x > y) {
max = x;
} else {
max = y;
}
int max = x > y ? x : y;
3、if…else if…else语句
if…else if …else语句用于对多个条件进行判断,进行多种不同的处理,其语法格式如下所示:
if (判断条件1){
执行语句1;
}else if(判断条件2){
执行语句2;
}
...
else if(判断条件n){
执行语句n;
}else{
执行语句n+1;
}
if…else if…else语句的执行流程如下图所示:
switch语句也是一种很常见的选择语句。和if条件语句不同,它只能针对某个表达式的值做出判断,从而决定执行哪一段代码。
在switch语句中,使用switch关键字来描述一个表达式,使用case关键字来描述和表达式结果比较的目标值,当表达式的值和某个目标值匹配时,会执行对应case下的语句,switch语句的基本语法结果如下图所示。
例如,在程序中使用数字1~7表示周一到周日,如果想根据某个输入的数字输出中文格式的星期值,可以通过下边所示的代码来实现。
需要注意的是,在switch语句中的表达式只能是byte、short、char、int、枚举(JDK1.5引入的)、String类型(JDK1.7引入的)的值,如果传入其他值,程序会报错。
在使用switch语句的过程中,如果多个case条件后面的执行语句是一样的,则该执行语句只需书写一次即可。
例如,要判断一周中的某一天是否为工作日,同样使用数字1~7来表示星期一到星期天,当输入的数字为1、2、3、4、5时就视为工作日,否则就视为休息日。
1、while语句
while语句和if条件语句有点类似,都是根据条件判断来决定是否执行后面的代码,区别在于,while循环语句会反复地进行条件判断,只要条件成立,{}内的执行语句就会执行,直到条件不成立,while循环结束。
while循环语句的语法结构如下所示
while(循环条件){
执行语句
....
}
while循环语句的执行流程如下图所示。
2、do…while
do…while循环语句和while循环语句功能类似,其语法结构如下所示:
do {
执行语句
......
}while(循环条件);
for循环语句是最常用的循环语句,一般用在循环次数已知的情况下,其语法格式如下所示:
for(初始化表达式;循环条件;操作表达式){
执行语句
......
}
在上述语法格式中,for后面的()中包括三部分内容,初始化表达式、循环条件和操作表达式,他们之间用“;”分隔,{}中的执行语句为循环体
如果用①表示初始化表达式、②表示循环条件、③表示操作表达式、④表示循环体,则for循环的执行流程如下所示:
嵌套循环是指在一个循环语句的循环体中再定义一个循环语句的语法结构。while、do…while、for循环语句都可以进行嵌套,并且它们之间也可以互相嵌套,如最常见的在for循环中嵌套for循环,格式如下:
for(初始化表达式;循环条件;操作表达式) {
......
for(初始化表达式;循环条件;操作表达式){
执行语句
..........
}
..........
}
跳转语句用于实现循环执行过程中程序流程的跳转,在Java中的跳转语句有break语句和continue语句
1、break语句:用在switch条件语句和循环语句中,它的作用是终止某个case并跳出switch结构。
2、continue语句:用在循环语句中,它的作用是终止本次循环,执行下一次循环