Java学习——19基本结构(四)

本篇介绍do... while循环。

1、       语法格式

do{

      循环体语句;

}while(布尔表达式);

注意:while(布尔表达式);后面的分号不能省,不能忘。

2、       执行流程

do…while语句是先执行循环体语句,再判断<布尔表达式>的值,如果值为true,执行下一次循环;否则,结束循环。

3、改写上篇例,计算1~10的累加和。

public class Sum {

public static void main(String args[]){

int i=1,s=0;

do{

s+=i;

i++;

}while(i<=10);

System.out.println("Thesum is "+s);

}

}

其运行结果如下:

The sum is 55

4、do..while与while语句的区别

大部分情况下,while语句都可以改写为do…while语句,但只有一种情况例外:当第一次判断<布尔表达式>的值即为false的情况。

因为while语句是先判断再执行循环,故其最少可能执行0次。如果第一次判断<布尔表达式>的值即为false,while循环体一次也不执行。

而do…while语句是先执行循环再判断,故其最少的执行次数为1。如果如果第一次判断<布尔表达式>的值即为false,do已经执行了一次循环体语句了。

例:

public class Swtich3 {

public static void while1()

{

int i=11,sum=0;

while(i<=10){

sum+=i;

}

System.out.println("The sum is "+sum);

System.out.println("After while,i= "+i);

}

public static void dowhile()

{

int i=11,sum=0;

do{

sum+=i;

i++;

}while(i<=10);

System.out.println("Thesum is "+sum);

System.out.println("Afterdo while,i= "+i);

}

public static void main(String a[]){

while1();

dowhile();

}

}

其运行结果为:

The sum is 0

After while,i=11

The sum is 11

After dowhile,i= 12

在本例中,用两个静态方法来说明while和do…while的区别。

(1)在方法while1()中用的是while循环,计算当i=11时,sum的值。因为条件为i<=11,第一次判断即为false,所以并不执行循环体;

i和sum的值并没有什么变化,故输出时sum为0,i为11.

(2) 在方法dowhile()中用的是do…while循环,计算当i=11时,sum的值。它是先do了循环体语句,执行完后sum的值为11,i的值为12。然后再判断i<=10?此时12当然是大于10的,所以结束循环。

i和sum的值在do的时候值已经发生了变化,故输出时sum为0,i为11。

(0)

相关推荐

  • Java循环结构 while、do...while、for 用法与区别总结

    循环结构 为什么要使用循环?解决编码复杂度. 什么是循环?重复做同一件事情或者做同样的事情. While循环 While(布尔表达式){ 语句或语句块; } while循环语句的执行过程如下: 首先判 ...

  • do while 循环结构

    ★ do while 循环结构形式 do {          语句; } while (表达式); ★ do while 循环结构流程 首先执行语句(第 1 次): 之后求解表达式的值 如果值是 0 ...

  • Java学习——20基本结构(五)

    本篇介绍 for循环. 1.       语法格式 for(表达式1:表达式2:表达式3) 循环体语句: for循环语句将循环控制变量初值 .循环条件和变量的变化规律都以表达式形式写在循环体之前. & ...

  • Java学习——14基本结构(二)switch语句

    if语句在分支少时比较方便. 但如果分支多,并且多个分支同级别就由一个表达式的取值决定时,if语句就会显得比较繁杂. switch语句即是根据表达式的取值决定控制程序的多路分支流程. 1.       ...

  • Java学习——10基本结构(一)

    Java虽然是面向对象的语言,但在其内部,还是要借助于结构化程序设计的基本流程结构来组织语句块,完成其相应的逻辑功能. 有三种结构:顺序.选择和循环结构. 此三种结构的执行顺序有所不同. 1.顺序结构 ...

  • java学习——79.简单通讯录(四)

    主界面类: 终于进入主界面了. 主界面代码稍有点长,所以我将之分为布局和事件两部分介绍,但都是在同一个类Txl中. 对于主界面的布局,我分为了三部分:上.中.下,各用了一个JPanel面板. 然后将这 ...

  • java学习——9运算符与表达式(四)

    本篇接java学习--8运算符与表达式(三) (6)位运算符 位运算是指对整数按二进制的位进行运算. 位运算用于整数或字符类型. 有7个:~(非).&(与).|(或).^(异或).<&l ...

  • Java学习——2、基本程序结构

    自从1996年Java第一次被发布就引起了人们极大的关注. 它具有令人赏心悦目的语法,易于理解的语义,高质量的执行环境,功能庞大的库-- 今天,我以一个最简单的欢迎程序来简单解释Java的基本的程序设 ...

  • Java学习笔记(四):理解接口 事件监听器

    一.接口 父类和子类比较,父类是一个比子类更抽象的类.这个抽象体现在两个方面:一是父类的属性和方法比子类的少:二是,子类的方法比父类的方法更加具体. 当父类非常抽象时,或者我们仅仅知道这个类的对象应该 ...

  • Java学习笔记_17 项目实战之天天酷跑(四):游戏主界面

    此文转载自:https://blog.csdn.net/qq_45909299/article/details/110306321#commentBox 接上文,本文将实现游戏主界面,功能如下: 移动 ...

  • 学习书法找到这四个关键点就是找到笔法的窍门儿了吗

    谢谢您的邀请和提问."书法对于用笔真的很关键吗?为何?"我首先想纠正一下书法和用笔的表达,应该是用笔对书法很关键,而不是书法对用笔很关键. 因为,用笔是书法的一部分,一方面内容,书 ...