前面的文章中我们了解到了java的选择结构,本篇文章我们来了解一下java的循环结构。
while(布尔表达式)
{
//循环的内容
}
public class Demo
{
public static void main(String[] args)
{
int i=0;
while(i<100)//每次循环先去判断表达式
{
i++;
System.out.println(i);
}
}
}
我们执行一下上述的代码,就可以看到如下内容(数字太多了,我把中间的结果用…表示)
1
2
3
...
...
100
进程结束.....
下面我们来看一下非常常见的题目,计算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(布尔表达式);
我们用刚刚的那道题,用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 的知识点,我们在下一篇文章中会说到for循环,这个是工作中,项目中比较常见的