Java流程控制_004

java基础知识

四、流程控制

4.1.基本结构

  • 顺序结构

    • 命令行按顺序执行
  • 分支结构(选择结构)

    • 根据条件进行选择不同的执行流程,可以得到不同的结果

    • 类别

      • 单分支语句

      ​ if–else

      • 多分支语句

        switch

  • 循环结构

    • 面对一些需要重复执行的语句,用户可以指定条件、次数,满足一定条件后,由机器自动识别执行
  • 循环语句

    例如:while、for

4.2.分支(选择)语句if

  • if语句-----单分支

    • 格式:

      ​ if(条件表达式)

    ​ {s1语句;}

    条件表达式为真,则执行s1语句,为假,则跳过s1语句

    if可以单独使用,但是,else不可以单独使用,必须与if进行配套使用

    package jiaocai;
    public class test19if语句 {
    	public static void main(String[]args) {
    		int num=6;
    		if(num%2==0) {
    			System.out.println("num是偶数");
    		}
    /*if后面只有一个语句,{}省略,也不会报错,
    if(num%2==0) 
    			System.out.println("num是偶数");
    		
    建议还是不要省略,培养良好习惯,减少不必
    要的麻烦*/
    		System.out.println("num的值是"+num);
    		int balance=500;
    		if(balance==500);
    		{
    			System.out.println("买车");
    			System.out.println("吃饭睡觉");
    /*
    第二个if语句不起控制作用,但是会被执行,
    但{}语句执行“与否”与if无关,必定会被执行
    	if(balance==500);{
    仔细观察:
    因为在if的括号后面使用了分号,
    此时,if语句控制的是一个空语句,if成立,
    执行空语句,不成立,跳过if控制的空语句
    if(balance==500);在if()后面加上分号,
    不会报错,但是却是一个bug,致使if不起预期
    控制作用
    ----------------------------------------	
    	System.out.println("买车"); ----语句1
    	System.out.println("吃饭睡觉");----语句2
    	}
    	此时{}里面的内容属于“{}非静态代码块”
    	不管第二个if成立与否,语句1,、语句2
    	均会执行
    			 */
    
    		}
    	}
    	
    }
    
    

    num是偶数
    num的值是6
    买车
    吃饭睡觉

  • if–else-----双分支

    • 格式:

    ​ if(条件表达式){

    				  s1;
    

    ​ }else{

    				s2;
    

    ​ }

    ​ 条件表达式为真,执行S1,为假,执行S2

    ​ 非黑即白,二选一

    package jiaocai;
    
    public class test20if_else语句 {
    
    	public static void main(String[] args) {
    		// TODO 自动生成的方法存根
    		int balance=50;
    		if(balance==500) {
    			System.out.println("买好车");
    		}else {
    			System.out.println("买自行车");
    		}
    		System.out.println("吃饭睡觉");
    
    	}//二选一的抉择,非黑即白
    	//{}范围就是控制范围,也就是作用域
    
    }
    
    

    买自行车
    吃饭睡觉

  • if–else if-----多分支

    ​ 格式:

    ​ if(条件表达式1){

    						 s1;
    
    			}else if(条件表达式2){
    
    						 s2;
    

    ​ }else{

    						 s3;
    

    ​ }

    • 条件表达式1为真,执行S1,并结束多分支结构。
    • 条件表达式1为假,则进行条件表达式2的判断,若条件表达式2为真,执行S2,并结束多分支结构
      • 条件表达式1为假,条件表达式2为假,则执行S3,并结束多分支结构
  • image-20220304111610748
    注意:1、本次流程控制章节中,s1/s2/s3/s4等, 都只是一个代表符号、代表的是一个语句块 {},不是代表单单一个语句

    ​ 2、就近原则,每个else都是与其最近的if进行 配对

    ​ 3、不管判断过程有多么复杂,最终执行的只能 是一个语句块{}

    package jiaocai;
    //else就近原则进行匹配,不可以单独使用else,
    //必须与if配套使用
    public class test21if_elseif语句 {
    
    	public static void main(String[] args) {
    		// TODO 自动生成的方法存根
    		int balance=500;
    		if(balance==500) {
    			System.out.println("买兰博基尼");
    		}else if(balance>=100&&balance<500) {
    			System.out.println("买路虎");
    		}else {
    			System.out.println("暂不买车");
    		}
    		
    
    	}
    
    }
    /*
     *int balance=500;
    		if(balance==500) {
    	语句1		System.out.println("买兰博基尼");
    		}else if(balance>=100&&balance<500) {
    	语句2		System.out.println("买路虎");
    		}else {
    	语句3		System.out.println("暂不买车");
    	不管判断过程有多么复杂,“最终执行的只能
    	是一个语句块`{}`的理解:”
    	这个例子中,语句1、语句2、语句3只能执行其中的一个
    	
     */
    
    

    买兰博基尼

  • if–else语句的嵌套

    格式

    if(条件表达式){

    ` 其它控制语句;

    }else{

    ​ 控制语句;

    }

    注意:所涉及的语句,都必须是语句完整,if–else语句要完整,其它控制语句结构也必须完整

  • if中布尔式的正确写法

    • boolean A=true;

    ​ if(A)就是条件表达式成立,执行if控制的语句块

    if(A==true);

    无语法错误,但不推荐使用,要是不小心漏写个=

    变成:

    if(A=true)

    完了,因为一个等于号在编程中是赋值的意思,喜提程序大bug一个,彻底失去if选择功能一个

    • 若要取反,if(!A)
  • 注意:

    • if是需要进行真假判断的,而else和else if不需要

    • else不可以单独使用,不许配合if使用

      package jiaocai;
      
      public class test22if布尔式hide正确格式 {
      
      	public static void main(String[] args) {
      		// TODO 自动生成的方法存根
      		boolean flag=true;
      		if(flag)//     !flag反面
      			System.out.println("flag的值为"+flag);
      		//错误格式if(flag=true)不规范格式if(flag==true)
      		else {
      			System.out.println("flag的值为"+flag);
      		}
      			
      	}
      
      }
      
      

      flag的值为true

4.3.多层判断switch

背景:0-5不及格、6-7中,8-10优,根据分数给出相应的评语

  • 两种方式解决

    • 使用if-else if进行多次判断,但操作较为复杂
    • 使用Switch语句(推荐使用)
  • Switch语句

    • 实现多选一

    • if else if的加强版,专门用于处理多选一问题

    • 格式:

      switch(用于判断的参数)

      //参数可以是整数、枚举、字符串
      case常量表达式1:语句1;[break;]

      //break;的作用:执行语句1后,跳出Switch,不执行下面的语句
      case 常量表达式2:语句2;[break;]

      //不写break,则会继续执行下面的语句,并不会立刻跳出Switch
      [default](可以不写,相当于缺省):语句n+1;[break],

      //输入的参数无法与上面任何一个case匹配,则使用default进行提醒和标识,此时break写与不写,意义不大,都在最后了,不管请况如何,均要结束Switch语句了

注意:

  • 唯一性,不可以两个case对应同一个值
  • 常量表达式必须是基本数据类型的int或者字符型或者字符串(字符型可以转换为int),前提JDK7以后版本才可以支持
  • switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型,可以进行隐式转换为以上类型的的除外
package jiaocai;
//多层判断的处理--成绩等级划分

public class test23Switch语句的使用 {
	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		int grade=7;
		if(grade>=0&&grade<=5)
			//实现0---5分简易化的处理
			 grade='A';
		//非二选一,也就是符合if条件就执行,不符合跳过,
		//但是Switch开始,一定会执行,与if条件符合与否,吴任何关系
		//作用域决定了
		
		switch(grade) {
		case 10:System.out.println("成绩为优,成绩为:"+grade);break;
		case 9:System.out.println("成绩为优,成绩为:"+grade);break;
		case 8:System.out.println("成绩为良,成绩为:"+grade);break;
		//跳出执行完本语句后,跳出下面的语句,
		//上面的语句也不会执行,因为为匹配对应的case
		case 7:System.out.println("成绩为中,成绩为:"+grade);break;
		case 6:System.out.println("成绩为中,成绩为:"+grade);break;
		/*case 5:System.out.println("成绩为不合格,成绩为:"+grade);break;
		case 4:System.out.println("成绩为不合格,成绩为:"+grade);break;
		case 3:System.out.println("成绩为不合格,成绩为:"+grade);break;
		case 2:System.out.println("成绩为不合格,成绩为:"+grade);break;
		case 1:System.out.println("成绩为不合格,成绩为:"+grade);break;
		case 0:System.out.println("成绩为不合格,成绩为:"+grade);break;
		*/
		case 'A':System.out.println("成绩为不合格,成绩为:"+'A'+"即成绩在0~5分之间");break;
		/*A不等同于'A'前者就是字母A,后者是字符A,字符A是可以与Unicode码中
		与之相对应的int型
		重点:“布尔型禁止转换为其它类型,涉及比较大小,其结果必定为布尔型”
		case grade>=0&&grade<=5:System.out.println("成绩为不合格,成绩为:"+grade);break;
		报错(boolean不能转为int型)grade>=0结果必定为布尔型,布尔型是不可以转换为任何类型的
		case后面的常量表达式必须是int型或者是可以转换为int型的字符型
		?
		case if(grade>=0&&grade<=5):System.out.println("成绩为不合格,成绩为:"+grade);break;
		*/
		
		default:System.out.println("成绩为无效成绩,成绩为:"+grade);
		//未匹配以上任何一个case,则使用default,最后面用不用break,请随便

		}

	}

}

成绩为中,成绩为:7

针对以上进行优化

package jiaocai;//利用break来控制输出相同的内容

public class test23a_Switch补充 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		int grade=45;
		switch(grade) {
		case 10:
		case 9:System.out.println("成绩为优");break;
		case 8:
		case 7:System.out.println("成绩为良");break;
		case 6:System.out.println("成绩合格");break;
		case 5:
		case 4:
		case 3:
		case 2:
		case 1:
		case 0:System.out.println("成绩不合格");break;
		//当grade=0----5时,输出相同的内容,只需要在case 0:作处理即可
		default:System.out.println("成绩无效");
		
		}
	}

}

成绩无效

4.4.循环语句

背景:循环处理问题,重复的步骤处理

image-20220306152344787

4.4.1.while语句

  • 格式

while(布尔表达式){

返回布尔值(一般是用于自增自减的变量i),判断是否继续循环
可被循环执行的语句;
}

注意:

  • 布尔表达式不可以为空,否则报错
  • 布尔表达式不可以是常数,比如true,不然就又是一个程序bug,要么不进行循环,要么就是死循环,大规模消耗机器资源
  • while();在括号后面不可以有分号,同if语句一样的原因,用了分号,就意味着,while控制的是一个空语句,那就没有任何意义了
    • 比如while(x==5);
    • 不会编程,不存在语法违规
    • 因执行的是空语句(也就没有了循环终止条件,while将进入永无止境的死循环),浪费大量的内存空间,如果在一个大工程中,要想找出来进行修改,将会浪费大量的调试时间
  • while(false){},直接报错
  • 循环体要有无限逼近临界条件的表达式(往往是自增自减),否则也是一个死循环
package jiaocai;

public class test24while语句 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		long i=1L,sum=0L;
//数值较大时,记得使用long型,避免精度失准
		while(i<=100) {
//布尔表达式的变量,控制型的i++放在最后面,循环终止条件
//------{}之间的就是循环体
			sum=sum+i;
			System.out.println("i等于:"+i+"的时候"+"sum的值为:"+sum);
			i++;
//无限逼近循环终止条件的表达式
		}
		System.out.println("一到一百的和为:\n"+sum);
	}

}

i等于:1的时候sum的值为:1
i等于:2的时候sum的值为:3
i等于:3的时候sum的值为:6
i等于:4的时候sum的值为:10
i等于:5的时候sum的值为:15
i等于:6的时候sum的值为:21
i等于:7的时候sum的值为:28
i等于:8的时候sum的值为:36
i等于:9的时候sum的值为:45
i等于:10的时候sum的值为:55
i等于:11的时候sum的值为:66
i等于:12的时候sum的值为:78
i等于:13的时候sum的值为:91
i等于:14的时候sum的值为:105
i等于:15的时候sum的值为:120
i等于:16的时候sum的值为:136
i等于:17的时候sum的值为:153
i等于:18的时候sum的值为:171
i等于:19的时候sum的值为:190
i等于:20的时候sum的值为:210
i等于:21的时候sum的值为:231
i等于:22的时候sum的值为:253
i等于:23的时候sum的值为:276
i等于:24的时候sum的值为:300
i等于:25的时候sum的值为:325
i等于:26的时候sum的值为:351
i等于:27的时候sum的值为:378
i等于:28的时候sum的值为:406
i等于:29的时候sum的值为:435
i等于:30的时候sum的值为:465
i等于:31的时候sum的值为:496
i等于:32的时候sum的值为:528
i等于:33的时候sum的值为:561
i等于:34的时候sum的值为:595
i等于:35的时候sum的值为:630
i等于:36的时候sum的值为:666
i等于:37的时候sum的值为:703
i等于:38的时候sum的值为:741
i等于:39的时候sum的值为:780
i等于:40的时候sum的值为:820
i等于:41的时候sum的值为:861
i等于:42的时候sum的值为:903
i等于:43的时候sum的值为:946
i等于:44的时候sum的值为:990
i等于:45的时候sum的值为:1035
i等于:46的时候sum的值为:1081
i等于:47的时候sum的值为:1128
i等于:48的时候sum的值为:1176
i等于:49的时候sum的值为:1225
i等于:50的时候sum的值为:1275
i等于:51的时候sum的值为:1326
i等于:52的时候sum的值为:1378
i等于:53的时候sum的值为:1431
i等于:54的时候sum的值为:1485
i等于:55的时候sum的值为:1540
i等于:56的时候sum的值为:1596
i等于:57的时候sum的值为:1653
i等于:58的时候sum的值为:1711
i等于:59的时候sum的值为:1770
i等于:60的时候sum的值为:1830
i等于:61的时候sum的值为:1891
i等于:62的时候sum的值为:1953
i等于:63的时候sum的值为:2016
i等于:64的时候sum的值为:2080
i等于:65的时候sum的值为:2145
i等于:66的时候sum的值为:2211
i等于:67的时候sum的值为:2278
i等于:68的时候sum的值为:2346
i等于:69的时候sum的值为:2415
i等于:70的时候sum的值为:2485
i等于:71的时候sum的值为:2556
i等于:72的时候sum的值为:2628
i等于:73的时候sum的值为:2701
i等于:74的时候sum的值为:2775
i等于:75的时候sum的值为:2850
i等于:76的时候sum的值为:2926
i等于:77的时候sum的值为:3003
i等于:78的时候sum的值为:3081
i等于:79的时候sum的值为:3160
i等于:80的时候sum的值为:3240
i等于:81的时候sum的值为:3321
i等于:82的时候sum的值为:3403
i等于:83的时候sum的值为:3486
i等于:84的时候sum的值为:3570
i等于:85的时候sum的值为:3655
i等于:86的时候sum的值为:3741
i等于:87的时候sum的值为:3828
i等于:88的时候sum的值为:3916
i等于:89的时候sum的值为:4005
i等于:90的时候sum的值为:4095
i等于:91的时候sum的值为:4186
i等于:92的时候sum的值为:4278
i等于:93的时候sum的值为:4371
i等于:94的时候sum的值为:4465
i等于:95的时候sum的值为:4560
i等于:96的时候sum的值为:4656
i等于:97的时候sum的值为:4753
i等于:98的时候sum的值为:4851
i等于:99的时候sum的值为:4950
i等于:100的时候sum的值为:5050
一到一百的和为:
5050

4.4.2.do while语句

背景:如何校验两次输入的密码一致?

image-20220306154423141

  • 格式:
  • image-20220306154457399

注意:

  • 不管while判断的布尔表达式如何,均会至少执行一次do
  • 循环终止条件:while(!pwd1.equals(pwd2)); 判断是否要循环,字符串相等与否的使用epuals,不要使用“==”,在后年的字符串章节中会有说明
  • do while();分号不可以漏掉,否则报错,与while不同,不要混淆
  • 布尔表达式不可以为空,报错
  • 布尔表达式不可以是常数,循环体要有改变条件表达式的语句,否则都会形成死循环
package jiaocai;

import java.util.Scanner;
//导入仿真器的包
public class test25do_while实现两次密码校验 {

	@SuppressWarnings("resource")//方法2
	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		//@SuppressWarnings("resource")//方法1
		Scanner sc=new Scanner(System.in);	
		//解决sc报警的方法1和方法2,从键盘接受数据
		String pwd1="0";
		//定义字符串并赋予初始值
		String pwd2="-1";
		do {
			System.out.println("请输入你注册QQ的密码");
			pwd1=sc.nextLine();
			System.out.println("请再次输入确认密码");
			pwd2=sc.nextLine();
//System.out.println("你两次输入的密码不一致,请重新输入!");
			if(!pwd1.equals(pwd2)) {   
//A.equals(B)   判断A和B两个字符串是否相等
				System.out.println("你两次输入的密码不一致或者未输入密码,请重新输入!");
			}
		}while(!pwd1.equals(pwd2));
		//do  while循环的终止条件的判断,循环体为do{}部分
		
		System.out.println("你的QQ密码设置成功!\n"+"欢迎使用QQ");
		
		

	}

}

请输入你注册QQ的密码
123
请再次输入确认密码
234
你两次输入的密码不一致或者未输入密码,请重新输入!
请输入你注册QQ的密码
123
请再次输入确认密码
123
你的QQ密码设置成功!
欢迎使用QQ

4.4.3.for语句

4.4.3.1.普通的for语句

格式:

image-20220306155353401
  • 特殊

    • 无限循环
      for(直接在这里写两个英文分号){

      }

    • 进行优化,使用break语句

    • package jiaocai;
      
      public class demo12 {
      	public static void main(String[] args) {
      		int x=0 ; 
      		for(;;){
      //设置为死循环			
      			
      			 x++;
      //自增表达式    x=x+1;
      			 System.out.println(x);
      			 if(x==4) {	 
      				   break;
      			 }
      /*
       * 额外设置循环条件,将死循环变成可以停止的循环				 
       */
      			}
      
      	}
      	
      }
      
      
    • 1
      2
      3
      4

package jiaocai;

public class test26for语句求和 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		int sum=0;
		for(int i=1;i<=5;i++) {
//定义i并赋值,循环终止条件,无线逼近终止条件
			sum+=i;
//简便的写法:sum=sum+i;
			System.out.println("i="+i+"时,"+"sum的值为:"+sum);
		}

	}

}

i=1时,sum的值为:1
i=2时,sum的值为:3
i=3时,sum的值为:6
i=4时,sum的值为:10
i=5时,sum的值为:15

package jiaocai;
//穷举法
public class test28百钱买百鸡 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		int cock,hen,chick;
		for( cock=1;cock<=20;cock++) {
			//公鸡从1开始,控制公鸡数
			for( hen=1;hen<=33;hen++) {
				//母鸡数从1开始,控制母鸡数
				for( chick=3;chick<=99;chick+=3)
					//小鸡数从3开始,控制小鸡数
					if(cock*5+hen*3+chick/3==100) {
						//控制百钱
						if(cock+hen+chick==100) {
							//控制百鸡
							System.out.println("公鸡买"+cock+"母鸡买"+hen+"小鸡买"+chick);
						}
					}
			}
		}
	}

}

公鸡买4母鸡买18小鸡买78
公鸡买8母鸡买11小鸡买81
公鸡买12母鸡买4小鸡买84

4.4.3.2.foreach语句
  • 使用环境:JDK1.5以后版本,是for语句的延伸板加强版,减少了for语句代码的复杂度,目前广泛使用的,尤其是在数组问题上

  • 格式

  • image-20220306162627187

  • 数组:相同数据类型的元素按一定的顺序排列的集合

  • 遍历:对数组或集合中的每一个元素,逐一访问,依次读取一遍

package jiaocai;

public class test27foreach循环 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		long arr[]= {12,23,45};
		//定义一个名叫arr的数组
		for(long x:arr) {
			//将arr数组中的元素依次赋值给long型变量x
			System.out.println("x的值为:\n"+x);
		}

	}

}

x的值为:
12
x的值为:
23
x的值为:
45

  • 一维
    直接将每个元素进行遍历

  • 二维

    • 思路
      化二维为一维
    • 过程
      第一个foreach遍历二维数组的行
      第二个foreach遍历上一步遍历出的每一行 的每个元素
package 第六章_数组;

public class T4遍历数组 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		char ch[][]=new char[4][];//创建一个4行的数组,列未知,合法
		ch[0]=new char[] {'春','眠','不','觉','晓'};//对行进行初始化
		ch[1]=new char[] {'处','处','闻','啼','鸟'};
		ch[2]=new char[] {'夜','来','风','雨','声'};
		ch[3]=new char[] {'花','落','知','多','少'};

		System.out.println("----foreach语句遍历----");
		System.out.println("foreach语句遍历二维数组的原理,将二维转换为一维,然后,依次输出");
		for(char a[]:ch) {
	//控行,利用foreach语句遍历所有元素特点,将ch数组的行(共4行)全部作为元素,赋值给一个数组a
			for(char b:a) {
	//将数组a(这是一个一维数组)的元素,也就是每一个索引位置的值输出
				System.out.print(b);//不换行,输出
			}
			System.out.println();//输出玩一行后,进行换行
		}
	}

}

----foreach语句遍历----
foreach语句遍历二维数组的原理,将二维转换为一维,然后,依次输出
春眠不觉晓
处处闻啼鸟
夜来风雨声
花落知多少

4.5.循环控制

4.5.1.break语句

作用:用于控制循环与否

  • image-20220306163918601

  • image-20220306164051636

package jiaocai;

public class test29break语句 {
	public static void main(String[]args) {
		int i=1;
		while(i>0) {
			System.out.println(i);
			i++;			
			
			if(i==10)
				break;
		}
		System.out.println("i=10时,符合if语句的终止条件,break终止while循环了");
	}

}

1
2
3
4
5
6
7
8
9
i=10时,符合if语句的终止条件,break终止while循环了

  • 智能跳出

  • image-20220306164540290

package jiaocai;

public class test29a_break语句补充1 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		A:for(int i=0;i<3;i++) {
			System.out.println("i="+i);

			for(int j=0;j<5;j++) {
				//未标签前提下,break在哪个循环里,就跳出哪个循环
				System.out.println("\t"+"j="+j);
				//"\t"作用空8格,便于观察,i=?对应的是哪个j
						if(j==3)
					break A ;
	//加了A标签,跳出的便是外循环A了,只会输出一个i对应的J
			}
			//j永远不会到达j=4,j=3时,便跳出了,j的循环
		}

	}

}

i=0
j=0
j=1
j=2
j=3

4.5.2.continue语句

区别:

  • 与break的最本质区别

  • 语句区别
    break跳出这个循环
    continue跳出本次循环,(在本次循环体中continue后面的语句不执行)
    • 标签的使用方法与break一致
  • image-20220306165627416

image-20220306165747735

package jiaocai;

public class test30continue语句 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		int i;
		for(i=0;i<=10;i++) {
			if(i%2!=0)
				continue;
			System.out.println(i);
			System.out.println("&&*");
			/*从输出结果可知,只要满足
			continue前一句的条件,即i的值为奇数,就执
			行continue语句从continue开始往下
			面的任何语句均跳出,
			不进行执行,先进行了增量i++操作,然后然后
			判断再直接进行下一次循环,否则,应
			该有10行"&&*"*/
			//标签的使用和break一样
			
		}
			
	}

}

0
&&*
2
&&*
4
&&*
6
&&*
8
&&*
10
&&*

ontinue语句

区别:

  • 与break的最本质区别

  • 语句区别
    break跳出这个循环
    continue跳出本次循环,(在本次循环体中continue后面的语句不执行)
    • 标签的使用方法与break一致
  • image-20220306165627416

image-20220306165747735

package jiaocai;

public class test30continue语句 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		int i;
		for(i=0;i<=10;i++) {
			if(i%2!=0)
				continue;
			System.out.println(i);
			System.out.println("&&*");
			/*从输出结果可知,只要满足
			continue前一句的条件,即i的值为奇数,就执
			行continue语句从continue开始往下
			面的任何语句均跳出,
			不进行执行,先进行了增量i++操作,然后然后
			判断再直接进行下一次循环,否则,应
			该有10行"&&*"*/
			//标签的使用和break一样
			
		}
			
	}

}

0
&&*
2
&&*
4
&&*
6
&&*
8
&&*
10
&&*

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@yanyu666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值