程序流程控制
顺序:java从上向下依次执行
分支: if switch
if 格式1:单分支
if(关系表达式){
语句体;
}
执行流程
1.先计算关系表达式的值
2.如果关系表达式的值是true,执行语句体。
3. 如果关系表达式的值是false,不执行语句体。
4.继续执行后面的内容
if 格式2:双分支
if(关系表达式){
语句体1;
}else{
语句体1;
}
执行流程
1.先计算关系表达式的值
2.如果关系表达式的值是true,执行语句体1。
3. 如果关系表达式的值是false,执行语句体2,
4.继续执行后面的内容
if 格式3:多fenzhi
if(关系表达式1){
语句体1;
}else if(关系表达式2){
语句体2;
}...
else{
语句体n;
}
执行流程
1.先计算关系表达式1的值
2.如果关系表达式1的值是true,执行语句体1,如果为false计算关系表 达式2的值。
3. 如果关系表达式2的值是true,执行语句体2,如果为false计算关系 表达式3的值
4.。。。。。
5.如果没有任何关系表达式的值为true,执行语句体n
switch:专门用来做等值判断,允许弹出多个结果
格式:
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
.
.
.
default:
语句体n;
break;
}
表达式:允许基本数据类型和String
case:判断是否和表达式的值相等
break:结果当前switch语句
default:case都不成立时,执行,作用和else一样
注意:
1.专门用来做等值判断,允许弹出多个结果,只能成立一次判断
2.case后面的值不能重复
3.default位置不固定,无论在什么位置都会先走case,case不成立再走default
4.break:结束当前switch语句,如果判断成立,并且没有break退出,会向下继续执行语句体
循环:while do-while
while:
完整格式:
初始化语句;
while(条件表达式){
循环语句;
条件控制语句;
}
初始化语句(定义变量):循环结构什么时候开始,也用于记录循环次数(一条或多条)
条件判断语句:决定了循环什么时候结束(结果为boolean的表达式)
循环语句:循环结构中反复执行的事情(任意语句)
条件控制语句:通过改变变量的值来控制循环次数(常见操作i++,i--等)
do-while:
完整格式:
初始化语句;
do{
循环语句;
条件控制语句;
}while(条件表达式);
区别:
while:先判断在再执行
do-while:限制性再判断
for:循环
格式:
for(初始化语句;条件表达式;条件控制语句){
循环语句;
}
执行流程:
初始化语句->条件表达式->循环语句->条件控制语句
死循环:
while(true)
do-while(true)
for(;;)
语句流程控制:
break:结束,结束当前语句
continue:跳出,跳出当前循环,进行下一次操作
语句嵌套:
每个语句都有{}表示范围
每个语句中还有语句
循环嵌套:
外循环:行
内循环:列
例1.打印99乘法表:
for (int i = 1; i <=9 ; i++) {
for (int j = 1; j <=i ; j++) {
System.out.print(j+"*"+i+"="+(i*j)+"\t");
}
System.out.println();
}
例2.打印三角形:直角再左下方
for (int i = 1; i <=5 ; i++) {// 外循环是行
for (int j = 1; j <=i ; j++) {//内循环是列
System.out.print("* ");
}
System.out.println();
}
例3.打印三角形:直角在右上方
for (int i = 1; i <=5 ; i++) {// 5*5
for (int j = 1; j <=i-1 ; j++) {// 填充空格 -
System.out.print(" ");
}
for (int j = 1; j <=6-i ; j++) {
System.out.print("* ");
}
System.out.println();
}