1.第三章 选择结构(一)

1.第三章 选择结构(一)

1.概念

A:嗨,我们晚上去吃个排骨汤吧
B:我现在牙还在疼,如果到晚上的时候不疼了我们就一起去

2. 什么是if选择结构

1.语法:

if () { // 括号里必须是布尔条件表达式
//代码块,只有一条语句的时候大括号可以省略,但是不建议那么做
}

如:之前的问题我们可以套用语法

if(张浩的java成绩>90分){
获得MP4作为奖励
}

流程图:

image-20200612115100329

针对之前的问题,有两种实现方式,一是使用Scanner方式实现,二是声明变量
这里给出声明变量的方式,另一种实现方式自己实现

 double score=90.0;
   if(score>90){   //判断是否大于90分
  System.out.println("老师说不错,奖励一个MP4");
 }
 System.out.println("程序结束");

2.复杂条件下的if选择结构

运算符表达式说 明
&&条件****1 && 条件****2仅仅两个条件同时为真,结果为真
||条件****1 || 条件****2只要两个条件有一个为真,结果为真
!! 条件条件为真时,结果为假****条件为假时,结果为真

运算符优先级顺序:
!>算术运算符>比较运算符>&&>||

张浩的Java成绩大于98分,而且音乐成绩大于80分,老师会奖励他;或者Java成绩等于100分,音乐成绩大于70分,老师也会奖励他

我们可以用( score1 >98 && score2 > 80 ) || ( score1 == 100 && score2 > 70 )就相当于下面这串代码:

  int score1 = 100; // 张浩的Java成绩
   int score2 = 72; // 张浩的音乐成绩
   if ( ( score1 >98&& score2 > 80 )
  || ( score1 == 100 && score2 > 70 ) ){
  System.out.println("老师说:不错,奖励一个MP4!");
 }
 System.out.println("程序结束");



## 3.

使用if-else选择结构

原本使用两个基本if选择结构

现在可以使用if-else选择结构实现比上面好用多了
i f ( 条 件 ) / / 代 码 块 1 e l s e / / 代 码 块 2 if ( 条件 ) { //代码块1 }else { //代码块2 } if()//1else//2

i f ( 张 浩 J a v a 成 绩 > 98 ) 奖 励 一 个 M P 4 ; e l s e 惩 罚 进 行 编 码 ; if (张浩Java成绩> 98 ) { 奖励一个MP4;}else { 惩罚进行编码;} if(Java>98)MP4else

流程图:

image-20200612121028913

double score=91;
   if(score>98){
    System.out.println("奖励一个MP4");
   }else{
    System.out.println("考的有点不好,惩罚");
   }

4.使用多重if选择结构

在我们的之前学习过程中,都是判断两种情况,不是怎么样就是怎么样
在实际生活中是可能出现区间选择的,如:分数的评级
成绩>=80 :良好 成绩>=60 :中等成绩<60 :差
类似这样,单个的if无法完成,多个if又比较麻烦,那就可以使用我们即将学习的多重if
i f ( 成 绩 > = 80 ) / / 代 码 块 1 e l s e i f ( 成 绩 > = 60 ) / / 代 码 块 2 e l s e / / 代 码 块 3 if ( 成绩>=80) { //代码块1 } else if (成绩>=60) { //代码块2 } else { //代码块3 } if(>=80)//1elseif(>=60)//2else//3
流程图:

image-20200612125353816

代码:

问题:成绩>=80 :良好 成绩>=60 :中等成绩<60 :差

思考:if里面的条件顺序是否可以随意更换

int score=77;
   if(score>=80){
  System.out.println("良好");
 }else if(score>=60){
  System.out.println("中等");
 }else{
  System.out.println("差");
 }
 System.out.println("程序结束");

5.为什么使用嵌套if选择结构

宝宝:今晚我们去看电影吧?
小饼干:好啊,不过晚于6点还有其他事就不去了

分析:女是答应去的,但是有前提条件就是不能迟于6点钟
这里就相当于有两个if条件,第一个条件满足才会执行后面的内容

问题:学校举行运动会,百米赛跑跑入10秒内的学生有资格进决赛,根据性别分别进入男子组和女子组
分析:
如果进入决赛 再看是男还是女,如果是男进入男子组女就进入女子组。这就使用到了嵌套if选择结构

if(条件1) { //外面的条件判断
   if(条件2) { //里面的条件判断
         //代码块1
   } else {
         //代码块2    
 }
} else {
  //代码块3

}

流程图:

image-20200612125919174

代码:

int m=8;
 String sex="女";
   if(m<10){    //外层判断
       if(sex.equals("男")){   //内层判断
         System.out.println("宝宝");
     }else if(sex.equals("女")){
         System.out.println("饼干");
      }
 }else{
     System.out.println("淘汰了回家去吧朋友");
 }
    System.out.println("程序结束");

第四章 选择结构(二)

6. 为什么使用switch选择结构

韩嫣参加计算机编程大赛
如果获得第一名,将参加麻省理工大学组织的1个月夏令营
如果获得第二名,将奖励惠普笔记本电脑一部
如果获得第三名,将奖励移动硬盘一个
否则,不给任何奖励

int mingCi=2;
   if(mingCi==1){
   System.out.println("参加夏令营活动");
  }else if(mingCi==2){
   System.out.println("奖励笔记本一部");
  }else if(mingCi==3){
   System.out.println("奖励移动硬盘一个");
  }else{
   System.out.println("没有奖励");
  }

用之前学习的方法亦可以解决问题,但是使用以上的多重if选择结构比较复杂和啰嗦,
现在可以使用switch结构来解决这样的问题,switch解决的是等值判断
语 法 : s w i t c h ( 表 达 式 ) / / b y t e s h o t i n t c h a r 枚 举 j d k 1.7 之 后 有 S t r i n g 类 型 c a s e 常 量 1 : b r e a k ; c a s e 常 量 2 : b r e a k ; c a s e 常 量 3 : b r e a k ; . . . d e f a u l t : b r e a k ; 语法:switch(表达式){ //byte shot int char 枚举 jdk1.7之后有String类型case 常量1: break;case 常量2: break;case 常量3: break;...default:break;} :switch()//byteshotintcharjdk1.7Stringcase1break;case2break;case3break;...default:break;
如何使用:

/**

  • 1.常量名不可重复

    • 2.每一个case后面要有break结束语

      • 3.default可以在任何位置,除了在最后break可以省略在其他位置都不可省略(题意要求的除外)

      • 建议都放在最后

      • 4.switch后面的表达式类型只能是int byte short char 枚举 和jdk1.7以后的String

      • 5.case后面的常量不是一定要连续的

      • 6.表达式是哪个就会跳转到相对于的case语句
        */

        int mingCi=2;
        switch(mingCi){
        case 1:
         System.out.println("参加夏令营活动");
         break;
        case 2:
         System.out.println("奖励笔记本一部");
         break;
        case 3:
         System.out.println("奖励移动硬盘一个");
         break;
         default:
        System.out.println("没有奖励");
         break;
        }
        System.out.println("程序结束");
        

常见 3种错误:

image-20200612131201321

image-20200612131233104

image-20200612131247095

7.比较switch和多重if选择结构

相同点:
都是用来处理多分支条件的结构

1.不同点:
switch结构:
只能处理等值条件判断的情况

多重if选择结构:
没有switch选择结构的限制,特别适合某个变量处于某个连续区间时的情况

选择结构总结:

到目前为止我们学习过五种选择结构:
基本if选择结构: 处理单一或者组合条件的情况
if-else选择结构:处理简单的条件分支情况
多重if选择结构:处理复杂的条件分支情况
嵌套if选择结构:用于较为复杂的流程控制

switch:选择结构
多重分支并且条件判断是等值判断的情况。

2.为什么要处理系统异常:

switch结构中我们常常输入的是int类型的值,但是用户不知道,可能会输入其他类型的值,这样的话就会报出输入类型不匹配的异常,为了避免这种情况的出现,我们可以在最开始的时候对其进行判断和限制
方法如下;

if(input.hasNextInt()){
  //这里是相关的seitch语句

}else{
//如果输入的不是数字
  System.out.println("请输入正确的数字");
}

第五章 循环结构(一)

8.循环

如果用我们之前的知识打印一百次好好学习天天向上,需要写100次输出语句很麻烦。

System.out.println(“第1遍写:好好学习,天天向上!”);
System.out.println(“第2遍写:好好学习,天天向上!");
System.out.println(“第3遍写:好好学习,天天向上!”);
System.out.println(“第4遍写:好好学习,天天向上!");

……
System.out.println(“第9999遍写:好好学习,天天向上!");
System.out.println(“第10000遍写:好好学习,天天向上!");

9.什么是循环:

循环条件

循环操作

10.什么是while循环

KaTeX parse error: Expected '}', got 'EOF' at end of input: … i ++;}

流程图:

image-20200612133009813

特点:先判断,再执行

编码规范:缩进、换行

11.使用while循环

1.确定循环条件和循环操作

  1. 套用while语法写出代码

    3.检查循环是否能够退出

流程图:

image-20200612133539302

1.打印 50 份试卷
分析:能否用循环解决
若能,找到循环操作和循环条件以及明确循环变量
p u b l i c s t a t i c v o i d m a i n ( S t r i n g [ ] a r g s ) i n t c o u n t = 1 ; w h i l e ( c o u n t < = 50 ) S y s t e m . o u t . p r i n t l n ( " 打 印 第 " + c o u n t + " 份 试 卷 " ) ; c o u n t + + ; public static void main(String[] args) { int count = 1; while(count <= 50){ System.out.println("打印第" +count+ "份试卷"); count++; }} publicstaticvoidmain(String[]args)intcount=1;while(count<=50)System.out.println(""+count+"");count++;

2.老师每天检查张浩的学习任务是否合格。如果不合格,则继续进行。
老师给张浩安排的每天的学习任务为:上午阅读教材,学习理论部分,下午上机编程,掌握代码部分

	System.out.print("合格了吗?(y/n):");
		String answer = input.next();
		while(!"y".equals(answer))   {
			
			System.out.println("上午阅读教材!");
			System.out.println("下午上机编程!\n");
			System.out.print("合格了吗?(y/n):");
			answer = input.next();
		}
		System.out.println("完成学习任务!");

12.do-while循环

d o 循 环 操 作 w h i l e ( 循 环 条 件 ) ; do { 循环操作 } while ( 循环条件 ); dowhile();

先执行一遍循环操作,再判断是否符合条件,符合则继续执行,否则退出;
注:最后的分号要注意加上

流程图:

image-20200612134305950

特点:先执行,再判断

do{
		System.out.println("上机编写程序!");
		System.out.print("合格了吗?(y/n)");
		answer = input.next();
		System.out.println("");}while(!"y".equals(answer));
​	
   System.out.println("恭喜你通过了测试!");

13.while 和 do-while的区别

不同点:
语法不同:
执行次序不同
初始情况不满足条件时:
while循环一次都不执行
do-while循环不管任何情况都会执行一次

第六章 循环结构(二)

14.为什么使用for循环

有很多问题用我们之前的whie循环是可以的,也可以使用我们现在for循环,类似于运动员有的擅长跑,有的擅长短跑,但是都是长跑的。我们的循环也是一样,只是他们都有自己擅长的领域。

对比for循环的结构和while循环的结构,其实结构都是一样的只是每个部分所在的位置有所不同,之前所在的是多行的内容现在放到一个括号里面了,所以更简洁了。执行顺序可以根据while循环的执行顺序自己先猜测下。

int i=0;
while(i<100){
System.out.println("好好学习!");
i++;
}   

forwhile更简洁

for (   int i = 0 ;    i  < 100 ;     i++  ) {
         System.out.println("好好学习!");
}    

代码规范:格式对齐、代码的缩进

15.如何使用for循环

1.使用for循环结构的步骤
分析循环条件和循环操作
套用for语法写出代码
检查循环是否能够退出
语 法 : f o r ( 表 达 式 1 ; 表 达 式 2 ; 表 达 式 3 ) 循 环 操 作 语法:for(表达式1;表达式2;表达式3){ 循环操作} for(123)

每个表达式之间用分号隔开

2.循环输入某同学S1结业考试的5门课成绩,并计算平均分
分析:是否能用循环做,循环次数是否为固定的。
做出如下的效果图

Scanner sc = new Scanner(System.in);
 System.out.print("请输入学生的姓名:");
   double score=0;
   double sum=0;

   for(int i=1;i<=5;i++){
 System.out.println("请输入第"+i+"门课程的成绩:");
 score=sc.nextDouble();
 sum+=score;
 }
    double avg=sum/5;
 System.out.println("平均分是:"+avg);


练习2:写出如下格式的加法表

分析是否适合使用循环,用什么循环,循环的次数是固定的么?
分析:先分别打印出0~6,再分别打印出6~0,然后做和运算即可。

参考代码
Scanner sc = new Scanner(System.in);
   System.out.print("请输入一个值:");
   int num=sc.nextInt();
     for(int i=0,j=num;i<=num;i++,j--){
      System.out.println(i+"+"+j+"="+(i+j));
     }

常见问题1:
缺乏变量的初始化,但可以在for循环上面的初始化

常见问题2:
表达式之间用分号隔开

常见问题3:
缺乏表达式2或表达式3,都会使得循环进入死循环。但是编译没错。
输 出 加 法 表 : f o r ( i n t i = 0 , j = v a l ; i < = v a l ; i + + , j − − ) S y s t e m . o u t . p r i n t l n ( i + " + " + j + " = " + ( i + j ) ) ; 输出加法表: for( int i = 0, j = val; i<=val; i++, j-- ){ System.out.println(i + " + " + j + " = " + (i+j)); } :for(inti=0,j=val;i<=val;i++,j)System.out.println(i+"+"+j+"="+(i+j));

  1. 使用for循环:

  2. 循环初始化:i = 0;j = 输入值

  3. 循环条件:i<=输入值

  4. 循环操作:计算i+j

  5. 循环变量的改变:i++,j–

16.为什么需要break语句

int i = 2;
switch(i){
        case 1: 
             System.out.println("星期一");
             break;
        case 2: 
             System.out.println("星期二");
             break;
 }

//其他语句

回顾之前的break在switch中的用法,遇到break就跳出当前语句;

17.如何使用break语句

image-20200612140214351

​ 循环录入成绩,判断录入正确性。录入错误,使用break语 句 立刻跳出循环;否则,累加求和

for(int i = 0; i < 5; i++){ 	    //循环5次录入5门课成绩  
	System.out.print("请输入第" + (i+1) + "门课的成绩: ");
	score = input.nextInt();
        if(score < 0){	   //输入负数
    		isNegative = true;
    	        break;
    	}
       sum = sum + score;    	   //累加求和
}

18.什么是continue语句

continue :只能用在循环里
continue 作用:跳过循环体中剩余的语句而执行下一次循环
语 法 : w h i l e ( ) c o n t i n u e ; / / 通 常 与 条 件 语 句 一 起 使 用 加 速 循 环 语法:while(){continue; //通常与条件语句一起使用加速循环} while()continue;//使
循环录入Java课的学生成绩,统计分数大于等于80分的学生比例
分析:通过循环输入分数获得大于等于80分的人数,如果大于80分的就执行num++,否则不执行num++操作
显出如图的效果


 for (int i = 0; i < total; i++) {
	System.out.print("请输入第" + (i + 1) + "位学生的成绩: ");
	score = input.nextInt();
	if (score < 80) {
		continue;
	}
	num++;
}
System.out.println("80分以上的学生人数是: " + num);
double rate = num *1.0 / total * 100; //计算比例
System.out.println("80分以上的学生所占的比例为:" + rate + "%");


19.对比break和continue

使用场合:break用于switch结构和循环结构中
continue一般用于循环结构中

作用(循环结构中):
break 语句终止某个循环,程序跳转到循环外的下一条语句
continue跳出本次循环,继而执行下一次的循环

补充:return 结束当前方法的执行并退出,返回到调用该方法的语句处。(具体讲解在方法处)

20.循环结构总结

语法:

image-20200612141104881

区别2:执行顺序
while 循环:先判断,再执行
do-while循环:先执行,再判断
for循环:先判断,再执行
区别3:适用情况
循环次数确定的情况,通常选用for循环
循环次数不确定的情况,通常选用while或do-while循环

第七章 数组

21.什么数组

image-20200612141655674

1.数组基本要素
标识符:数组的名称,用于区分不同的数组
数组元素:向数组中存放的数据
元素下标:对数组元素进行编号,从0开始,数组中的每个元素都可以通过下标来访问
元素类型:数组元素的数据类型

2.数组长度固定不变,避免数组越界

22.如何使用数组

1.使用数组四步走

数据类型 数组名[];
数据类型 [] 数组名; //常用写法

int [] score1;
int score2[];
String [] name;

2.声明数组

数据类型 [] 数组名 = new 数据类型[数组长度];

int  []  num =  new  int [10];

3.分配空间

方式一:
一个一个的赋值:

int []um = new int[10];
 num[0]=10;
 num[1]=11;
num[2]=20;

方式二:

一起赋值

int [] num={11,21,33};
int [] n = new int[]{22,33,21,22}; //这里不能指定数组的长度,大括号里有几个数就默认数组的长度是几了

方式三:
动态地从键盘录入信息并赋值

Scanner sc = new Scanner(System.in);
for(int i=0;i<30;i++){
  score[i]=sc.nextInt();
}

 

for(int i=0;i<30;i++){
  score[i]=sc.nextInt();
} 

4.处理数据

计算5位学生的平均分:
 int [ ] score = {60, 80, 90, 70, 85};
double avg;
avg = (score[0] + score[1] + score[2] + score[3] + score[4])/5;  

但是如果像上面写法的话还是会有弊端的,如:学生的个数有变动,那我们的循环次数和求平均分的时候除以的数都需要修改,我们有一个方法避免修改多处
动态的获取数组的长度。 score.length

23.常见错误

int [] score= new int[];

int [] score= new int[2];

score[0]=11;
score[1]=11;
score[2]=11;  //下标越界了

int [] score;
score={11,22,33,21};
  1. 使用数组的步骤是什么?

有一个数列:8,4,2,1,23,344,12
循环输出数列的值
求数列中所有数值的和
猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含此数

2.数组排序

使用java.util.Arrays类
java.util包提供了许多工具类
Arrays类提供操作数组的方法
如排序、查询
Arrays类的sort()方法:对数组进行升序排列

24.Arrary常用方法

 int [] arr1={12,21,10};
   int [] arr2={12,21,10};
   int [] arr3={8,21,10};
   //1 equals(arr1,arr2) 比较arr1 和 arr2是否相等
   boolean b = Arrays.equals(arr1,arr2);
   boolean c = Arrays.equals(arr1,arr3);

 System.out.println(b);  //true
 System.out.println(c);   //false

=======================================================
//2. sort(array) 对数组array进行升序排序
  System.out.println(Arrays.toString(arr3));
  Arrays.sort(arr3);
  System.out.println(Arrays.toString(arr3));

===============================================================================================
//void fill(array,fill); 把数组中元素都换成fill
  Arrays.fill(arr3, 0);
   System.out.println(Arrays.toString(arr3));

==============================================================
//copyOf(array,length) 把数组赋值成一个length长度的数组,返回的类型和复制的数组一致
   int[] of = Arrays.copyOf(arr1, 5);
   System.out.println(Arrays.toString(of));

============================================================
//int binarySearch(array,val) 查询元素val在数组array中的下标的位置,前提要求
   //先对数组进行升序的排序,显示的是排序后的元素下标
     Arrays.sort(arr3);  //排序后   8  10  21
   int search = Arrays.binarySearch(arr3, 21);
   System.out.println(search);

15. Arrays类

boolean equals(array1,array2)比较array1array2两个数组是否相等
sort(array)对数组array的元素进行升序排列
String toString(array)将一个数组array转换成一个字符串
void fill(array,val)把数组array所有元素都赋值为****val
copyOf(array,length)把数组array复制成一个长度为length的新数组,返回类型与复制的数组一致
int binarySearch(array, val)查询元素值val在数组array中的下标(要求数组中元素已经按升序排列)

第八章 循环结构进阶

26.为什么使用二重循环

外层循环控制班级数目,内层循环控制每个班级学员数目

image-20200612143633530

使用二重循环实现

for(int i = 0; i <classNum; i++){
		sum = 0.0;			 			
		System.out.println("请输入第" + (i+1) + "个班级的成绩");
		for(int j = 0; j < score.length; j++){ 
			System.out.print("第" + (j+1) + "个学员的成绩:");
			score[j] = input.nextInt();
			sum = sum + score[j];	
		}
		aver [i] = sum / score.length;	        //计算平均分
		System.out.println("第"+(i+1)+"个班级平均分" + aver [i] + "\n");
	}	

27什么是二重循环

  1. 1. 一个循环体内又包含另一个完整的循
    
    2. 语法:
       while的双重循环
       while(循环条件1) { 
        //循环操作1
            while(循环条件2) {
           //循环操作2
        }
       }
    
    
    do {
     //循环操作1
        do {
       //循环操作2
     }while(循环条件1);
    }while(循环条件2);
    
    for(循环条件1) {
     //循环操作1
         for(循环条件2) {
          //循环操作2
     }
    }
    
    while(循环条件1) {
      //循环操作1
          for(循环条件2) {
             //循环操作2
        }
    }
    
     
    
    特点:
    外层循环一次,内层循环一遍 
    
     
    
    ##  28.如何使用二重循环
    
    1.打印四边形的星星
    
    
    提示:外层循环控制行数,内层循环控制列数
    //打印四边形的星星
       for(int i=1;i<=5;i++){
        for(int j=1;j<=5;j++){
     System.out.print("*");
     }
     System.out.println();
        
     }
    
    ====================================================================
    
    2. 打印如图所示的图案
    
     
    
    
    
    //打印直角三角形
     Scanner sc = new Scanner(System.in);
     System.out.println("请输入三角形的行数:");
       int num=sc.nextInt();
       for(int i=1;i<=num;i++){
        
    
        for(int j=1;j<=(2*i-1);j++){
    
     System.out.print("*");
     }
     System.out.println();
     }
    
    =====================================================
    
    3.打印倒直角三角形
    
     
    
    //打印直角三角形
     Scanner sc = new Scanner(System.in);
     System.out.println("请输入三角形的行数:");
         int num=sc.nextInt();
         for(int i=1;i<=num;i++){
           for(int j=1;j<=(num+1-i);j++){
     System.out.print("*");
     }
     System.out.println();
     }
    
    =================================================================================
    打印等腰三角形(如下图效果)
    
    
    
    参考代码:
    //打印等腰三角形
     Scanner sc = new Scanner(System.in);
     System.out.print("请输入您要打印的行数:");
       int num=sc.nextInt();
       for(int i=1;i<=num;i++){
        for(int j=1;j<=num-i;j++){
     System.out.print(" ");
     }
        for(int k=1;k<=(2*i-1);k++){
     System.out.print("*");
     }
     System.out.println();
     }
    
     
    
     
    
    ==============================================================================
    冒泡排序:
    
    一共是比较了数组长度的-1轮,每一轮比较的次数都是比上一次少一 
    //打印冒泡
       int [] arr={21,77,23,32,1,99};
     System.out.println("排序之前:");
       for(int i=0;i<arr.length;i++){
     System.out.print(arr[i]+" ");
     }
     System.out.println();
    
       for(int i=0;i<arr.length-1;i++){
        
    
        for(int j=0;j<arr.length-i-1;j++){
         if(arr[j]>arr[j+1]){
           int temp=arr[j];
        arr[j]=arr[j+1];
        arr[j+1]=temp;
    
      }
     }
     }
    
     System.out.println("排序之后:");
       for(int i=0;i<arr.length;i++){
     System.out.print(arr[i]+" ");
     }
    
    
    =============================================================================
    
    
    //若有3个班级各4名学员参赛,计算每个班级参赛学员平均分,统计成绩大于80分学员数 
      Scanner sc = new Scanner(System.in);
       double avg=0;
       double sum=0;
       double score=0;
       int num=0;
       for(int i=1;i<=3;i++){
       System.out.println("请输入第 "+i+"个班级的成绩:");
       sum=0;
        for(int j=1;j<=4;j++){
        System.out.print("请输入第 "+j+"个同学的成绩:");
        score=sc.nextDouble();
        sum+=score;
         if(score<80){
           continue;
        }
        num++;
       }
       System.out.println("第 "+i+"个班的平均分是:"+sum/4);
      }
      System.out.println("80分以上的学院个数为:"+num);
    
    
    ===========================================================
    
    循环和break相结合的联系
    Scanner sc = new Scanner(System.in);
       String answer="";
       int num=0;
       for(int i=1;i<=5;i++){
        System.out.println("欢迎光临第 "+i+"家店");
    
    1.for(int j=1;j<=3;j++){
     System.out.print("要离开么(y/n): ");
     answer=sc.next();
        if(answer.equals("y")){
         System.out.println("离店结账");
         break;
        }
        num++;
      }
       System.out.println("一共买了 "+num+"件衣服");
    
    }
    
     
    

29.冒泡排序

冒泡排序速记口诀(升序)
N 个数字来排队
两两相比小靠前
外层循环 N-1
内层循环 N-1-I

30.在二重循环中使用break

1.使用二重循环解决
外层循环控制去每个专卖店
内层循环控制买衣服过程
使用break退出内层循环

image-20200612144301609

for(int i = 0; i < 5; i++){
	System.out.println("欢迎光临第" + (i+1) + "家专卖店");
	for(int j = 0; j < 3; j++){
		System.out.println("要离开吗(y/n)?");
		choice = input.nextLine();
		if("y".equals(choice)){    
		     break;	
		}
		System.out.println("买了一件衣服");
		count++;    //计数器加1
	}
       //……
}

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值