关于java循环结构while和do…while

关于java循环结构while和do…while

前面的文章中我们了解到了java的选择结构,本篇文章我们来了解一下java的循环结构。

循环结构

  • while 循环
  • do…while 循环
  • for 循环

while循环

  • while循环是循环结构中的一种,也是最基本的循环。
  • while循环的使用方式:
while(布尔表达式)
{
    //循环的内容
}
  • while循环的实例说明:
  • 输出1-100
public class Demo
{
    public static void main(String[] args)
    {
        int i=0;
        
        while(i<100)//每次循环先去判断表达式
        {
            i++;
            
            System.out.println(i);
        }
    }
}

我们执行一下上述的代码,就可以看到如下内容(数字太多了,我把中间的结果用…表示)

1
2
3
...
...
100

进程结束.....
  • 只要表达式判断的结果为true,就会一直循环下去。
  • 我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环
  • 少部分的情况需要循环一直执行。
  • 循环条件如果一直为true,会造成无限循环,这种我们称之为死循环,所以在写代码的过程中要尽量避免死循环,除非有特殊需要,因为一直循环会影响性能,严重可能造成系统崩溃。

下面我们来看一下非常常见的题目,计算1+2+3+…+100的和。

public class Demo
{
	public static void main(String[] args)
	{
		int i=0;
        
        int sum=0;
        
        while(i<100)
        {
            sum=sum+i;//第一次循环 sum=0+0=0  第二次循环 sum=0+1
            
            i++;//i=i+1  i=1 i=1+1=2 依次类推
            
        }
        
        System.out.println(sum);
	}
}

我们执行一下代码,运行以后可以看到如下结果

5050
    
进程结束......

死循环

死循环也不是完全错误的循环,比如我们平时定的闹钟,等待服务器连接等等,我们下面来看一下什么是死循环。

public class Demo
{
    public static void main(String[] args)
    {
        while(true)
        {
            //循环内容
        }
    }
}

while后括号中的条件,始终为true,没有条件可以终止循环,就会无限循环。

do…while循环

  • 对于我们上面介绍的while循环,如果不满足条件,则不会进入循环。
  • 但是do while,我们即使不满足条件,也会循环一次,这个在以后我们做项目的时候也是有需求会用到的。
  • do while 和while 循环相似,但是不同的在于,do while 不满足条件也会执行一次
  • do while 循环结构使用方式:
do
{
	//执行内容
}
while(布尔表达式);
  • do while 循环实例说明:

我们用刚刚的那道题,用do while 实现一下:计算1+2+3+…+100的和。

public class Demo
{
	public static void main(String[] args)
	{
		int i=0;
        
        int sum=0;
        
        do
        {
        	sum=sum+i;//第一次循环 sum=0+0=0
            
            i++;//i=i+1           
        }
        while(i<100);

        System.out.println(sum);
	}
}

我们执行一下代码,发现输出的值和while输出的相等。

5050

进程结束......

这里可以发现结果是一样的,是因为在第一次执行的时候,sum=0,所以对整体的和没有影响,我们再来通过另一段代码可以更直观的看到区别。

public class Demo
{
	public static void main(String[] args)
	{
		int i=0;
        
        whlie(i<0)
        {
            System.out.println(i);
            i++;
        }
        
        System.out.println("==============")//用线条区分上下文
        
        do
        {
			System.out.println(i); 
            i++;
        }
        while(i<0);

        System.out.println(sum);
	}
}

我们执行一下代码,运行以后可以看到如下结果

=============
0

进程结束.......

1、我们可以看到,上面的while循环,在第一次进入的时候,先判断条件,然后条件不符合,所以没有执行循环的内容,就没有输出。

2、但是下面的do while 循环,就算条件不满足,也会先执行一次循环,所以输出的值是0。

while 和 do while的区别

  • while 先判断后执行,do while是先执行后判断!
  • do…while总是保证循环会被至少执行一次!这是他们的主要差别。

以上就是关于while 和do while 的知识点,我们在下一篇文章中会说到for循环,这个是工作中,项目中比较常见的

你可能感兴趣的:(java,开发语言)