12.18_学习Java的day04(详解)上

if…else和switch…case它们都分支结构,但是不能完全互换。
凡是可以使用switch…case的地方,可以使用if…else代替,但是代替后不一定代码有用switch。。case简洁。
但是可以用if…else,不见得可以使用switch…case,因为if的条件可能是表示某个范围,不一定可以使用常量判断。

学习每一种流程控制语句结构都有两个要求:

1、掌握语法结构
2、掌握它的执行特点

三、循环结构:重复执行某些语句

1、for
2、while
3、do…while

它们三个的作用是相同的,完全可以互换。
当然互换之后,可读性不一定完全相同。即每一种循环有自己的使用场景。

(一)for(使用最多的一种)

1、语法结构

形式一:
for(;{
循环体语句块; 即需要重复执行的语句
}
形式二:
for(循环变量初始化; 循环条件表达式; 迭代表达式){
循环体语句块; 即需要重复执行的语句
}

2、注意:

(1)for(;;)中的两个;;不能多也不能少。
(2)循环条件表达式必须是一个boolean类型。
(3){}可以省略,如果省略,默认带一句

3、执行特点

(1)先执行 循环变量初始化;
(2)接着判断 循环条件表达式;
(3)当循环条件表达式为true时,就执行 循环体语句块; 然后执行 迭代表达式 ,再回到(2)
当循环条件表达式为false时,就结束整个for循环。

class ForLoop{
     
	public static void main(String[] args){
     
		/*
		重复打印:柴老师是美女!
		*/
		/*
		for(;;){
			System.out.println("柴老师是美女!");
		}
		*/
		//以上代码会出现“死循环”,“无限循环”
		
		/*
		重复打印5次:柴老师是美女!
		*/
		for(int i=1; i<=5; i++){
     
			System.out.println("柴老师是美女!");
		}
		/*
		(1)int i=1;
		(2)i<=5;成立
		(3)System.out.println("柴老师是美女!");
		(4)i++  i=2
		(5)i<=5;成立
		(6)System.out.println("柴老师是美女!");
		(7)i++  i=3
		(8)i<=5;成立
		(9)System.out.println("柴老师是美女!");
		(10)i++  i=4
		(11)i<=5;成立
		(12)System.out.println("柴老师是美女!");
		(13)i++  i=5
		(14)i<=5;成立
		(15)System.out.println("柴老师是美女!");
		(16)i++  i=6
		(17)i<=5; 不成立,结束for
		*/
	}
}

break:

中断,提前结束
(1)在switch结构中,表示提取结束switch的执行
(2)在循环中,表示提取结束当前循环

continue:

继续,提前进入下一次循环
只能用于循环中,表示提取结束本次循环,不执行continue下面的循环体语句了,直接进入下一次循环
*/

class BreakContinue{
     
	public static void main(String[] args){
     
		for(int i=1; true ; i++){
     
			System.out.println("i =" + i);
			if(i==5){
     
				break;
			}
		}
		System.out.println("------------------------");
		for(int i=1;  ; i++){
     
			System.out.println("i =" + i);
			if(i==5){
     
				break;
			}
		}
		/*
		(1)int i=1;
		(2) ;表示条件永远成立
		(3)System.out.println("i =" + i);
		   并且判断if(i==5)不成立
		(4)i++  i=2
		(5) ;表示条件永远成立
		(6)System.out.println("i =" + i);
			并且判断if(i==5)不成立
		(7)i++  i=3
		(8) ;表示条件永远成立
		(9)System.out.println("i =" + i);
			并且判断if(i==5)不成立
		(10)i++  i=4
		(11) ;表示条件永远成立
		(12)System.out.println("i =" + i);
			并且判断if(i==5)不成立
		(13)i++  i=5
		(14) ;表示条件永远成立
		(15)System.out.println("i =" + i);
			并且判断if(i==5)成立 结束for
		*/
		
		System.out.println("------------------------");
		
		int sum = 0;
		for(int i=1; i<=10; i++){
     
			if(i%2!=0){
     
				continue;
			}
			sum += i;
		}
		/*
		(1)int i=1;
		(2)i<=10成立
		(3)判断if(i%2!=0) 成立,执行continue
				不执行剩下的循环体语句
		(4)提前执行i++  i=2
		(5)i<=10成立
		(6)判断if(i%2!=0) 不成立,不执行continue
			执行sum += i;   sum = 0 + 2 = 2;
		(7)执行i++  i=3
		(8)i<=10成立
		(9)判断if(i%2!=0) 成立,执行continue
			不执行剩下的循环体语句
		(10)提前执行i++  i=4
		(11)i<=10成立
		....
		
		*/
		System.out.println("sum = " + sum);
	}
}

(二)while循环

1、语法结构
while(循环条件){
循环体语句块; 即需要重复执行的语句;
}

2、执行的特点
(1)先判断条件
(2)如果条件成立,就执行循环体语句块,然后回到(1)
当循环条件不成立,就结束while循环。
我们称为当型循环,即
循环条件成立,就执行循环体语句块,当循环条件不成立,就结束while循环。

3、注意:
(1)循环条件表达式必须是一个boolean类型。
(2){}可以省略,如果省略,默认带一句

class WhileLoop{
     
	public static void main(String[] args){
     
		/*
		重复打印5次的:柴老师是美女!
		*/
		int i = 1;
		while(i <= 5){
     
			System.out.println("柴老师是美女!");
			i++;
		}
		
	}
}

你可能感兴趣的:(JavaSE)