全部章节   >>>>


本章目录

5.1 while循环结构

5.1.1 循环简介

5.1.2 while循环

5.1.3 while循环的使用

5.1.4 while循环的注意事项

5.1.5 实践练习

5.2 深入理解while循环

5.2.1 使用while 循环实现数字统计

5.2.2 使用while循环计算存款利率

5.2.3 使用while循环计算游戏数据

5.2.4 实践练习

5.3 do-while循环

5.3.1 do-while循环语法结构

5.3.2 do-while循环的使用

5.3.3 while循环与do-while循环区别

5.3.4 实践练习

5.4 深入理解do-while循环

5.4.1 使用do-while循环模拟ATM机菜单项

5.4.2 使用do-while循环求各位数之和

5.4.3 实践练习

总结:


5.1 while循环结构

5.1.1 循环简介

(1)反复执行某些代码的程序处理过程称为循环。

(2)循环结构存在以下两个特点:

  • 循环不是无休止进行的,满足一定条件时,循环才会继续,称之为“循环条件”。
  • 循环是反复执行相同类型的一系列操作,称为“循环操作”或“循环体”。

循环

循环条件

循环操作

打印20份试卷

试卷数量小于20

打印一份试卷,已打印试卷数量加一

滚动的车轮

未到达目的地

车轮滚动一圈,离目的地更近

5.1.2 while循环

while循环是Java语言中比较常用的循环结构之一,先判断循环条件,再执行循环操作语句。

语法:

  1. while(循环条件)
  2. {
  3. 循环操作;
  4. }

while 是Java语言中的关键字。

循环条件通常是具有boolean类型值的关系表达式或逻辑表达式。

循环操作可以是一条简单语句,也可以是由多条语句构成的复合语句,当仅存在一条语句时,括号可以省略。

在while 循环中,若循环条件开始即为假,则循环体一次也不执行。

示例:编写Java 程序,复印36份试卷。

  1. int count = 1; //循环计数器初始为1
  2. while(count<=36) {//循环终止条件为达到36
  3. System.out.println("复印第"+count+"份试卷"); //循环内容
  4. count++;//改变循环条件,已复印试卷加1 //计数器累加
  5. }

5.1.3 while循环的使用

在某些循环操作中,表达式和循环条件存在一定的关系

示例:计算1~100之间的整数和。

  1. int count=1,sum=0;
  2. while(count<=100) {
  3. sum +=count; //累加求和
  4. count++; //条件改变,被加入sum中的值也会递增
  5. }
  6. System.out.println("1~100的整数之间的和为:"+sum);

5.1.4 while循环的注意事项

使用循环不仅可以简化代码,还可以解决许多我们之前力所不能及的问题,但在使用循环结构时很容易出现一些问题。

错误一:循环一次也不执行

错误二:循环执行次数错误

错误三:死循环

5.1.5 实践练习

5.2 深入理解while循环

5.2.1 使用while 循环实现数字统计

问题描述:在控制台中输入用户年龄,直到输入的数字为正确的年龄为止。

循环条件:年龄数据如果不在正确的范围内,即为小于0岁或大于130岁。

循环操作:给用户错误提示、重新输入年龄。

  1. Scanner sc = new Scanner(System.in);
  2. System.out.println(" 请输入用户的年龄 [0-130]");
  3. // 获取用户输入的年龄
  4. int age = sc.nextInt();
  5. // 如果年龄不在正确范围则执行循环
  6. while(age <=0 || age >= 130){
  7. // 错误提示
  8. System.out.println(" 请输入正确的年龄 [0-130]");
  9. // 重新获取年龄
  10. age = sc.nextInt();
  11. }
  12. // 打印正确的年龄
  13. System.out.println(" 您输入的年龄为 " + age + " 岁 ");

5.2.2 使用while循环计算存款利率

问题描述:本金10000 元存入银行,年利率是千分之三,每过1 年,将本金和利息相加作为新的本金。账户本金需要多少年可以超过12000 元。

循环条件:账户本金 <= 12000

循环操作:计算下一年账户本金、存款年份累加1

  1. double balance = 10000; //账户本金
  2. double rate = 0.03;//年利率
  3. int years = 0;//存款年限
  4. //使用循环计算
  5. while (balance <= 12000) {
  6. balance += balance * rate;//进行下一年的本金(当前本金+利息)
  7. years++;//存款年限累加
  8. System.out.printf("%d年之后,账户本金:%.2f\n", years, balance);
  9. }
  10. System.out.println("存款" + years + "后,账户本金将超过12000");

5.2.3 使用while循环计算游戏数据

问题描述:王者荣耀游戏中,己方队员为5人。通过输入每个队员的推塔数统计出最多的推塔数。

循环条件:统计的队员数量为5人以内。

循环操作:输入队员推塔的数量、判断是否大于已有的最大值,如果是则将值赋值给最大值变量,保证最大值变量里永远都是最大值。

  1. Scanner sc = new Scanner(System.in);
  2. int count = 1;//用来记录循环的次数
  3. int max = 0;//用来记录最大推塔数
  4. while(count <= 5){//如果循环次数是6以内则执行循环
  5. System.out.printf("请输入第%d个队员的推塔数量\n",count);
  6. int num = sc.nextInt();
  7. //如果当前队员的推塔数比最大值大,则将当前推塔数保存到最大推塔数变量
  8. if(num > max){
  9. max = num;
  10. }
  11. count++;//比较完当前队员推塔数后,改变循环变量
  12. }
  13. System.out.printf("本局推塔数最多的为%d",max);

5.2.4 实践练习

5.3 do-while循环

5.3.1 do-while循环语法结构

与while 循环不同,do-while 循环先执行循环操作语句,再判断循环条件,即使循环条件不成立,循环体也至少执行一次。

  1. do
  2. {
  3. 循环操作;
  4. }while(循环条件);

while(循环条件)之后的分号“;”不能省略。

循环条件通常是具有boolean类型值的关系表达式或逻辑表达式。

do-while循环执行过程:

先执行一次循环操作,再计算循环条件的结果,若为真,则循环条件成立,执行循环操作,重复上述过程,直到循环条件的结果为假时退出do-while 循环,转而执行do-while 循环之后的语句。

5.3.2 do-while循环的使用

示例:编写程序模拟学生考试,学生先考试,如果成绩没有及格,则继续考试,反之则结束。

  1. int score;
  2. Scanner input = new Scanner(System.in);
  3. do {
  4. System.out.println("学生参加考试!");
  5. System.out.print("老师请输入学生考试成绩:");
  6. score = input.nextInt();
  7. } while(score<60);
  8. System.out.println("恭喜你,考试成绩合格!");

示例:计算1-100之间所有自然数之和。

  1. int count = 1, sum = 0;
  2. do {
  3. sum += count;
  4. count++;
  5. } while (count <= 100);
  6. System.out.println("1-100自然数之和:" + sum);

5.3.3 while循环与do-while循环区别

while循环

do-while循环

相同点

实现循环结构

适用于循环次数未知的情况

不同点

while(循环条件)

{

循环操作;

}

do

{

循环操作;

} while(循环条件);

先判断后执行

先执行后判断

一开始循环条件为假,循环一次也不执行

一开始循环条件为假,循环一次也不执行

5.3.4 实践练习

5.4 深入理解do-while循环

5.4.1 使用do-while循环模拟ATM机菜单项

问题描述:在控制台中模拟ATM机菜单项的选择。

循环条件:用户选择的菜单项不是“退出”

循环操作:显示菜单项列表、根据用户选择的菜单项,显示对应信息

  1. do {
  2. System.out.println("【1】查询余额");
  3. System.out.println("【2】取款和转账");
  4. System.out.println("【3】存款");
  5. System.out.println("【4】退出");
  6. System.out.println("请选择:");
  7. choose = sc.next();
  8. switch (choose) {
  9. case "1":
  10. System.out.println("欢迎使用查询余额模块");
  11. break;
  12. //省略其他case及default
  13. }
  14. } while (!"4".equals(choose));//如果用户选择的不是4则继续循环

5.4.2 使用do-while循环求各位数之和

问题描述:输入一个数字(不限定位数),计算该数字的各位数字之和。

数字中各个位置上的数字分离过程如下:

数字 397。

分离个位:397%10=7;

分离十位:397/10=39;    39%10=9。

分离百位:39/10=3;      3%10=3。

  1. Scanner sc = new Scanner(System.in);
  2. int num;// 用户输入的数字
  3. int temp;// 存储分离出来的数字
  4. int sum = 0;// 存储各位数字之和
  5. System.out.println(" 请输入一个数字(不限定位数):");
  6. num = sc.nextInt();
  7. do {
  8. temp = num % 10;// 分离当前位置上的数字
  9. sum += temp;// 累加各位数字
  10. num = num / 10;
  11. } while (num > 0);
  12. System.out.printf(" 各位数字之和:%d", sum);

5.4.3 实践练习

总结:

  • 循环结构由循环条件和循环操作构成,只要满足循环条件,循环操作就会重复执行。
  • 使用循环解决问题的步骤为:分析循环条件和循环操作,套用循环结构的语法,检查循环能否退出。
  • 编写循环结构代码时要注意,循环变量的初值和结束条件,确保循环次数正确;检查循环条件能否使循环结束,避免出现死循环。
  • while循环结构的特点是先判断,后执行循环体。do-while循环的特点是先执行循环体,然后判断循环条件。

Java程序设计基础笔记 • 【第5章 循环结构】的更多相关文章

  1. Java程序设计基础笔记 • 【目录】

    持续更新中- 我的大学笔记>>> 章节 内容 实践练习 Java程序设计基础作业目录(作业笔记) 第1章 Java程序设计基础笔记 • [第1章 初识Java] 第2章 Java程序 ...

  2. Java程序设计基础笔记 • 【第6章 循环结构进阶】

    全部章节   >>>> 本章目录 6.1 for循环 6.1.1 for循环的简介 6.1.2 for循环的使用 6.1.3 for循环的表达式 6.1.4 实践练习 6.2 ...

  3. Java程序设计基础笔记 • 【第10章 数组】

    全部章节   >>>> 本章目录 10.1 数组概述 10.1.1 数组优势 10.1.2 Java中的数组 10.1.3 数组的分类 10.2 一维数组 10.2.1 数组的 ...

  4. Java程序设计基础笔记 • 【第9章 方法与参数类型】

    全部章节   >>>> 本章目录 9.1 有参数有返回值的方法 9.1.1 有参数有返回值的方法的定义和调用 9.1.2 返回值的传递过程 9.1.3 方法返回值的注意事项 9 ...

  5. Java程序设计基础笔记 • 【第1章 初识Java】

    全部章节   >>>> 本章目录 1.1 程序的概念及Java语言介绍 1.1.1 生活中的程序 1.1.2 计算机程序 1.1.3 算法和流程图 1.1.4 实践练习 1.2 ...

  6. Java程序设计基础笔记 • 【第4章 条件结构】

    全部章节   >>>> 本章目录 4.1 条件结构 4.1.1 程序流程控制 ​4.1.2 单分支if结构 4.1.3 双分支if结构 4.1.4 实践练习 4.2 多重条件结 ...

  7. Java程序设计基础笔记 • 【第7章 Java中的类和对象】

    全部章节   >>>> 本章目录 7.1 理解类和对象 7.1.1 对象 7.1.2 抽象与类 7.1.3 类与对象的关系: 7.2 Java中的类和对象 7.2.1 类的定义 ...

  8. 【Java】《Java程序设计基础教程》第一章学习

    一.Java概述 1.介绍了Java语言的由来 2.Java语言的特点:简单.面向对象.分布式.高效解释执行.健壮.安全.结构中立.可移植.高效率.多线程.动态 3.Java语言的实现机制,引入虚拟机 ...

  9. Java程序设计基础笔记 • 【第2章 变量与数据类型】

    全部章节   >>>> 本章目录 2.1 变量 2.1.1 变量的概念 2.1.2 变量的使用 2.1.3 实践练习 2.2 数据类型 2.2.1 数据类型的种类 2.2.2 ...

随机推荐

  1. go channel 概述

    精髓 将资源读进内存-->共享内存,一个个进程/线程进行处理,这是常见模式.go channel 是一种直接在进程/线程之间传递资源的方式,即以通信来共享内存.这便是go的精髓. 扩展-一些名词 ...

  2. HTTP协议及常见状态码

    超文本传输协议(HTTP)是用于传输诸如HTML的超媒体文档的应用层协议.它被设计用于Web浏览器和Web服务器之间的通信,但它也可以用于其他目的. HTTP遵循经典的客户端-服务端模型,客户端打开一 ...

  3. Selenium和PhantomJS

    Selenium Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Selenium 可以直接运行在浏览器上, ...

  4. Identity Server 4 从入门到落地(十一)—— Docker部署

    前面的部分: Identity Server 4 从入门到落地(一)-- 从IdentityServer4.Admin开始 Identity Server 4 从入门到落地(二)-- 理解授权码模式 ...

  5. 基于Github Actions + Docker + Git 的devops方案实践教程

    目录 为什么需要Devops 如何实践Devops 版本控制工具(Git) 学习使用 配置环境 源代码仓库 一台配置好环境的云服务器 SSH远程登录 在服务器上安装docker docker技术准备工 ...

  6. mysql中索引,触发器,事务,存储引擎的理解

    网址:http://blog.51cto.com/760470897/1790460

  7. 测试工具_http_load

    目录 一.简介 二.例子 三.参数 一.简介 http_load以并行复用的方式运行,用以测试Web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,其可以以一个单一的进程运行,这样就不会把客户机 ...

  8. centos部署golang环境

    目录 一.简介 二.部署 一.简介 Go语言(或 Golang)起源于 2007 年,并在 2009 年正式对外发布.Go 是非常年轻的一门语言,它的主要目标是"兼具 Python 等动态语 ...

  9. Linux实体服务器添加网卡

    目录 一.简介 二.配置 三.添加网卡 四.总结 一.简介 服务器如果搭配了网口,在插入网线或者光纤后会亮灯.如果发现不亮,可以关闭机器查看亮不亮,因为有的时候系统会把网口禁用,进入到系统反而不亮了, ...

  10. Windows 任务计划部署 .Net 控制台程序

    Windows 搜索:任务计划程序 创建任务 添加任务名称 设置触发器:这里设置每10分钟执行一次 保存之后显示 此任务会从每天的 0:10:00 执行第一次后一直循环下去. 在操作选项卡下,选择启动 ...