黑马程序员_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培训、期待与您交流! ----------------------