详解Java中while和do-while循环、break的使用

目录
  • 一、循环结构语句
  • 二、while循环语句
  • 三、do-while循环语句
  • 四、break使用
  • 五、总结

循环结构分两大类,一类是当型,一类是直到型。

当型:

当布尔值表达式条件为True时,反复执行某语句,当布尔表达式的值为False时才停止循环,例如:while 与 for循环。

直到型:

先执行某语句,在判断布尔表达式,如果为true,再执行某语句,如此反复,直到布尔表达式条件为false时才停止循环,例如do - while循环。

语法结构:

while (布尔表达式)
{
 循环体;
}

一、循环结构语句

1.在我们实际生活中经常会把同一件事情重复做好几次。例如:潮汕人喜欢喝茶,只要在喝茶的过程,冲泡的行为;做俯卧撑的起伏的动作等。在java中有一种特殊的语句叫做循环语句,它可以实现将一段代码重复执行。例如求1~10的整数和。

2.循环语句分为while循环语句、do-while循环语句、for循环语句三种。

二、while循环语句

1.while循环语句是根据条件判断来决定是否执行大括号({})的执行语句。while语句会反复地进行条件判断,只要条件成立,大括号({})的语句就会被执行,直到条件不成立,while循环结束。

2.while循环语句的语法语句

[初始化语句]
while( 条件 ){
s1:执行语句
} 

在语法结构中{}中的执行语句称为循环体,循环体是否被执行就看条件满不满足。

3.while循环的流程图

当条件为true时,循环体就会执行,循环体执行完之后会继续判断条件,是否循环条件为true,如果为true继续执行循环体,直到循环条件为false,while循环就结束。

4.使用while循环语句求1-10整数的和

int i = 1, sum = 0;
 while(i <= 10){
 sum += i;
 i++;
 }
 System.out.println("1-10的整数和值为" + sum);
System.out.println("1-10的整数和值为" + sum);

输出的结果是:

1-10的整数和值为55

首先是定义int类型变量i和sum,i=1,sum=0是用来保存计算1-10整数和的结果。从i等于1,只要i小于等于10,就会执行循环体的语句,sum+=i相当于sum=sum+i,i的值自增,直到不满足条件,while循环结束输出1-10整数的和的结果。

三、do-while循环语句

1.do-while循环语句和while循环类似,语法语句

do{
s1:执行语句
} while( 条件 ); 

在上面这个语法语句中,do后面大括号({})执行语句是循环体,do-while循环的条件放在循环体的后面。这说明先执行循环体,再判断条件,条件满足继续执行循环体,否则退出循环,执行do-while循环后面的语句。因此,在do-while循环中,循环体被执行的次数是1或若干次。

2.do-while循环语句流程图

3.使用do-while循环求1~10的整数和

int i = 1, sum = 0;
do{
sum += i;
i++;
}while(i <= 10);
System.out.println("1-10的整数和值为" + sum); 

输出的结果是:

1-10的整数和值为55

首先定义了int类型变量i和sum,i=1,sum是用来保存1-10的整数和的值,先执行循环体,sum+=i相当sum=sum+i的值,sum的值为1,i自增,然后看i<=10的条件是否满足,如果满足就继续执行,不满足就退出这个do-while循环,输出1-10的正数和值为55。

四、break使用

1.在循环语句中,使用break语句可以直接跳出循环,忽略循环体的任何其他语句和循环条件测试。换句话说,循环中遇到break语句时,循环终止,程序转到循环后面的语句处继续执行。

2.break使用例子如下所示:

int i=0;
while(i<10){
i++;
if(i==5){
 break;
}
System.out.print(i);
} 

输出的结果是:1234

可以看到定义int类型变量i为0,因为i=0,i<10所以满足条件执行循环体,然后i自增,此时i=1,1<10满足条件,继续执行循环体,i=2,2<10满足条件,再继续执行到i=5退出while循环。

五、总结

本文介绍了循环结构语句while和do-while循环、break的使用,while循环语句通过流程图和语法语句结合一个求1~10的整数和的例子来帮助大家理解while循环的用法。do-while循环和while循环类似,do-while是先执行循环体,再判断条件,条件满足继续执行循环体,否则退出循环,执行do-while循环后面的语句。简单介绍break的使用,break是跳出这个循环体。

(0)

相关推荐

  • Java流程控制之循环结构while、do...while

    目录 1.while 循环 2.do-while 循环 3.while和do-while的区别 本篇笔记内容记录while循环以及do-while循环,下一篇将讲述for循环以及延伸出来的增强型for循环(Java5新加) 前言: 在了解了选择结构之后,我们发现,仅通过选择结构,无法让程序一直跑着,我们每次运行就停止了.这在真实环境中肯定是不行的,比如网站的服务器,需要24小时无休地跑着,以及程序跑多少次等等. 为了解决这个问题,循环结构自然而然地诞生了! 顺序结构的程序语句只能跑一次(执行一次

  • 详解Java中的do...while循环语句的使用方法

    对于while语句而言,如果不满足条件,则不能进入循环.但有时候我们需要即使不满足条件,也至少执行一次. do-while循环和while循环相似,不同的是,do-while循环至少会执行一次. do { //代码语句 }while(布尔表达式); do..while循环语句也称为后测试循环语句,它的循环重复执行方式,也是利用一个条件来控制是否要继续重复执行这个语句.与while循环所不同的是,它先执行一次循环语句,然后再去判断是否继续执行.例如,计算1到100之间所有整数的和,也可以使用do.

  • Java While循环 do-while循环用法

    循环语句就是让计算机根据条件做循环计算,在条件满足时继续循环,条件不满足时退出循环. Java提供了while条件循环.它的基本用法是: while (条件表达式) { 循环语句 } // 继续执行后续代码 while循环在每次循环开始前,先会判断条件是否成立.如果计算结果为true,就把循环体内的语句执行一遍,如果计算结果为false,那就直接跳到while循环的末尾,继续往下执行. do while循环的基本结构 do{ //循环体 }while(条件); 与while不同的是,do whi

  • Java中使用While语句自增运算遍历数组典型实例

    public class BirdArray { public static void main(String args[]){ String[] str = new String[]{"麻雀","老鹰","白鸽","黄雀","百灵鸟","孔雀","鹦鹉","丹顶鹤"}; int index =0; //创建索引变量 System.out.prin

  • Java中while语句的简单知识及应用

    先谈谈while循环的三要素 while循环的三要素:(1)初始化变量(2)循环条件(3)改变循环变量的值 当你要用while循环时主要知道这三个要素什么,那么循环起来就得心应手了. 下面是while循环语法和特点: while语句的形式 while(条件表达式)//循环条件 { 语句序列//循环体 } while语句的执行过程: ① 先计算条件表达式的值 : ② 如果该表达式的值为true,则执行循环体的语句: ③ 如果表达式的值为false,退出循环,不再执行 循环体,结束while语句的执

  • 举例讲解Java中do-while语句的使用方法

    在学习 do/while 语句之前,先清楚 while 语句是如何工作的.while 语句是先进行条件判断,再执行大括号内的循环体. do/while 语句与 while 语句不同的是,它先执行大括号内的循环体,再判断条件,如果条件不满足,下次不在执行循环体.也就是说,在判断条件之前,就已经执行大括号内的循环体. 示例:计算1+2+3+4......+100的结果. public class control5{ public static void main(String[] args){ in

  • 详解Java中@Override的作用

    详解Java中@Override的作用 @Override是伪代码,表示重写(当然不写也可以),不过写上有如下好处: 1.可以当注释用,方便阅读: 2.编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错.例如,你如果没写@Override,而你下面的方法名又写错了,这时你的编译器是可以编译通过的,因为编译器以为这个方法是你的子类中自己增加的方法. 举例:在重写父类的onCreate时,在方法前面加上@Override 系统可以帮你检查方法的正确性. @Overr

  • 详解Java中多线程异常捕获Runnable的实现

    详解Java中多线程异常捕获Runnable的实现 1.背景: Java 多线程异常不向主线程抛,自己处理,外部捕获不了异常.所以要实现主线程对子线程异常的捕获. 2.工具: 实现Runnable接口的LayerInitTask类,ThreadException类,线程安全的Vector 3.思路: 向LayerInitTask中传入Vector,记录异常情况,外部遍历,判断,抛出异常. 4.代码: package step5.exception; import java.util.Vector

  • 详解java 中Spring jsonp 跨域请求的实例

    详解java 中Spring jsonp 跨域请求的实例 jsonp介绍 JSONP(JSON with Padding)是JSON的一种"使用模式",可用于解决主流浏览器的跨域数据访问的问题.由于同源策略,一般来说位于 server1.example.com 的网页无法与不是 server1.example.com的服务器沟通,而 HTML 的<script> 元素是一个例外.利用 <script> 元素的这个开放策略,网页可以得到从其他来源动态产生的 JSO

  • 详解Java 中的嵌套类与内部类

    详解Java 中的嵌套类与内部类 在Java中,可以在一个类内部定义另一个类,这种类称为嵌套类(nested class).嵌套类有两种类型:静态嵌套类和非静态嵌套类.静态嵌套类较少使用,非静态嵌套类使用较多,也就是常说的内部类.其中内部类又分为三种类型: 1.在外部类中直接定义的内部类. 2.在函数中定义的内部类. 3.匿名内部类. 对于这几种类型的访问规则, 示例程序如下: package lxg; //定义外部类 public class OuterClass { //外部类静态成员变量

  • 详解Java中Collections.sort排序

    Comparator是个接口,可重写compare()及equals()这两个方法,用于比价功能:如果是null的话,就是使用元素的默认顺序,如a,b,c,d,e,f,g,就是a,b,c,d,e,f,g这样,当然数字也是这样的. compare(a,b)方法:根据第一个参数小于.等于或大于第二个参数分别返回负整数.零或正整数. equals(obj)方法:仅当指定的对象也是一个 Comparator,并且强行实施与此 Comparator 相同的排序时才返回 true. Collections.

  • 详解Java中HashSet和TreeSet的区别

    详解Java中HashSet和TreeSet的区别 1. HashSet HashSet有以下特点: 不能保证元素的排列顺序,顺序有可能发生变化 不是同步的 集合元素可以是null,但只能放入一个null 当向HashSet集合中存入一个元素时,HashSet会调用该对象的hashCode()方法来得到该对象的hashCode值,然后根据 hashCode值来决定该对象在HashSet中存储位置. 简单的说,HashSet集合判断两个元素相等的标准是两个对象通过equals方法比较相等,并且两个

  • 详解java中this.getClass()和super.getClass()的实例

    详解java中this.getClass()和super.getClass()的实例 前言: 遇到this.getClass()和super.getClass()的返回值感到疑惑,经过探索豁然开朗. getClass()是java中Object类的一个方法,其原型为: public final Class<?> getClass() 返回值为 当前运行时类的Class对象. 所以写了一段代码来说明: getClass()不受this和super影响,而是有当前的运行类决定的. 代码如下: 父类

  • 详解Java中Checked Exception与Runtime Exception 的区别

    详解Java中Checked Exception与Runtime Exception 的区别 Java里有个很重要的特色是Exception ,也就是说允许程序产生例外状况.而在学Java 的时候,我们也只知道Exception 的写法,却未必真能了解不同种类的Exception 的区别. 首先,您应该知道的是Java 提供了两种Exception 的模式,一种是执行的时候所产生的Exception (Runtime Exception),另外一种则是受控制的Exception (Checked

  • 详解JAVA中implement和extends的区别

    详解JAVA中implement和extends的区别 extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承,Java中不支持多重继承,但是可以用接口来实现,这样就要用到implements,继承只能继承一个类,但implements可以实现多个接口,用逗号分开就行了比如class A extends B implements C,D,E implements是一个类实现一个接口用的关键字,他是用来实现接口中定义的抽象方法. 还有几点需要注意: (1

  • 详解Java中list,set,map的遍历与增强for循环

    详解Java中list,set,map的遍历与增强for循环 Java集合类可分为三大块,分别是从Collection接口延伸出的List.Set和以键值对形式作存储的Map类型集合. 关于增强for循环,需要注意的是,使用增强for循环无法访问数组下标值,对于集合的遍历其内部采用的也是Iterator的相关方法.如果只做简单遍历读取,增强for循环确实减轻不少的代码量. 集合概念: 1.作用:用于存放对象 2.相当于一个容器,里面包含着一组对象,其中的每个对象作为集合的一个元素出现 3.jav

随机推荐