一、判断结构语句if
1.if语句格式
if语句格式有三种:
格式一:
if(条件表达式)
{
执行语句;
}
格式二:
if (条件表达式)
{
执行语句;
}
else
{
执行语句;
}
格式三:
if (条件表达式)
{
执行语句;
}
else if (条件表达式)
{
执行语句;
}
......
else
{
执行语句;
}
2.嵌套if语句
嵌套if语句就是if语句里边还有if语句,例如:
if (i > k)
{
if (j > k)
System.out.println("i和j都大于k")
}
else
System.out.println("i小于等于k")
语句if(j>k)被嵌套在if(i>k)内。
内层的if语句还可以包含其他的if语句,可用于实现多重选择。
3.三元运算符
三元运算符相当于if-else结构的简写。
格式为:变量=(条件表达式)?表达式1:表达式2
执行时,如果条件表达式的结果为true,则变量=表达式1;若条件表达式的结果为false,则变量=表达式2。
其好处是:可以简化if-else的代码;
弊端有:因为是一个运算符,所以运算完成必须有一个结果。
二、switch语句
1.格式
switch(表达式)
{
case取值1:
执行语句;
break;
case取值2:
执行语句;
break;
......
default:
执行语句;
break;
}
2.switch语句涉及四个关键字:switch、case、break和default
3.switch语句遵从下述规则:
(1)swichcase只接受四种数据byte short intchar。
(2)case语句必须与switch表达式的值具有相同的数据类型。
(3)当switch表达式的值与case语句的值相匹配时,执行从该case开始的语句,直到遇到一个break语句或者到达switch语句的末端。
(4)break是可选的。break语句会立即终止整个switch语句。
(5)默认情况(default)是可选的,用来指定没有一个case与switch表达式相匹配时采取的操作。无论多个case和default之间的相对位置关系如何,都是先执行符合条件的case语句,最后执行default (无论default在哪,哪怕是在最前面,也是最后执行)。
(6)case语句是顺序检测的,但是,这些case的出现顺序(包括默认情况)是不重要的。然而通常按照逻辑顺序排列,把默认情况放在最后。
4.if与switch的使用情况
switch和if很相似,具体使用该如何选择呢?如果判断的数值不多,并且为byte,short,int,char这四种类型优先选择switch,这样比较节省空间;对于区间选择或者boolean类型的判断优先选择if,if的使用范围更加广泛。
三、循环语句while和do-while
1.格式:
while(条件表达式)
{
执行语句;
}
do
{
执行语句;
}while(条件表达式)
2.switch语句2.while循环执行前,先判断是否满足while后的条件表达式,若满足,则开始执行;执行一次后再回来判断是否还满足条件,若满足则继续执行,如此循环,直到不满足条件为止。do-while循环是先执行语句,然后判断是否满足while后边的表达式,是先执行后判断。do-while的特点是:无论条件是否满足,循环体至少被执行一次。
四、for循环语句
1.格式:
for(初始化表达式;循环条件表达式;循环的操作表达式)
{
执行语句;
}
2.switch语句2.变量有自己的作用域,对于for来讲,如果将用于控制循环的增量定义在for语句中,那么该变量只在for循环语句内有效。for语句执行完毕,该变量在内存中被释放。
3.for和while可以进行互换,如果需要定义循环增量,用for更合适。
4.最简单的无限循环表达式:for(;;){}
5.循环时一定要确定哪些参与循环哪些不需要参与循环
五、其他流程控制语句
break(跳出) continue(继续)
1.break语句:应用于选择结构和循环结构。
continue语句:应用于循环结构。
2.continue语句是结束本次循环,继续下次循环。
break是跳出循环,结束其所在的循环。
3.这两个语句离开应用范围,存在是没有意义的。其下面都不可以有语句,因为执行不到。