Java控制语句1.选择语句2.循环语句

1.选择语句

1.1 if 语句

if语句语法格式:
   1.
	if(布尔表达式){
		java语句;
		java语句;
	}
	条件成立,执行大括号内容
            

2.
	if(布尔表达式){
		java语句;
	}else{
		java语句;
	}
            

    3.  if(布尔表达式1){

        }else if(布尔表达式2){
                java语句;
        }else if(布尔表达式3){
                java语句;
        }...
        哪个表达式满足条件,执行哪个java语句
        

     4. if(布尔表达式1){

        }else if(布尔表达式2){
                java语句;
        }else if(布尔表达式3){
                java语句;
        }else{

        }
        以上条件没有一个满足条件的,执行else
        
复制代码

1.2 Switch语句

switch语句语法格式:
    switch(值){
	case 值1:
		java语句;
		java语句;...
		break;
	case 值2:
		java语句;
		java语句;...
		break;
	case 值3:
		java语句;
		java语句;...
		break;
	default:
		java语句;
	}

	break;语句不是必须的;default分支也不是必须的。
            
	switch语句的值支持int,String类型
            
	jdk8之前不支持String类型

	switch语句中“值”与“值1”、“值2”会使用“==”比较

	switch语句执行原理:
		拿“值”与“值1”进行比较,则执行该分支中的java语句
		然后遇到break语句,switch语句结束

		如果不相等,则“值”与“值2”进行上述的相同步骤

		如果分支执行,但分支最后没有break,
		会发生case穿透现象(一直向下执行上述步骤,知道遇到break或者default)

		所有case都没匹配成功,执行default
                    
                    
case穿透
	
        int num = 1;
        
        switch(num){
            case 0:
                System.out.println("星期日");
                break;
            case 1:
                System.out.println("星期一");
            case 2:
                System.out.println("星期二");
            case 3:
                System.out.println("星期三");
            case 4:
                System.out.println("星期四");
            case 5:
                System.out.println("星期五");
                break;
            case 6:
                System.out.println("星期六");
        } 
        //星期一 星期二 星期三 星期四 星期五  
        
        
case合并

        int num = 2;
        
        switch(num){
            case 1: case 2: case 3:
                System.out.println("星期一");
                break;
            case 4:
                System.out.println("星期二");
                break;
            case 5:
                System.out.println("星期三");
                break;
            case 6:
                System.out.println("星期四");
                break;
            case 7:
                System.out.println("星期五");
                break;
            case 8:
                System.out.println("星期六");
                break;
            default:
                System.out.println("星期日");
        } 
        //星期一                        
        
复制代码

2.循环语句

2.1 for循环语句

for循环语句语法格式:

	for(初始化表达式;条件表达式;更新表达式){
	循环体;//循环体由java语句构成
	java语句;
	java语句;
	java语句;
	...
}
    
注意:初始化表达式最先执行,在整个循环中只执行一次
		条件表达式结果必须是一个布尔类型
执行原理:
		初始化表达式>>条件表达式>>循环体>>更新表达式
                    
                    
死循环
	for(;;){
		System.out.println("死循环");
	}
                          
复制代码

2.2 while循环语句

while循环语法格式:

        while(布尔表达式){
                循环体;
        }
        
        布尔表达式为true,执行循环体
        循环结束后再次判断,为true继续循环,直到为false结束

        while循环次数:0~n次
        
        
死循环

        while(true){
            System.out.println("死循环");
        }
        
复制代码

2.3 do...while循环语句

do...while循环语法格式:

	do{
		循环体;
	}while();

	执行原理:
		先执行循环体,再判断条件,如果为true,继续执行,
		为false,结束循环
	
	循环体执行次数:1~n次
            
复制代码