流程控制语句

流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。控制语句分为三类:顺序、选择和循环。

1.选择结构

在还没有知道Java选择结构的时候,我们编写的程序总是从程序入口开始,顺序执行每一条语句直到执行完最后一条语句结束,但是生活中经常需要进行条件判断,根据判断结果决定是否做一件事情,这就需要选择结构。主要的选择结构有:if选择结构和switch多选择结构

1.1 if单选择结构

if语句对布尔表达式进行一次判定,若判定为真,则执行{}中的语句块,否则跳过该语句块。

int a = 5;
	int b = 6;
	if(a > b){
		System.out.println("你是最大数");
	}

1.2 if-else双选择结构

if(布尔表达式){
	 	语句块1
	}else{
        语句块2
	}

当布尔表达式为真时,执行语句块1,否则,执行语句块2。也就是else部分。

1.3 if-else if-else多选择结构

if(布尔表达式1) {
		语句块1;
	} else if(布尔表达式2) {
		语句块2;
	}……
	else if(布尔表达式n){
   		 语句块n;
	} else {
   		 语句块n+1;
	}

当布尔表达式1为真时,执行语句块1;否则,判断布尔表达式2,当布尔表达式2为真时,执行语句块2;否则,继续判断布尔表达式3······;如果1~n个布尔表达式均判定为假时,则执行语句块n+1,也就是else部分。

1.4 switch多选择结构

语法结构:

switch (表达式) {
		case 值1: 语句序列1;
			[break];
		case 值2:语句序列2;
			[break];
		 … … …
		[default: 默认语句;]
	}

2.循环结构

2.1 for循环

语法结构:for(条件初始化;条件判断;条件变化){ 重复执行的代码; } 条件初始化: 声明一个变量,并第一次赋值 int i=1
条件判断: 对条件|变量i进行判断,如果满足要求,结果为true,就可以执行这一次循环体语句{},如果结果为false,不满足要求,这一次执行不了并且循环结束
条件变化: 变量i自身值的改变
for循环的执行流程:
1.条件初始化
2.条件判断
3.不满足条件结束循环,满足条件执行,执行循环体语句
4.条件变化
从第二次循环开始,条件初始化就不执行了

//求1~10之间的和
		int sum=0;
		for(int i=1;i<=10;i++){  //i可以用来控制循环次数,可以用来在循环体中当做数据使用,这个数据是可变的
			sum+=i;
		}
		System.out.println(sum);

2.2 while循环

语法结构:while (布尔表达式) { 循环体; } 在循环刚开始时,会计算一次“布尔表达式”的值,若条件为真,执行循环体。而对于后来每一次额外的循环,都会在开始前重新计算一次。语句中应有使循环趋向于结束的语句,否则会出现无限循环–––"死"循环。

//while
		int i=1;  //条件初始化  主方法中的作用域
		while(i<=100){
			System.out.println(i);
			i++; //条件变化
		}

2.3 do while循环

语法结构:do{ 语句体; 条件变化; }while(条件判断);
do-while循环结构会先执行循环体,然后再判断布尔表达式的值,若条件为真,执行循环体,当条件为假时结束循环。do-while循环的循环体至少执行一次。

//计算1-100直接累加和
        int i = 0;
        int sum = 0;
        do {
            sum += i; // sum = sum + i
            i++;
        } while (i <= 100);//此处的;不能省略
        System.out.println("Sum= " + sum);

2.4 break语句和continue语句

break:
在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。
continue:
用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。