7.循环结构

循环结构:
  在选择结构中代码无法一直跑,我们运行一遍程序就停止了,它可以用Scanner等待阻止,但是它终究会停止。这在真实的环境中肯定不行。比如你去访问一个网站阿里,淘宝,他们肯定24小时,甚至全年无休止的跑,我们需要规定一个程序运行多少次,运行多久。所以说,按照我们编程是用来解决人的问题的思想,我们需要一个结构来搞定这个事情,于是循环结构就诞生了。
顺序结构的程序它只能被执行一次,但是如果你想让它相同的操作执行多次怎么办?那就使用循环结构就对了,Java中主要有三种循环。
  While循环,do...while循环,for循环 而且在Java5中引入了一中主要用于数组的增强for循环 用于遍历一些数组和对象。
  
While循环:
   while是最基本的循环,它的结构为:
  while (布尔表达式){
   //循环内容
}
 
  只要布尔表达式为true,循环就会一直执行下去。
  我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环。
  少部分情况需要循环一直进行,比如服务器的请求响应监听等。
  循环条件一直为true就会造成无限循环【死循环】,我们正常业务编程中应该尽量避免死循环。会影响程序性能或者造成程序卡死崩溃!
 1 package com.duan.struct;
 2 
 3 public class WhileDemo01 {
 4     public static void main(String[] args) {
 5 
 6         //输出1~100
 7         int i = 0;
 8         
 9         while (i<100){
10             i++;
11             System.out.println(i);
12         }
13 
14     }
15 }
16 结果:
17 1
18 2
19 3
20 ...
21 100
 1 package com.duan.struct;
 2 
 3 public class WhileDemo02 {
 4     public static void main(String[] args) {
 5         //死循环,在正常业务编辑中应该避免使用死循环、否则会影响程序的一些性能,或者让咱们的程序崩溃、或者卡死
 6         while (true) {
 7             //如果等一个人聊天,你会永远等待他,永远监听他是否聊天。所以说等待客户端连接这样的情况下,
 8             //你的QQ永远都在监听着,要等待别人要给你发信息,当然它不是这样实现的。
 9             //还有一些定时检查的任务,像闹钟比如说,每多少小时它要叫一次...这样它就要去不停的循环,除了硬件上的损坏,它都在走。
10             //这个叫做while true,它是死循环。因为这个程序它停止不了。至少目前看起来没代码能让他停下来。
11         }
12 
13     }
14 }
思考:计算1+2+3+...100=?
 1 package com.duan.struct;
 2 
 3 public class WhileDemo03 {
 4     public static void main(String[] args) {
 5         //计算1+2+3+...+100=?
 6 
 7         int i = 0;
 8         int sum = 0;
 9 
10         while (i <= 100) {
11             sum = sum + i;
12             i++;
13         }
14 
15         System.out.println(sum);
16         
17     }
18 }
19 
20 结果:
21 5050
do...while循环:
  对于while语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。
  do...while循环和while循环相似,不同的是,do...whlie循环至少会执行一次。
  do{
   //代码语句
  }while (布尔表达式);
 1 package com.duan.struct;
 2 
 3 public class DoWhileDemo01 {
 4 
 5     public static void main(String[] args) {
 6         //计算1+2+3+...+100=?
 7 
 8         int i = 0;
 9         int sum = 0;
10         
11         do{
12             sum = sum + i;
13             i++; 
14         } while (i <= 100);
15             
16         System.out.println(sum);
17     }
18 }
19 
20 结果:
21 5050
 1 package com.duan.struct;
 2 
 3 public class DoWhileDemo02 {
 4 
 5     public static void main(String[] args) {
 6         int a = 0;
 7         while (a < 0) {
 8             System.out.println(a);
 9             a++;
10         }
11         System.out.println("=============");
12         do {
13             System.out.println(a);
14             a++;
15         } while (a < 0);
16     }
17 }
18 结果:
19 =============
20 0
while和do...while的区别:
while先判断后执行。do while是先执行后判断。
do...while总是能保证循环体会被至少执行一次。

猜你喜欢

转载自www.cnblogs.com/duanfu/p/12222181.html
今日推荐