java中while和dowhile的区别是什么?

TheDisguiser 2020-07-31 16:50:05 java常见问答 7583

在java中我们都知道循环的作用,最经典的就是while循环及do while,小伙伴们知道它们有什么区别吗?下面就一起来看看吧。

1、while循环。

循环三要素:

(一)循环变量初始化。

(二)条件判断。

(三)循环体内改变循环变量。

当我们做题目的时候,如何写出一个循环的关键点在哪?

1、循环的结束条件是什么。

如:循环输出1到100之间的所有整数。

int i=1;

while(i<=100){//首先找结束条件

i++;

}

再如:1+2+3+4+……+n=结果正好大于100的时候,问n等于几。

int sum=0;

int i=1;

while(sum<100){

sum = sum + i;

i++;

}

示例:

import java.util.Scanner;
/**
 * 循环输入一个字符串,如"abc",
 * 继续输入一个“def”,再继续输入“aaa”,
 * 最后输入一个“Esc”循环就结束,
 * 要求输出结果是:“abcdefaaa”。
 */
public class Demo3
{
    public static void main(String[] args)
    {
        Scanner input = new Scanner(System.in);
        String sum = "";
        while (true)
        {
            System.out.println("请输入一个字符串:");
            String s = input.next();
            if (s.equalsIgnoreCase("esc"))
            {
                break;
            }
            sum = sum + s;
        }
        System.out.println("你输入了:" + sum);
    }
}

2、do-while循环的使用。

语法如:

循环变量初始化

do{

循环体

}while(条件);

对比:如果第一次条件不满足时,那么do-while会做一次。

如果第一次条件不满足时,那么while一次都不会做。

其它情况下,do-while与while相似。

do-while:先做,再判断条件。

while:先判断,再做。

示例:

import java.util.Scanner;
/*
8、do-while循环问“你的名字叫什么?”,
如果回答的是“不告诉你”,就继续问,
否则输出“你的名字原来叫:**”。编程实现。
*/
public class Demo7
{
    public static void main(String[] args)
    {
        Scanner input = new Scanner(System.in);
        do {
            System.out.println("你的名字叫什么?");
            String name = input.next();
            if (!name.equals("不告诉你"))
            {
                System.out.println("原来你叫" + name);
                break;
            }
        } while (true);
    }
}

3、for循环

语法:

for(循环变量初始化;条件判断;循环内改变循环变量){

循环体;

}

示例:

import com.sun.xml.internal.bind.v2.model.core.Adapter;
/*
(挑战题)现有100元钱,
一只鸡要3元钱,一个蛋要2元钱,
要求正好把钱用完,输出所有可能的组合。
比如:买50个蛋就是其中的一种情况。
*/
public class Demo10
{
    public static void main(String[] args)
    {
        //先拿蛋做判断条件
        //100元的情况下,最少0个蛋,最多50个蛋
        for (int egg = 0; egg <= 50; egg++)
        {
            //再拿鸡做判断条件
            //100元最多33只,最少0只
            for (int chick = 0; chick <= 33; chick++)
            {
                //如果满足情况,输出鸡蛋和鸡的数量
                if (egg * 2 + chick * 3 == 100)
                {
                    System.out.println(egg + "蛋" + chick + "鸡");
                }
            }
        }
    }
}

以上就是本篇文章的所有内容,循环是java最基础的核心,后面的增删改查功能基本都要使用到它,所以掌握好是必须的。如果还有疑问,想了解更多的java常见问题及解决方法的话,就请持续关注本网站。

推荐阅读:

java里边while是怎么循环的?java语言while循环例子

java的do while循环是如何循环的?do while循环例子

Java中while语句怎么用?利用while语句统计字符的个数