Java流程控制05:While循环详解和DoWhile循环

### 循环结构

* 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
}
}

```

 

上一篇:DO NOT LET PRIVACY OVERBILL U TILITY: G RADIENT E MBEDDING P ERTURBATION FOR P RIVATE L EARNING


下一篇:排序(快排)