java循环结构-1

简介: 本章工作任务实现查询商品价格功能实现升级购物结算功能实现升级菜单切换功能本章技能目标

本章工作任务


实现查询商品价格功能

实现升级购物结算功能

实现升级菜单切换功能

本章技能目标


理解循环的含义

会使用 while 循环结构

会使用 do-while 循环结构

会使用调试解决简单的程序错误

本章简介


前面学习了选择结构,使用它可以解决逻辑判断的问题。但在实际问题中,会遇到需要多次重复执行的操作,仅仅使用选择结构不容易解决。本章将学习循环结构,利用循环结构,可以让程序帮助我们完成繁重的计算任务,同时可以简化程序编码。


预习作业


指导:请按以下步骤预习本章内容:


1. 阅读、学习本章内容。


2. 标注出本章看不懂或存在疑惑的部分。


3. 整理、记录学习中的问题。


4. 熟记本章的英文单词。


请到中心听课前,完成下面的作业。


1. 背诵英文单词

请在预习时找出下列单词在教材中的用法,了解它们的含义和发音,并填写于横线处。


(1) while    [waɪl]: conj. 在……期间;在……的过程中;与……同时;adv. 在……时候。


(2) do       [duː; də; dʊ]:v. 做,干,办(某事);行动,表现。


(3) index    [ˈɪndeks]: n. 指标;指数;索引;指针vi. 做索引vt. 指出;编入索引中。


(4) bug      [bʌɡ]:n. 臭虫,小虫;故障;窃听器。


(5) debug    [ˌdiːˈbʌɡ]:vt. 调试;除错,改正有毛病部分。


(6) equal    [ˈiːkwəl]:adj. 平等的;相等的;胜任的;vt. 等于;比得上。


(7) step     [step]:n. 步,脚步;步骤;步伐;梯级;vi. 踏,踩;走;vt. 走,迈步。


(8) error    [ˈerər]: n. 误差;错误;过失


2. 预习并回答以下问题

请阅读本章内容,在作业本上完成以下简答题。


(1) while 循环结构的语法和执行顺序是什么?


(2) do-while 循环结构的语法和执行顺序是什么?


(3) 阅读代码,并写出输出结果。

public static void main(String[] args) {
int num = 1;
while(num <= 5) {
System.out.printin (” 第 ”+num+” 遍抄写代码,力口油!");
num++;
}
}


3.  预习并完成编码题

(1)  编写并完成本章中所有示例代码。


(2)  请使用 Java 语言编写代码,完成以下功能。


① 使用 while 循环结构实现:输出 100 遍 “我要努力学习编程!”。


② 使用 do-while 循环结构实现:输出 100 遍 “我要努力学习编程!”。


技术内容


5.1 循环结构

5.1.1 为什么需要循环结构

提示:张浩的 Java 考试成绩只有 80 分,没有达到自己的目标。为了表明自己勤奋学习的决心,他决定编程写 100 遍“好好学习,天天向上!”


经过努力,张浩终于编写完了程序,如示例 1 所示。


示例1

package cn.jbit.loops1;
public class DoWithoutWhile {
   /*
    * 不用while打印100遍
    */
   public static void main(String[] args) {
      System.out.println("第1遍写:好好学习,天天向上!");
      System.out.println("第2遍写:好好学习,天天向上!");
      System.out.println("第3遍写:好好学习,天天向上!");
      System.out.println("第4遍写:好好学习,天天向上!");
      //省略91行语句
System.out.println("第96遍写:好好学习,天天向上!");
System.out.println("第97遍写:好好学习,天天向上!");
      System.out.println("第98遍写:好好学习,天天向上!");
      System.out.println("第99遍写:好好学习,天天向上!");
      System.out.println("第100遍写:好好学习,天天向上!");
   }
}


程序运行结果如图 5.1 所示。


图 5.1 示例 1 的运行结果


张浩看到这个结果后很高兴,将这段代码拿给老师看。老师看了以后很赞赏张浩努力学习的精神,但给张浩提出了一个问题:如果要写 10000 遍该如何做呢?张浩觉得写 100 遍就花费了很长时间,更何况写 10000 遍呢?张浩去请教了师兄。师兄告诉他可以用循环结构,这样写 100 遍的代码如示例 2 所示。


示例2


package cn.jbit.loops1;
public class WhileDemo1 {
   /*
    * while打印100遍
    */
   public static void main(String[] args) {
      int i = 1;
      while(i <= 100){
         System.out.println("第" +i+ "遍写:好好学习,天天向上!");
         i++;     // i = i + 1
      }
   }
}

通过运行,示例 2 的结果和示例 1 的结果相同。如果要写 10000 遍代码,只需改变一条语句即可,如示例 3 所示。


示例3


package cn.jbit.loops1;
public class WhileDemo1 {
   /*
    * while打印100遍
    */
   public static void main(String[] args) {
      int i = 1;
      while(i <= 10000){
         System.out.println("第" +i+ "遍写:好好学习,天天向上!");
         i++;
      }
   }
}


程序运行结果如图 5.2 所示。


图 5.2 示例 3 的运行结果


与示例 1 相比,示例 2 和示例 3 中处理问题的方式更简单。下面学习循环结构。


5.1.2 什么是循环结构

通过上面的示例,相信大家对循环有了一定的认识。循环就是重复地做,如 5.1.1 节的示例就是重复地写"好好学习,天天向上!"。


其实,在日常生活中有很多循环的例子,如打印 50 份试卷、在 400m 跑道上进行 10000m 赛跑、做 100 道编程题、滚动的车轮等,如图 5.3 所示。


 

图 5.3 生活中的循环


这些循环结构有哪些共同点呢?


我们可以从循环条件和循环操作两个角度考虑,即明确一句话 “在什么条件成立时不断地做什么事情”。


分析:


打印 50 份试卷:


循环条件——只要打印的试卷份数不足 50 份就继续打印。


循环操作----打印 1 份试卷,打印总份数加 1 。


万米赛跑:


循环条件——跑过的距离不足 10000m 就继续跑。


循环操作——跑 1 圈,跑过的距离增加 400m 。


做 100 道编程题:


循环条件——做编程题不足 100 道就继续做。


循环操作——完成 1 道编程题,完成题目的总数量增加 1 。


滚动车轮:


循环条件——没有到目的地就继续。


循环操作——车轮滚动 1 圈,离目的地更近一点。


由以上分析可以看出,所有的循环结构都有这样的特点:首先,循环不是无休止进行的,满足一定条件的时候循环才会继续,称为"循环条件",循环条件不满足的时候,循环退出;其次,循环结构是反复进行相同的或类似的一系列操作,称为"循环操作",如图 5.4 所示。


循环结构


循环操作


循环条件


图 5.4 循环结构的构成


5.2 while循环结构

5.2.1 什么是while循环结构

我们已经了解了循环结构的构成和特点,而程序中的循环结构是什么样的呢?


观察 5.1.1 节的示例 2, 其中使用了  While 循环结构。 Java 程序中的循环结构有三种实现方式: while 循环结构、 do-while 循环结构和 for 循环结构。本章我们学习前两种。


下面先介绍 while 循环结构,如表 5-1 所示。

表 5-1 while 循环结构





关键字while后小括号中的内容是循环条件。循环条件是一个表达式,它的值为boolean类型,即true或false,如i<=100。{}中的语句统称为循环操作,又称为循环体。


结合表5-1 , while循环结构的执行顺序一般如下。


(1) 声明并初始化循环变量。


(2) 判断循环条件是否满足,如果满足则执行循环操作;否则退出循环。


(3) 执行完循环操作后,再次判断循环条件,决定继续执行循环或退出循环。


结合流程图思考:如果第一次判断循环条件时就不满足,循环操作会不会被执行?


实际上,while循环结构如果第一次判断循环条件就不满足,则会直接跳出循环,循环操作一遍都不会执行。这是while循环结构的一个特点:先判断,后执行。


5.2.2 如何使用 while 循环结构

下面使用while循环结构实现打印50份试卷。根据前面的分析,打印50份试卷的流程图如图5.5所示。




图5.5打印50份试卷的流程图


根据while循环结构的语法,可以得到如示例4所示的代码。


示例4


package cn.jbit.loops1;
import java.util.Scanner;
public class WhileDemo {
    /*
     * 如何使用while循环
     */
    public static void main(String[] args) {
        int count = 1;
        while(count <= 50){
            System.out.println("打印第" +count+ "份试卷");
            count++;
        }
    }
}


相关文章
|
7月前
|
Java
Java 循环结构
4月更文挑战第9天
|
7月前
|
Java
Java循环结构
Java循环结构
52 0
Java 循环结构 - for, while 及 do...while
Java 循环结构 - for, while 及 do...while
|
4月前
|
Java C语言
|
6月前
|
存储 Java 数据处理
Java中的循环结构语句详解与实战应用
Java中的循环结构语句详解与实战应用
80 2
|
7月前
|
Java
Java中的循环结构详解
Java中的循环结构详解
147 1
|
7月前
|
Java
Java中的判断和循环结构
Java中的判断和循环结构
57 1
|
Java
Java的流程控制(选择结构语句 if ~ switch &循环结构语句dowhile ~ for)
程序执行的控制流程分为三种,也称为三种结构,分别是:顺序结构、和循环结构。 顺序结构指的是程序执行按照代码的编写顺序,依次从上往下开始执行,直到程序结束。程序的执行默认是顺序执行的
134 1
|
7月前
|
Java
Java程序设计基础——循环结构
Java程序设计基础——循环结构
|
7月前
|
Java C语言
【Java开发指南 | 第十二篇】Java循环结构
【Java开发指南 | 第十二篇】Java循环结构
36 2