流程控制
流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。
其流程控制方式采用结构化程序设计中规定的三种基本流程结构,即:
- 顺序结构
- 分支结构
- 循环结构
顺序结构:程序从上到下执行
分支结构:if-else,switch-case
switch:
1.根据switch表达式中的值,依次匹配各个case的常量。一旦匹配成功,则进入相应case结构中,调用其执行语句。当调用完执行语句以后,则仍然继续向下执行其他case结构中的执行语句(此时直接跳过判断),直到遇到break关键字或此switch-case结构末尾结束为止
2.break,可以使用在switch-case结构中,表示一旦执行到此关键字,就跳出switch-case结构
3.switch结构中的表达式,只能是如下的6种数据类型之一:
byte、short、char、int、枚举类型(JDK5.0新增)、String类型(JDK7.0新增)
4.case 之后只能声明常量,不能声明范围
5.break关键字是可选的,即看情况使用
6.default:相当于if-else结构中的else
default结构也是可选的,而且位置是灵活的
7.如果switch-case结构中的多个case的执行语句相同,则可以考虑进行合并
循环结构:在某些条件满足的情况下,反复执行特定代码的功能
循环语句分类:
- for循环
- while循环
- do-while循环
.
循环语句的四个组成部分:
初始化部分
循环条件部分
循环体部分
迭代部分
for循环的结构:
for(初始化;循环条件;迭代条件){
循环体
}
/*
输出所有的水仙花数,所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身
例如:153 = 1*1*1+5*5*5+3*3*3
*/
for(int i = 100 ;i<1000 ; i++){
int a = i/100;
int b = i%100/10;
int c = i%10;
if(i==(a*a*a+b*b*b+c*c*c)){
System.out.println(i + "是水仙数");
}else{
//System.out.println(i+"不是水仙数");
}
}
/*
输出100以内的所有质数
*/
for(int i = 2 ;i<=100; i++){
boolean isFlag = true;
int k =(int)Math.sqrt(i);
for(int j = 2;j <=k ; j++){
if(i % j == 0){
isFlag = false;
break;
}
}
if(isFlag == true){
System.out.println(i);
}
}
while循环的结构:
初始化;
while(循环条件){
循环体;
迭代条件;
}
do-while循环的结构:
初始化;
do{
循环体;
迭代条件;
}while(循环条件);
break和continue关键字的使用:
break:结束当前循环
continue:结束当次循环