您的位置:首页 > 职场人生

第四篇 黑马程序员-循环语句

2012-08-21 08:54 281 查看
------- android培训java培训、期待与您交流! ---------

一.

while语句

格式:

while(条件表达式)

{

执行语句;

}

while的特点:先判断条件,只有条件满足才执行循环体

do...while:先执行循环体,在判断条件,条件满足,在继续执行循环体

小结:

do...while:无论条件是否满足,循环体至少执行一次。

二.

for循环语句

格式:

for(初始化表达式:循环条件表达式:循环后的表达式)



执行语句;

}

for循环语句执行的过程如下面代码所示,先初始化x=0,再判断x是否小于3,这里0<3,下面

就执行System.out.println("x="+x);然后再执行x++,即为1,然后再来判断1是否小于3,满足了,

所以就打印为1,然后执行x++,即为2,在判断2是否小于3,结果满足,所以打印2,再执行

x++,即为3,判断3是否小于3,结果不满足,即跳出循环。

public class ForDemo

{

public static void main(String[] args)

{

for(int x=0;x<3;x++)

{

System.out.println("x="+x);

}

}

}

注意:变量在定义的时候除了初始化值才能被使用以外,它还有个作用域的问题,即作用

范围,在以上for循环语句中,x是读到for语句以后创建出x,那么这个x就只在

{

System.out.println("x="+x);

}

这里面有效,这就叫变量的作用域。而while循环中,变量是定义在循环语句外面,故可以。

小结:

如果变量只为循环的增量而存在,控制循环次数的话,用for循环,内存会相对于while

循环语句用的少一点,

看以下代码可知 System.out.println("x====="+x);这条语句打印会报找不到x

这个变量的错误。

public 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);

for循环里面的初始化表达式和循环后的表达式都可以不写,条件表达式如果也不写的话

那默认为true.

无限循环的最简单表现形式:

for语句是:

for(;;){}

while语句是:

while(true){}

练习获取1-10的和并打印

分析:

该和具有规律:后面的第一个加数总是前面两个数的和,且前面的第二个加数逐1递增都等于后面的第二个加数:

0+1

1+2

3+3

6+4

根据此规律编写代码如下:

public class ForTest2

{

public static void main(String[] args)

{

//1.定义变量用于存储不断变化的和

int sum=0;

//2.定义变量。记录住不断变化的被加的数

int x=1;

//定义循环,重复加法的过程

while(x<=10)

{

sum=sum+x;

x++;

}

System.out.println("sum="+sum);

}

}

循环注意:哪些语句要参与运算,哪些语句不需要。

练习:1-100之间7的倍数的个数,并打印

分析:

1.先对1-100进行循环(遍历)通过循环的方式

2.在循环的过程中,定义条件,只对7的倍数进行操作

步骤:

1.定义循环语句,选择for语句

2.在循环中定义判断,只要是7的倍数即可,使用if语句。

条件:7的倍数,x%7==0

三.

嵌套循环,如下代码所示说一下以下嵌套循环的执行过程,for循环一执行,在内存中产生了一个

x变量块,初始化值为0,满足x<3以后,它就下来执行循环体,循环体还是一个循环for(int y=0;y<4;y++)

初始化一个变量y=0满足y<4,所以打印一次ok,然后读y++,所以必须循环体执行完毕以后再执行for(int

x=0;x<3;x++)

所以先打印了4次ok以后 for(int y=0;y<3;y++)结束,即循环体结束,然后读 for(int x=0;x<3;x++)

先x++,它的值为1,而1<3满足条件,故又执行循环体for(int y=0;y<4;y++),故打印12次ok.

public 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();

}

}

}

以上代码打印结果如下:

okokokok

okokokok

okokokok

小结:

以上结果像个长方形,外循环控制的行数,内循环控制的每一行的列数,也就是一行中元素

的个数。

发现图形有很多行,每一行有很多列,故要使用嵌套循环

原理:形象说法,大圈套小圈。由于这里的列数在变化,就用

一个变量来记录这个列数的变化,如下代码表示:

public class ForForDemo {

public static void main(String[] args)

{

int z=5;

for(int x=0;x<5;x++)

{

for(int y=0;y<z;y++)

{

System.out.print("*");

}

System.out.println();

z--;

}

}

}

尖朝上,可以改变条件,让条件随着外循环变化,尖朝下,可以初始化值

让初始化随着外循环变化。

break语句:跳出它所在的循环,在嵌套循环里,如果break要跳出某个循环的话,那就要对for 循环分别

起名,就要用到标号的概念,比如在FOR循环前面加w:等只要是合法的标识符都行以示区别。

-------- android培训java培训、期待与您交流! ---------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: