循环语句

while循环

格式

1 定义初始化表达式
2 
3 while(条件表达式){
4 
5 循环体(执行语句);
6 
7

示例代码

1 public class WhileDemo{
2 public static void main(String[] args){
3   int i=3;
4   while(i<5){
5     System.out.println("i"+"="+i);  //i=3  i=4
6     i++
7     }
8   }
9 }

注意:i++ 在以上语句中必须有,否则会出现死循环

do...while循环

  先执行循环体,再判断条件满足条件再继续执行循环体

  无论条件是否满足,循环体至少执行一次

 1 public class WhileDoDemo{
 2 public static void main(String[] args){
 3   int i=3;
 4 do{
 5     System.out.println("i"+"="+i);  //i=3  i=4
 6     i++;
 7   }
 8 while(i<5);
 9   }
10 }

for循环

格式

 

1 for(初始化表达式;循环条件表达式;循环后的操作表达式)
2 
3   4 
5     执行语句;
6 
7   }

 

代码示例

1 public class Exam{
2 public static void main(String[] args){
3   for(int i=0;i<5;i++){
4   System.out.println("i"+"="+i);  //i=0 i=1 i=2 i=3 i=4
5     }
6   }
7 }

步骤

  1.int i=0

  2.i<5

  3.System.out.println("i"+"="+i);

  4.i++

  5.i<5

  ......

for和while区别

  1.变量有自己的作用域,如果将用于控制控制循环的增量定义在for语句中,那么该变量只有在for语句中有效,for语句执行完毕,该变量在循环中释放,不会传到循环之外

  2.for和while可以互换,如果需要定义循环变量,用for更为合适

 1 public class ForWhileDemo{
 2 public static void mian(String[] args){
 3 for(int i=0;i<5;i++){
 4     System.out.println(i);
 5   }
 6     System.out.println(i); //不能执行  编译会报错,因为出了for循环,i就变成没有声明的变量了
 7   int i=0;
 8   while(i<5){
 9     System.out.println(i);
10   }
11     System.out.println(i); //可以执行
12   13

总结

  什么时候使用循环结构?

  当要对某些语句执行很多次时,就使用循环结构

循环小细节

(一)

  无限循环最简单表现形式

1 for(;;){} //默认为true
2 
3   while(true){}

(二)

1 public class ForDemo{
2 public static void main(String[] args){
3   int i=0;
4   for(;i<5;){
5     i++;
6     }
7   }
8 }

这种形式是正确的,不是错误的,但是一般不这么写

1 public class ForDemo{
2 public static void main(String[] args){
3   int i=0;
4   for(System.out.print("a");i<5;System.out.print("b"),i++){
5       System.out.print("c")   //acbcbcbcbcb
6     }
7   }
8 }

这种格式也是正确的,只要有个判断条件就可以了,只不过这种写法比较不常见,只要初始化语句和循环后的操作语句是正确的,就可以正常运行

循环嵌套

  语句嵌套形式,其实就是语句中还有语句

  使用循环嵌套,形象地说就是大圈套小圈

 1 public class ForForDemo{
 2 public static void main(String[] args){
 3   for(int i=0;i<5;i++)//表示行{
 4   for(int j=5;j>i;j--)//表示列{
 5     System.out.print("*");
 6   }
 7     System.out.println();
 8     }
 9   }
10 }

结果

1 *****
2 ****
3 ***
4 **
5 *

 1 public class ForForDemo{
 2 public static void main(String[] args){
 3     for(int i=0;i<5;i++)//表示行{
 4     for(int j=0;j<=i;j++)//表示列{
 5       System.out.print("*");
 6   }
 7       System.out.println();
 8     }
 9   }
10 }

结果

1 *
2 **
3 ***
4 ****
5 *****

不是规律的规律:

  尖朝上,改变条件,让条件随着外循环变化

  尖朝下,改变初始化值,让初始化值随着外循环变化

  /*也可以不这样写*/

九九乘法表

 

 1 public class NineNine{
 2 public static void main(String[] args){
 3     for(int i=1;i<=9;i++){
 4     for(int j=1;j<=i;j++){
 5       System.out.print(i+"*"+j+"="+i*j+"\t");  //  /t制表符,自动空格
 6   }
 7       System.out.println();
 8     }
 9   }
10 }

 

结果

1 1*1=1
2 1*2=2   2*2=4
3 1*3=3   2*3=6   3*3=9
4 1*4=4   2*4=8   3*4=12  4*4=16
5 1*5=5   2*5=10  3*5=15  4*5=20  5*5=25
6 1*6=6   2*6=12  3*6=18  4*6=24  5*6=30  6*6=36
7 1*7=7   2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49
8 1*8=8   2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64
9 1*9=9   2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81

  /t 制表符代表自动空格 使其一一对齐,看起来美观

 

posted @ 2016-08-05 17:14  IT蓄水池  阅读(120)  评论(0)    收藏  举报