什么是流程控制语句:
在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的, 也就是说程序的流程对运行结果有直接的影响。所以,我们必须清楚每条语句的执行流程
而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能。
流程控制语句的分类:
顺序结构
选择结构
循环结构
一.选择结构
4.1 if语句的语句格式和使用
格式一:if(比较表达式或者boolean类型的值){
执行语句;
}
执行流程:先进行比较表达式的判断,为true则执行大括号里面的语句,为false则不执行,不管表达式多复杂,计算出来的结果必须是boolean类型。
package org.jimmy.demo4;
public class IFDemo {
public static void main(String[] args) {
int a=10;
int b=10;
if (a==b){
System.out.println("相等");
}
}
}
格式二:if(比较表达式){
语句体1;
}else{
语句体2;
}
执行流程:判断出表达式结果后,为true则执行语句体1,为false则执行语句体2。else后面是没有表达式的。
package org.jimmy.demo4;
import java.util.Scanner;
public class IFDemo2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
if(a==b){
System.out.println("相等");
}else{
System.out.println("不相等");
}
}
}
格式三:if(比较表达式1){
语句体1;
}else if(比较表达式2){
语句体2;
}else if(比较表达式3){
语句体3;
}
…
else{
语句体n+1;
}
执行流程:先进行比较表达式的判断,为true则执行语句体1,为false则判断比较表达式2,为true则执行语句体2,为false则判断表达式3…只要有一个为true,则后面的表达式都不用执行,如果都为false则执行语句体n+1;
package org.jimmy.demo4;
import java.util.Scanner;
public class IFDemo3 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
if(i>90&&i<=100){
System.out.println("A");
}else if(i>80&&i<=90){
System.out.println("B");
}else if(i>70&&i<=80){
System.out.println("C");
}else if (i>60&&i<=70){
System.out.println("D");
}else if(i>=0&&i<=60){
System.out.println("E");
}else{
System.out.println("输入有误");
}
}
}
4.2 switch语句
格式:switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
case 值3:
语句体3;
break;
…
default:
语句体n+1;
break;
}
执行流程:
先得出表达式的值,再与case后面的值进行匹配,相同则执行对应的语句体,break再跳出当前语句,如果case后面的值都不符合,就执行default后面的语句。
break可以省略,但会出现case穿透现象:执行完当前语句体后如果没有break,就会继续执行下一个case里面的语句体,直到再次遇到break或者执行所有之后的语句。
二.循环结构
4.3 for循环
格式:for(初始化表达式语句;判断语句;控制语句){
循环体语句;
}
执行流程:先进行初始化语句,再执行判断语句,结果为true就执行循环体语句,为false则不执行该循环,最后执行控制语句,再回到判断语句继续之后的操作,一次循环中初始化表达式语句只执行一次。
package org.jimmy.demo4;
public class ForDemo {
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
System.out.println("HelloWorld");
}
}
}
4.4 while循环
格式1:
初始化条件语句
while(判断条件语句){
循环体语句;
控制条件语句;
}
执行流程:
先执行初始化条件语句,再进行判断条件语句,结果为true,进入循环体,最后执行控制条件语句,最后在返回继续执行判断条件语句…
package org.jimmy.demo4;
public class WhileDemo {
public static void main(String[] args) {
int i=1;
while(i<5){
System.out.println("HelloWorld");
i++;
}
}
}
格式2:
初始化条件语句
do{
循环体语句;
控制条件语句;
}while(判断条件语句);
执行流程:先执行初始化条件语句,再执行循环体语句,执行控制条件,最后执行判断条件语句进行判断,结果如果为true则继续再执行循环,为false则终止循环。
package org.jimmy.demo4;
public class WhileDemo2 {
public static void main(String[] args) {
int i=1;
do{
System.out.println("HelloWorld");
i++;
}while (i<5);
}
}
三种循环语句的区别:do…while循环在执行过程当中至少执行一次,for循环和while循环会先执行判断条件语句,判断结果是否为真,再决定是否执行循环。建议优先考虑for循环,其次值while循环,最后是do…while循环。
三. 控制条件语句
break语句:存在于循环语句内或者在switch语句中,在循环体语句的作用是跳出当前循环。
continue语句:位于循环语句中,指跳出当前循环,执行下一步操作。
return:指退出一个方法,跳转到上层调用的方法。