流程控制
1顺序结构
顺序结构是程序中最简单的流程控制,没有特定的语法结构,按照代码的先后顺序依次执行。
2.分支结构
单分支
if语句
格式:
if (关系表达式){
语句体;
}
if-else双分支结构
格式
if (){
} else {
}
if-else多分支结构
格式
if(关系表达式){
;
}else if (关系…){
;
}else{
}
3.switch语句
格式:(伪代码)
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
Default:
语句体3;
break;
}
注意事项:
1.switch表达式的类型:
byte,short,int,char 这是jdk5;
还可以是枚举;
jdk7引入了string;
2.在每一个case及default之后一定要加上break;以防止case穿透
3.default可以写在任意位置,但是一般写在最后
字符串:
case = "aodi"
System.out.println("aodi");
if与switch的区别
if主要运用与一定范围的数据的判断;
switch用于有限的,可列举的数据的判断。
4.循环语句
1).for循环语句
循环语句的构成:
初始化语句;
条件判断语句;
条件控制语句;
循环体语句;
格式:
for(初始化语句;条件判断语句;条件控制语句){
循环体语句};
输出数据:
//在控制台上输出1到5的整数
for (int i= 1 ; i <= 5 ; i ++){
System.out.println(i);
}
求和:
//求1到5的所有整数的和
int sum = 0 ;
for ( i= 1 ; i<=5 ; i++){
sum = sum + i
}
求偶数和:
//求1到100之间所有偶数的和
int sum = 0;
for (i= 1 ; i <+ 100 ; i++){
if (i % 2 == 0 ){
sum += i ;
}
}
水仙花数:
//在控制台输出“水仙花数”
int i;
for (i = 100; i< 1000 ; i++){
int ge = i% 10 ;
int bai = i/ 100 ;
int shi = i / 10 % 10;
int sum = ge*ge*ge + shi*shi*shi + bai*bai*bai ;
if (i == sum ){
System.out.println(i);
}
}
统计水仙花数:
//在控制台统计“水仙花数”
int count = 0;
for (i = 100; i< 1000 ; i++){
int ge = i% 10 ;
int bai = i/ 100 ;
int shi = i / 10 % 10;
int sum = ge*ge*ge + shi*shi*shi + bai*bai*bai ;
if (i == sum ){
count ++ ;}
System.out.println(count);
}
2)while循环语句:
格式:
初始化语句;
while(条件判断语句){
循环体;
控制语句;
}
纸张折叠至珠峰高度:
//将一张0.1mm厚度的纸张折叠几次可以打到珠峰高度?
int num = 0;
double paper = 0.1;
int zf = 884430;
while(paper <= zf ){
paper = paper * 2;
num ++;
}
System.out.println(num);
3)do…while循环语句
格式:
初始化语句:
do{
循环体语句;
控制语句;
}while(条件判断语句);
for和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)
do…while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体
5.循环嵌套
输出九九乘法表
for(int i = 1; i<= 9 ; i++){//外循环控制行
for(int j = 1; j <= i ;j++){//内循环控制列
System.out.print(i + "*" +j + "=" + i*j +" ");//输出结果不换行
//System.out.println();//输出之后自动换行
}
System.out.println();
}
模拟时钟时针,分针走动
for (int hour = ; hour < 24 ; hour ++){
for(int min = 0 ; min < 60 ; min++){
System.out,println("当前时间为"+hour+"时"+min+"分")
}
}
6.跳转控制
跳过某次循环的执行,继续下一次的执行
continue
终止整个循环的执行
break
在break和continue之后紧挨着的语句不能执行
当没有其它控制的时候,break和continue只能控制最近的循环
break
//查找1到100之间第一个可以被23整除的整数
for(int i = 1 ; i < 100 ; i++){
if(i% 23 = 0 )(
System.out.println(i);
break;//终止当前循环
)
}