流程控制

流程控制

顺序结构

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

分支结构

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

  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{
  			.....
  		}	
  	 	
  1. switch语句
    jdk1.7之前 只能传入 int整型(能传入整型,也就可以传入 byte,short,char,自动类型转换)
    jdk1.7开始,包括jdk1.7,可以传入 字符串
  语法 :
  		switch(){
  			case:
  				java代码;
  				......
  				break;
  			case:
  				java代码;
  				......
  				break;
  			case:
  				java代码;
  				......
  				break;
  			default :
  				java代码;
  		}

default 可以没有,如果没有的话,就有不执行的情况;如果所有的case 都不符合条件,就执行default

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

循环结构

  1. for循环:计数循环,在某个计数范围内,重复执行某些代码
    循环三要素:初始值,终止条件,步长,缺一不可
 语法 : 
  		for( 表达式1 ; 表达式2 ; 表达式3 ){
  			// 循环体
  			java代码;
  		}
  		表达式1 : 初始条件
  		表达式2 : 终止条件
  		表达式3 : 步长

①先执行表达式1,并且只执行一次
②执行表达式2,结果必须是boolean型,如果是true,就执行循环体,如果是false就终止循环
③执行完表达式3之后,再执行表达式2,如果是false 终止循环,如果是true 执行循环体,执行表达式3 , 执行表达式2 …

for括号里可以什么也不写,分号必须写
	for(;;){
		java代码;
	}
如果在循环外想要访问i,需要把i的作用域提升
	int i = 1;
	for(;i<10;i++){
		java代码块;
	}
在循环内声明的变量只能在循环体用,不同的循环体可以定义相同的变量
	for(int i = 1;i<10;i++){
		java代码块;
	}
	for(int i = 1;i<10;i++){
		java代码块;
	}
嵌套循环:外层循环执行一次,内层循环执行一圈
	for(int i = 1;i<10;i++){
		for(int j = 1;j<10;j++){
			java代码块;
		}
	}
	
  1. while循环
 while循环 是真假循环,在某个条件为真的情况下执行
  
  语法 : 
  		while( boolean表达式 ){
  			循环体;
  		}

如:

	int i = 0;
	while(i<10){
		java代码块;
		i++;
	}
  1. do…while…循环
  while 有不执行情况,所以执行次数是 0~N次
  
   do...while... 能够保证代码 至少执行一次, 1~N次
  
  语法 : 
  		do{
  
 		}while(boolean表达式);

如:

	int i = 0;
	do{
		java代码块;
		i++;
	}while(i<10);
  1. break,continue的使用

break语句:
① 用于switch中,结束分支语句,避免发生case穿透
② 用于循环中,终止当前循环

break 结束循环
continue 跳过当前次,继续下一次
return 结束方法,并返回一个数据

break:

   //用于switch...case...
	char c = 'A';
	switch(c){
		case 'A':
			java代码块;
			break;
		case 'B':
			java代码块;
			break;
	}
   //用于循环
	for (int i = 0; i < 10; i++) {
			// 使用场景 : 比如在一堆数据中,查找某一个数据,当找到之后,就没有必要再继续循环了,可以使用break终止该循环
		    if (i == 5) {
				// 只能终止距离它最近层循环
				break;
			}
			System.out.println(i);
		}
	}
	//break只能终止一层循环,想要终止其他循环,需要给其他循环起名字
	outerFor:for (int i = 0; i < 5; i++) {
			for (int j = 0; j < 5; j++) {
				if (j == 3) {
					// 终止指定循环
					break outerFor;
				}
				System.out.print(j+"  ");
			}
			System.out.println();
		}

continue:结束当前此次循环

	for (int i = 0; i < 5; i++) {
			if (i == 3) {
				continue;
			}
			// 0,1,2,4
			System.out.println(i);
		}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值