程序流程控制
顺序:java从上向下依次执行
分支:if switch
if格式1:单分支
if(关系表达式){
语句体;
}
执行流程:
1.先计算关系表达式的值
2.如果关系表达式的值是true,执行语句体。
3. 如果关系表达式的值是false,不执行语句体。
4.继续执行后面的内容
if格式2:双分支
if(关系表达式){
语句体1;
}else{
语句体2;
}
执行流程:
1.先计算关系表达式的值
2.如果关系表达式的值是true,执行语句体1。
3. 如果关系表达式的值是false,执行语句体2,
4.继续执行后面的内容
if格式3:多分支
if(关系表达式1){
语句体1;
}else if(关系表达式2){
语句体2;
} ……
else{
语句体n }
执行流程:
1.先计算关系表达式1的值
2.如果关系表达式1的值是true,执行语句体1,如果为false计算关系表达式2的值。
3. 如果关系表达式2的值是true,执行语句体2,如果为false计算关系表达式3的值
4.如果没有任何关系表达式的值为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:跳出,跳出当前循环,进行下一次操作
语句嵌套:
每个语句都有{}表示范围
每个语句中还有语句
循环嵌套:
外循环:行
内循环:列
例子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();
}
例子打印三角形:直角在左下方
for (int i = 1; i <=5 ; i++) {// 外循环是行
for (int j = 1; j <=i ; j++) {//内循环是列
System.out.print("* ");
}
System.out.println();
}
例子打印三角形:直角在左上方
for (int i = 1; i <=5 ; i++) { for (int j = 1; j <=6-i ; j++) { System.out.print("*"); } System.out.println(); }
例子打印三角形:直角在右上方
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();
}