`
sky_eye
  • 浏览: 4512 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

黑马程序员_java循环语句和应用

阅读更多

                         黑马程序员_java循环语句和应用

  

           ---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------

 

          

一,循环语句    while    ,do  while     ,for

       1、while语句的格式   while(条件表达式){        执行语句;     }

       2、do while 语句的格式 do{  执行语句 ;}while(条件表达式);

相比较if语句来说,while和do  while 语句是一个循环语句,在运行时候,如果条件表达式满足条件,她就会一直执行执行语句的部分;而if语句,当满足条件表达式的时候,只会执行一次。

      注意:在dos见面运行无限循环时候,用ctrl+c   进行强制程序停止。

while  和do  while 语句的相同处和不同处,看下列语句

    //while  方式的循环语句
         int x =1;
        while (x<0)
       {
              System.out.println("Hello World!");
             x++;
       }
  //do  while  方式的循环语句
       int y = 1; 
       do
      {
             System.out.println("do:x="+y);
             y++;
      }
       while(y<0) ;

   

        相同处:while 和do while语句其实都是循环语句,只要满足条件表达式就会执行里面的执行语句。

       不同处:while是先判断条件表达式是否成立,成立即执行循环程序,不成立就会立即跳出。

              do  while是先执行一遍循环程序里的执行语句,然后在判断条件表达式是否成立,成立就会继续执 行,不成立就会跳出。

       所以上述语句中,do while 会执行一次 y   ,while 一次都不会执行

注意while()后面紧跟一个分号 即  :while(条件表达式); 此时语句是成立的,只是会变成无限循环。

3、for 循环语句  格式为:for(初始化表达式;循环条件表达式;循环后操作表达式){  执行语句  ;}

      初始化表达式是第一步,只会执行一次,其后就会执行后面的语句,而且里面的变量在for循环结束的时候里面的变量就消失了。具体程序如下:

class ForDemo
{
 public static void main(String[] args)
 {
  for(int x=0;x<3;x++)
  {
   System.out.println("x="+x);
  }
  System.out.println("x===="+x);                此时,结果为空,就是说没有变量x
  int y = 0;
  while (y<3)
  {
   System.out.println("y="+y);
  }
  System.out.println("y===="+y);  此时,结果又y 
 }
}

      相对于while语句,它的初始化语句在while循环语句外面,当while语句循环结束的时候,变量还在。

这样就会出现一个编写程序选择:1)如果增量变量只用于循环语句,定义在for语句中,只在for语句中有效,佛for语句完成后就会释放内存用for循环语句。

                                                2) 如果增变变量循环语句后可用,定义在while语句之外,就可用while语句

                                                 3)for和while语句可以进行互换,如果需要定义循环变量,for更为合适

for循环里面条件表达式,注意是条件表达式,必须有真假。其他两个表达式可以是其他类型的表达式,当其中含有多个表达式的时候,用逗号隔开即可。例如:for(int x=1,y=9;x<3,y<12;x++,y++)。

for语句中的初始化表达式和循环后表达式也可以不写。

 小细节:无线循环最简单表达式。

               (1)  for(;;){  }             条件表达式为空,即系统会默认为true

               (2)   while(true){  }

循环语句一定要注意,哪些语句要参与循环,哪些不需要参与循环,确定需要几个未知参数,确定类型以及各自循环的姿态。涉及的思想:累加思想和计数器。就是就是通过一个变量来记录住数据的变化。 

 循环嵌套语句的联系:class ForForDemo
{
 public static void main(String[] args)
 {
  for(int x =0;x<3;x++)
  {
   for(int y=0;y<4;y++)
   {
    System.out.println("ok");
   }
   System.out.println();//只有一个功能就是换行
  }

 }
}

打出的结果是一个有  *   好组成的长方形,内外循环相对于此处来说,就是外循环控制行数,内循环控制列数。当列数改变时,可以改变for循环内循环语句里的初始化值或者条件表达式,使之随着外循环的变化而变化,做出相应的改变。

小技巧:在用循环语句尤其是嵌套循环语句来制作像表格一类的东西的时候,为了对齐 ,可以再输出语句里加入  " \t "   即制表符来进行制表。

 二,break和continue

不同点:

       1)应用范围的不同:

       break语句应用范围:           选择语句(switch语句)和循环语句

      continue语句以应用范围:   循环语句

      2)作用不同:

       break是跳出当前循环语句,注意此处跳的是它所在的循环,比如内循环

      continue是结束本次循环开始下次循环

相同点:这两个语句离开应用范围都是没有意义的,在作用范围外会编译出错

              这两个语句单独存在下面都不是不可以有语句的因为执行不到,所以两个语句后面不跟任何语句。

 

所以我们当写到无线循环的程序时,可以通过break语句来判断用户或者其他的数据满足条件语句,来跳出无限循环语句。

  小细节:可以在循环语句前加上    名称 :循环语句    就是对循环语句做标号,相当于起名字。如w:for(;;),此处w就是循环语句做的标号。通过此小标号,可以这样运用,如:在内循环中加入break  w  ;就可以把外循环关闭。

              

                    ---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics