二重循环:

1.什么是二重循环:

                        一个循环体内又包含另一个完整的循环结构
语法:
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
}
}
※各种循环可以相互嵌套

2.二重循环执行顺序:

外层循环执行1次内层循环执行1周

案例:
若有3个班级各4名学员参赛,如何计算每个班级参赛学员的平均分?
public class Demo02 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in); //二重循环 /**
*
* 外层循环执行一次,内层循环执行1周
*
*/
for (int i = ; i <=; i++) {
System.out.println("*************************************");
System.out.println("请输入第"+i+"个班级4位学员的成绩:");
int [] scores=new int[]; //学员成绩数组
double sum=0.0; //计算总和
for (int j = ; j <scores.length; j++) {
System.out.println("请输入第"+(j+)+"位学员的成绩:");
scores[j]=input.nextInt();
sum=sum+scores[j];
}
System.out.println("第"+i+"个班级的平均分为:"+sum/scores.length);
}
}
}
案例:打印矩形
public class Demo03 {
public static void main(String[] args) {
//外层循环控制行数
for (int i = ; i <=; i++) {
//内层循环控制个数
for (int j = ; j <=; j++) {
System.out.print("*");
}
System.out.println();
}
}
}

3.在二重循环中使用 continue:使用continue代表结束当前循环,继续下一次循环

案例:若有3个班级各4名学员参赛,计算每个班级参赛学员平均分,统计成绩大于85分学员数
public class Demo04 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in); //二重循环 /**
*
* 外层循环执行一次,内层循环执行1周
*
*/ int count=; //存储大于85分的人数
for (int i = ; i <=; i++) {
System.out.println("*************************************");
System.out.println("请输入第"+i+"个班级4位学员的成绩:");
int [] scores=new int[]; //学员成绩数组
double sum=0.0; //计算总和
for (int j = ; j <scores.length; j++) {
System.out.println("请输入第"+(j+)+"位学员的成绩:");
scores[j]=input.nextInt();
sum=sum+scores[j];
if(scores[j]<){
//结束本次循环,进入下一次循环
continue;
}
count++;
}
System.out.println("第"+i+"个班级的平均分为:"+sum/scores.length);
}
System.out.println("分数大于85的人数:"+count);
}

4.在二重循环中使用 break:使用break代表结束(跳出)当前循环

案例:有5家衣服专卖店,每家最多购买3件。用户可以选择离开,可以买衣服 最后打印总共买了几件衣服 

                    public class Demo05 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int count=;
//外层循环控制5家店
for (int i = ; i <=; i++) {
System.out.println("欢迎光临第"+i+"家店");
//内层循环控制最多买3件衣服
for (int j = ; j <=; j++) {
System.out.println("是否离开(y/n)");
char chois=input.next().charAt();
if(chois=='y'){
//如果输入Y代表离开
break;
}
System.out.println("买了一件衣服");
count++;
}
}
System.out.println("共买了"+count+"件衣服");
}
}

小白的java学习之路 “ 二重循环”的更多相关文章

  1. 小白的java学习之路 “ 循环结构(一)”

    循环: 重复得做某一件事情 举例: 打印50份试卷 沿操场跑10圈 做100道编程题 循环结构的特点: 循环条件 (50,10,100) 循环操作 (打印试卷,沿操场跑圈,做编程题) while 循环 ...

  2. 小白的java学习之路 “ 循环结构(二)”

    一.for 循环 语法: for(表达式一;表达式二;表达式三){ 循环操作 } 表达式一:参数初始化 表达式二:条件判断 表达式三:更新循环变量 执行流程: 步骤一:执行表达式一.初始化参数 步骤二 ...

  3. 小白的java学习之路 “ 数组”

    数组 一.什么是数组: 数组是一个变量,存储相同数据类型的一组数据 声明一个变量就是在内存空间划出一块合适的空间 声明一个数组就是在内存空间划出一串连续的空间 二.数组基本要素: 标识符:数组的名称, ...

  4. 小白的java学习之路 “ 选择结构(一)”

    if选择结构: if选择结构是根据条件判断之后再做处理的一种语法结构. 1.if选择结构的语法: public class Demo{ public static void main(String[] ...

  5. 小白的java学习之路 “ 变量、数据类型和运算符”

    一.变量: 1.什么是变量? 变量是一个数据存储空间的表示 变量由:变量名  变量类型  变量的值 2.创造变量的两种方法: 1.声明-->赋值-->取值 //声明变量 int money ...

  6. 小白的java学习之路 “ 带参数的方法”

    一.带参数的方法: 1.1 语法: <访问修饰符> 返回类型 <方法名>(<形式参数列表>) { //方法的主体 } 1.2 案例: 榨汁机 public clas ...

  7. 小白的java学习之路 "类的无参方法"

    Java注释: //:单行注释 /**/:多行注释 /** */:JavaDoc注释语法: 访问修饰符 返回值类型 方法名(){ 方法体 } 举例: public void run(){ System ...

  8. 小白的java学习之路 “ 类和对象”

    一.※ 万物皆对象 二.对象的两个特征: 属性:对象具有的各种特征 方法:对象执行的操作 对象:用来描述客观事物的一个实体,由一组属性和方法构成 三.封装: 对象同时具有属性和方法两项特性 对象的属性 ...

  9. 小白的java学习之路 “ 选择结构(二)”

    switch 选择结构: 为什么使用switch选择结构: switch选择结构可以更好地解决等值判断问题. switch选择结构的四个关键字: switch    case    default   ...

随机推荐

  1. Visual Studio 2012 出现关于ActivityLog.xml错误的解决方案

    由sp1升级sp2后出现的错误. devenv.exe /safemode启动下,就可以了 命令列參數 描述 /Command (devenv.exe) 啟動 IDE 並執行指定的命令. /Debug ...

  2. 用Go语言在Linux下调用新中新DKQ-A16D读卡器,读二代证数据

    1.背景 前几天用Python在Linux下成功的获取了二代证数据,最近正在学Go语言,这两天想着用Go语言也实现一下试看看. 2.开搞C++ 这次就比较简单了,直接把CppDemo里面的SynRea ...

  3. CSS3 animation属性中的steps实现GIF动图(逐帧动画)

    相信 animation 大家都用过很多,知道是 CSS3做动画用的.而我自己就只会在 X/Y轴 上做位移旋转,使用 animation-timing-function 规定动画的速度曲线,常用到的 ...

  4. java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener,环境Spring+Maven

    记录一下莫名出现的错误.Spring+Maven+STS. 严重: Error configuring application listener of class org.springframewor ...

  5. 基于python的密码字典生成器

    最近在网上看到一些作品,然后对其进行了一些完善.只是用于学习,不要去干坏事哦.程序来源于网络,我只是做了一些优化. #!/usr/bin/python# -*- coding:utf-8 -*-# @ ...

  6. tomcat 多端口 多容器 多域名 配置

    先强调一个原则: server下面可以有多个service,用于配置不同监听端口 service下面可以有多个Host,用于配置该端口下的不同域名 Host里可以包含多个Context,用于配置该端口 ...

  7. CentOS7.3yum安装MariaDB报错[Errno 256]

    在yum安装MariaDB时出现下面这个错误提示,然后着手排查,先检查了/etc/yum.repo.d/下的配置文件,没有错误. failure: repodata/repomd.xml from m ...

  8. 线段树学习----C语言

    /* 线段树学习:如果一个节点为i,那么他的左孩子为2I+1,右孩子为2i+2: */ #include<stdio.h> #define min(a,b) a<b?a:b; ]; ...

  9. THINKPHP-RCE-POC

    thinkphp-RCE-POC 官方公告: 1.https://blog.thinkphp.cn/869075 2.https://blog.thinkphp.cn/910675 POC: thin ...

  10. 微信小程序仿朋友圈功能开发(发布、点赞、评论等功能)

    微信小程序仿朋友圈功能开发(发布.点赞.评论等功能) 1.项目分析 项目整体分为三个部分 发布 展示 详情页 graph LR 朋友圈发布 --内容发布--> 内容展示 内容展示 --点击展示卡 ...