2021-01-02

java之流程控制注意小细节

流程控制分为顺序结构、分支结构和循环结构

1顺序结构

严格从上往下 从左到右执行

2 分支结构

通过某个判断条件,选择性执行某一个分支

2.1 if…else…

  • 语法结构
  • 第一种结构 : 有不执行情况
  •  if( boolean表达式 ){ 表达式为true 就执行java代码  为false就不执行
    
  •  	java代码;
    
  •  	java代码;
    
  •  }	
    
  • 第二种结构 : 没有不执行情况
  •  if( boolean表达式 ){ 表达式为true 就执行java代码1  为false就执行 else 中 java代码2
    
  •  	java代码1;
    
  •  	java代码1;
    
  •  }else{
    
  •  	java代码2;
    
  •  	......
    
  •  }			
    
  • 第三种结构 : 有不执行情况
  •  if( boolean表达式 ){ 
    
  •  	java代码1;
    
  •  	java代码1;
    
  •  }else if( boolean表达式 ){
    
  •  	java代码2;
    
  •  	......
    
  •  }	
    
  • 第四种结构 : 没有不执行情况
  •  if( boolean表达式 ){ 
    
  •  	java代码1;
    
  •  	java代码1;
    
  •  }else if( boolean表达式 ){
    
  •  	java代码2;
    
  •  	......
    
  •  }else{
    
  •  	.....
    
  •  }	
    

2.2Switch

  • switch语句
  •  1.7之前 只能传入 int整型(能传入整型,也就可以传入 byte,short,char,自动类型转换)
    
  •  1.7开始,包括1.7,可以传入 字符串
    
  • 语法 :
  •  switch( 值 ){
    
  •  	case 值 :
    
  •  		java代码;
    
  •  		......
    
  •  		break;
    
  •  	case 值 :
    
  •  		java代码;
    
  •  		......
    
  •  		break;
    
  •  	case 值 :
    
  •  		java代码;
    
  •  		......
    
  •  		break;
    
  •  	default :
    
  •  		java代码;
    
  •  }
    
  • default 可以没有,如果没有的话,就有不执行的情况,
  •  如果所有的case 都不符合条件,就执行default
    

注意 break : 必须要写,如果不写 就会发生case穿透现象

穿透现象

public class _01_Switch {

public static void main(String[] args) {
	
	// default放置位置问题
	char c = 'B';
	// 注意 break ,否则case穿透
	switch (c) {
	// default 也可以写到最上面,不过肯定是先执行 case 再执行 default
	// 如果有符合条件的B , 并且 都没有break,这个时候 这个default 不会执行,因为在最上面,并且case有符合条件的,就不会再找default了
	// 如果没有找到符合条件的D,并且都没有break,这个时候,会执行default,并且先执行default,并向下穿透所有case选项
	default:
		System.out.println("差");
	case 'A' :
		System.out.println("优秀");
	case 'B' :
		System.out.println("良好");
	case 'C' :
		System.out.println("及格");
	}
	
	//  case 合并
	switch (c) {
	case 'A': case 'B': case 'C':
		System.out.println("优秀");
		break;
	case 'D':
		System.out.println("差");
		break;
	}
}

}

循环结构

for 循环 :

  •  计数循环,在某个次数范围内,重复执行某些代码
    
  • 语法 :
  •  for( 表达式1 ; 表达式2 ; 表达式3 ){
    
  •  	// 循环体
    
  •  	java代码;
    
  •  }
    
  • 先执行表达式1,并且只执行一次
  • 执行表达式2,结果必须是boolean型,如果是true,就执行循环体,如果是false就终止循环
  • 假设是true,执行循环体,循环体执行完成后,执行表达式3
  • 执行完表达式3之后,再执行表达式2,如果是false 终止循环,如果是true 执行循环体,执行表达式3 , 执行表达式2 …
  • 表达式1 : 初始条件
  • 表达式2 : 终止条件
  • 表达式3 : 步长
  • 循环三要素 :
  •  初始值,终止条件,步长
    
  •  缺一不可
    
  • while循环 是真假循环,在某个条件为真的情况下执行
  • 语法 :
  •  while( boolean表达式 ){
    
  •  	循环体;
    
  •  }
    
  • while 有不执行情况,所以执行次数是 0~N次
  • 但是 do…while… 能够保证代码 至少执行一次, 1~N次
  • 语法 :
  •  do{
    
  •  }while(boolean表达式);
    

跳转语句
continue和break
区别:Break终止循环直接跳出循环体;continue跳出本次循环

你可能感兴趣的:(java)