流程控制语句
流程控制结构
顺序结构:从上往下
选择结构:
if语句
1、if(判断语句) 当判断语句为true时执行的代码;
2、 if(判断语句) {
当判断语句为true时执行的代码;
}
3、if(判断语句){
当判断语句为true时执行的代码;
}else{
当判断语句为false时执行的代码;
}
4、if(判断语句1){
当判断语句1为true时执行的代码;
}else if(判断语句2){
当判断语句2为true时执行的代码;
}else{
当判断语句1、2都为false时执行的代码;
}
注意:第四种分支语句,如果有多个else if,并且当有值能进入多else if时,只会进入第一个遇到的elseif
switch语句:switch(值){
case 值1:当值等于值1的时候执行代码;break;
case 值2:当值等于值2的时候执行代码;break;
definlt: 当值都不等于值1、2时执行的代码;break;
}
注意:值可以为byte,short,int,char
1、jdk7之后才支持值可为String字符串。
2、每个case后面代码都要加上break,如果不加上break,比如当满足了值等于值1,执行完第一个case的代码后,也会执行case2的代码。
3、definlt如果放再case中间,不加break也会像第二条那样执行下一条case。
4、jdk5之后可以是枚举
循环结构
while循环:定义变量并赋值;
while(变量坐做比较运算){
需要循环的代码;
变量自运算;
}
do-while循环:定义变量并赋值;
do{
需要循环的代码;
变量自运算;
}while(变量做比较运算);
do-while与while的比较:do-while无论变量为多少,都会先执行一遍,而while只有再变量符合比较运算时才会执行
for循环:for(定义变量并赋值;变量作为比较运算;变量自运算){
需要循环的代码;
}
增强for循环,也叫for-each:for(Object obj : array){
}
增强for循环不能添加或者删除元素,它的底层是迭代器的原理
注意:1、如果想强制跳出循环,可以添加break,如果只想跳过本轮循环,可以使用continue;
2、如果多重循环嵌套,以两层循环为例子,想跳出循环,可以在外层循环关键字前加上标志字母比如out(不限),然后在break后加上out既可:
1 int z = 0;
2 out: for (int i = 0; i < 10; i++) {
3 for (int j = 0; j < 10; j++) {
4 z++;
5 if (z == 11) {
6 break out;
7 }
8 }
9 }
10 System.out.println(z);