### 循环结构
* while 循环
* do...while 循环
* for 循环
* 在Java5中引入了一种主要用于数组的增强型for循环。
### while循环
* while是最基本的循环,它的结构为:
![](https://www.icode9.com/i/ll/?i=img_convert/80e15c13ea3d5b316c057b69f2e82235.png)
* 只要布尔表达式(expression)为 ture,循环就会一直执行下去。
* **<font color=red>我们大多数情况是会让循环停止下来的,我们需要一个表达式失效的方式来结束循环。</font>**
* 少部分情况需要循环一直执行,比如服务器的请求响应监听等。
* 循环条件一直为true就会造成无限循环【死循环】,我们正常的业务编程中应该尽量避免死循环。会影响程序性能或者造成程序卡死奔溃!
* 思考:1+2+3+....+100=?
```java
package com.kuangstudy.struct;
public class WhileDemo01 {
public static void main(String[] args) {
//输出1-100
int i=0;
while (i<100){
i++;
System.out.println(i);//输出语句在main方法里面 输出1.2.3.4......100
}
}
}
```
```java
package com.kuangstudy.struct;
public class WhileDemo02 {
public static void main(String[] args) {
//死循环
while (true){
}
}
}
```
1+2+3+....+100=?
```java
package com.kuangstudy.struct;
public class WhileDemo03 {
public static void main(String[] args) {
//计算1+2+3+.....+100?
int i = 0;
int sum =0;
while (i<=100){
sum = sum+i;
i++;
}
System.out.println(sum);//输出语句在class类里面,输出结果为5050
//如果输出语句放在main方法里面,就会输出很多和值,一直到5050停止
}
}
```
### do...while循环
* 对于while语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。
* do...while 循环和 while 循环相似,不同的是,do...while 循环至少会执行一次。
```java
do{
//代码语句
}while(布尔表达式);
```
* While和do-While的区别:
* while先判断后执行。do...while是先执行后判断!
* <font color=red>Do...while总是保证循环体会被至少执行一次!这是他们的主要差别。</font>
```java
package com.kuangstudy.struct;
public class DoWhileDemo01 {
public static void main(String[] args) {
int i = 0;
int sum =0;
do {
sum+=i;
i++;
}while (i<=100);
System.out.println(sum);//输出5050
}
}
```
```java
package com.kuangstudy.struct;
public class DoWhileDemo02 {
public static void main(String[] args) {
int a = 0;
while (a<0){
System.out.println(a);
a++;
}
System.out.println("------------------");
do {
System.out.println(a);
a++;
}while (a<0);
//输出结果:
------------------
0
}
}
```