黑马程序员_Java基础Day03(上)_循环结构(Done)
2013-06-22 23:24
190 查看
------- android培训、java培训、期待与您交流! ----------
四、循环结构。
代表语句:while、do-while、for
1.while语句格式:
总结:while先通过条件表达式进行判断,如果判断结果为true,执行循环体;否则直接跳出循环。如果第一次条件判断都不满足,直接跳过循环,一次都不执行。
2.do-while语句格式:
与while相比,do-while无论条件是否满足,循环体至少执行一次。
3.for语句格式:
比较:
a.for里面的两个表达式运行的顺序,初始化表达式只执行一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式。接着继续判断循环条件,重复整个过程 ,直到条件不满足为止。
b.while与for循环可以进行互换。区别在于:for为了循环而定义的变量在for循环结束后就被释放;而while循环使用的变量在循环结束后依旧存在于内存中。
c.最简单的无限循环模式:
什么时候使用循环结构?
当要对某些语句执行很多次时,就使用循环结构。
两种编程思想:
a.累加思想:通过变量记录住每次变化的结果,通过循环的形式进行累加动作。
b.计数器思想:通过一个变量记录住数据的状态变化。也需要通过循环完成。
练习:求1~100各个数的和。
语句嵌套:就是语句中还有语句。如循环嵌套。
练习:
a.打印九九乘法表
运行结果:
b.打印正三角形,如下图:
*
* *
* * *
* * * *
* * * * *
记住不是规律的规律:
尖朝上,可以改变条件,让条件随着外循环变化;尖朝下,可以改变初始化值,让初始化随着外循环变化。
五、其他流程控制语句。
break(跳出)。应用范围:选择结构和循环结构。
continue(继续)。应用范围:应用于循环结构。
break含义是:强制退出循环,当退出循环时循环条件是仍然满足的。
continue含义:结束本次循环,继续执行下一次循环。
说明:
a.这两个语句离开应用范围存在是没有意义的;
b.这两个语句单独存在时,下面都不可以有其他语句,因为执行不到;
c.continue语句是结束本次循环继续下次循环;
d.标号的出现,可以让这两个语句作用于指定范围。
四、循环结构。
代表语句:while、do-while、for
1.while语句格式:
定义初始化表达式; while (条件表达式) { 执行语句(循环体); }
总结:while先通过条件表达式进行判断,如果判断结果为true,执行循环体;否则直接跳出循环。如果第一次条件判断都不满足,直接跳过循环,一次都不执行。
2.do-while语句格式:
定义初始化表达式; do { 执行语句(循环体); } while (条件表达式);总结:do-while先执行循环体,再执行判断。如果条件满足,继续执行循环体。
与while相比,do-while无论条件是否满足,循环体至少执行一次。
3.for语句格式:
for (初始化表达式;循环条件表达式 ;循环后的操作表达式 ) { 执行语句(循环体); }
比较:
a.for里面的两个表达式运行的顺序,初始化表达式只执行一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式。接着继续判断循环条件,重复整个过程 ,直到条件不满足为止。
b.while与for循环可以进行互换。区别在于:for为了循环而定义的变量在for循环结束后就被释放;而while循环使用的变量在循环结束后依旧存在于内存中。
c.最简单的无限循环模式:
while(true){执行语句;}
for(;;){执行语句;}无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。
什么时候使用循环结构?
当要对某些语句执行很多次时,就使用循环结构。
两种编程思想:
a.累加思想:通过变量记录住每次变化的结果,通过循环的形式进行累加动作。
b.计数器思想:通过一个变量记录住数据的状态变化。也需要通过循环完成。
练习:求1~100各个数的和。
class GetSum { public static void main(String[] args) { int sum = 0;//定义累加器 for (int x=1;x<=100 ;x++ ) { sum += x; } System.out.println(sum); } }
语句嵌套:就是语句中还有语句。如循环嵌套。
练习:
a.打印九九乘法表
class Practice { public static void main(String[] args) { for (int x=1;x<=9 ;x++ )//外循环控制行 { for (int y=1;y<=x ;y++ )//内循环控制每行中进行的操作 { System.out.print(y+"*"+x+"="+y*x+"\t"); } System.out.println();//换行 } } }
运行结果:
b.打印正三角形,如下图:
*
* *
* * *
* * * *
* * * * *
class Practice { public static void main(String[] args) { for (int x=1;x<=5 ;x++ ) { for (int y=x;y<5 ;y++ )//打印每行的左半部分(空白部分) { System.out.print(" "); } for (int z=1;z<=x ;z++ )//打印每行的右半部分(有*的部分) { System.out.print("* "); } System.out.println(); } } }c.打印中空的菱形:
class Practice { public static void main(String[] args) { printDiamond(7); } public static void printDiamond(int size) { for (int x=1;x<=size ;x++ )//上半部分 { for (int y=x;y<size ;y++ )//上半部分的左边 { System.out.print(" "); } for (int z=1;z<=x ;z++ )//上半部分的右边 { if (z==1 || z==x)//判断,仅打印"头"和"尾" { System.out.print("* "); } else System.out.print(" "); } System.out.println(); } for (int x=1;x<=size-1 ;x++ )//下半部分 { for (int y=1;y<=x ;y++ )//下半部分的左边 { System.out.print(" "); } for (int z=x;z<=size-1 ;z++ )//下半部分的右边 { if (z==x || z==size-1)//判断,仅打印"头"和"尾" { System.out.print("* "); } else System.out.print(" "); } System.out.println(); } } }运行结果:
记住不是规律的规律:
尖朝上,可以改变条件,让条件随着外循环变化;尖朝下,可以改变初始化值,让初始化随着外循环变化。
五、其他流程控制语句。
break(跳出)。应用范围:选择结构和循环结构。
continue(继续)。应用范围:应用于循环结构。
break含义是:强制退出循环,当退出循环时循环条件是仍然满足的。
continue含义:结束本次循环,继续执行下一次循环。
说明:
a.这两个语句离开应用范围存在是没有意义的;
b.这两个语句单独存在时,下面都不可以有其他语句,因为执行不到;
c.continue语句是结束本次循环继续下次循环;
d.标号的出现,可以让这两个语句作用于指定范围。
相关文章推荐
- 黑马程序员--java基础语法下篇(day03)
- 黑马程序员-day03-Java基础语法(函数)
- 黑马程序员_java基础day03
- 黑马程序员_Java基础Day02(上)_Java语言基础(Done)
- 黑马程序员_Java基础Day01_Java开发前奏(Done)
- 黑马程序员-Java基础知识-day03
- 黑马程序员_毕向东_Java基础_DAY03_函数_学习笔记
- 黑马程序员-day03-Java基础之语句
- 黑马程序员_Java基础Day08_面向对象之多态(Done)
- 黑马程序员_Java基础Day02(下)_程序流程控制(Done)
- 黑马程序员__Day03_java基础__IO流
- 黑马程序员--Java基础Day03
- 黑马程序员-day03java基础语言组成2
- 黑马程序员_Java基础Day09(上)_内部类(Done)
- 黑马程序员_Java基础Day13_String类(Done)
- 黑马程序员_Java基础Day06_面向对象静态相关内容(Done)
- 黑马程序员——Java基础---String类
- 黑马程序员---java基础之day4-5
- 黑马程序员---从头开始,回忆JAVA基础之集合(一)
- 黑马程序员-Java基础加强之线程池