分支、循环语句.docx_第1页
分支、循环语句.docx_第2页
分支、循环语句.docx_第3页
分支、循环语句.docx_第4页
分支、循环语句.docx_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

04. 分支、循环语句 本季为JAVA程序中最重要的部分,在讲解的时候除了讲解各种主要的控制语句(分支语句和循环语句),也讲解了大量的实例。blog: 零基础学JAVAJava SE基础部分-04. 分支、循环语句 2008-12-021、课程名称:分支、循环本季为JAVA程序中最重要的部分,在讲解的时候除了讲解各种主要的控制语句(分支语句和循环语句),也讲解了大量的实例。2、知识点2.1、上次课程主要知识点回顾1、 各种运算符2、 各种运算符的优先级的改变 通过“()”改变哈。2.2、本次课程预计讲解知识点本季目标程序结构顺序:A= B选择:二先一或者多先一循环:跑圈:循环体截止条件:限制程序结构-顺序结构程序结构-选择结构程序结构-循环结构有两种结构:当型和直到型当型结构直到型3、具体内容程序结构-选择结构分支语句if语句-条件判断Ifelse之类的一共有三种样式:第1种样式-if语句设置一个数字,如果此数字大于10,则打印一个数字大于10,反之就什么都不打印。设置好一个条件(一般以boolean值表示)我们看下相反的效果,定义i为10。10不可以大于10,所以什么也没输出哈。我们把if条件改成truetrue永远为真哈,所以可以输出i10,这是典型的if语句,这个比较简单一点哈。第2种样式-if语句二选一,至少有一个执行。 如果朋友过来找我,我就出去玩,否则就在家休息。我们把上面这句话变成程序语言哈。我们把f改成false呢?不管怎么样它都会输出一个语句哈。那么这就是典型的二选一操作哈,非常好理解。第3种样式-if语句流程:if.else语句应用举例将学生的成绩(5分制)转换为ABCDEF六个等级如果是5分的话学生成绩应该是A等如果是4分的话学生成绩应该是B等如果是3分的话学生成绩应该是C等如果是2分的话学生成绩应该是D等如果是1分的话学生成绩应该是E等如果是0分的话学生成绩应该是F等假设说,以上的内容使用之前的ifelse完成,如以下代码形式:public class Demo03 public static void main(String args) int i = 2 ; if(i=5) System.out.println(成绩是A等。) ; else if(i=4) System.out.println(成绩是B等。) ; else if(i=3) System.out.println(成绩是C等。) ; else if(i=2) System.out.println(成绩是D等。) ; else if(i=1) System.out.println(成绩是E等。) ; else System.out.println(成绩是F等。) ; ;我们发现需要判断的条件非常多,我们使用if.else if.else语句进行修改哈:public class Demo04 public static void main(String args) int i = 2 ; if (i=5) System.out.println(成绩是A等。); else if (i=4) System.out.println(成绩是B等。); else if (i=3) System.out.println(成绩是C等。); else if (i=2) System.out.println(成绩是D等。); else if (i=1) System.out.println(成绩是E等。); else System.out.println(成绩是F等。); ;和Demo03输出结果一样,但是修改后Demo04程序更加简洁,没有那么多程序嵌套了。我们再举一个例子哈:将学生的成绩(5分制)转换为优秀(5分),及格(3、4分),重修(0、1、2分)三个等级。分析下哈:5分 为 优秀3、4 分 为 及格0、1、2分 为 重修Demo05:public class Demo05 public static void main(String args) int i = 2 ; if (i=5) System.out.println(优秀); else if (i=4|i=3) System.out.println(及格); else System.out.println(重修); ;switch语句语法格式Switch是多条件判断语句。注意:使用switch中的表达式里面只能放字符或数字使用时不要忘了在case语句之后加上一个break,表示退出整个语句,如果不加入此语句,它会从第一个满足条件的地方开始后续的都要被执行。我们看下如果在case语句后面没有加上break话会出现什么结果我们发现不应该输出的case 2也输出了。我们再修改下i值为2,加个case 3看下效果。我们发现不满足条件的case 1没有被输出,而case 2和case 3输出了,所以我们也验证了如果不在case语句后加入一个break语句,它会从第一个满足条件的地方开始后续的都要被执行。我们使用正确的写法修改下加上break语句哈:现在只输出了正确的case 2语句。不满足条件的case 1和3就没有输出了。我们再来修改下i的值为5,正常情况下应该是什么都不输出。实际情况也是什么也没有输出哈。但是我们是不是也要提示一下取值超出范围了哈,所以我们需要使用到default语句,当没有条件满足时就输出default语句。Demo06:public class Demo06 public static void main(String args) int i = 5 ; switch (i) case 1: /条件1 System.out.println(case 1 -+i); break; case 2: /条件2 System.out.println(case 2 -+i); break; case 3: /条件3 System.out.println(case 3 -+i); break; default : /当所有条件都不满足的时候,就使用default语句 System.out.println(没有任何条件满足。); break; ;这就是一个完整的switch语句,非常简单。现在将switch语句之中的条件变为字符试试哈:我们验证了switch中的表达式里面也能放字符哈。Demo07:public class Demo07 public static void main(String args) char i = A ; switch (i) case A: /条件1 System.out.println(case 1 -+i); break; case B: /条件2 System.out.println(case 2 -+i); break; case C: /条件3 System.out.println(case 3 -+i); break; default : /当所有条件都不满足的时候,就使用default语句 System.out.println(没有任何条件满足。); break; ;switch语句有关规则练习:我们使用switch语句改写前面两个5分制的实例哈。将学生的成绩(5分制)转换为ABCDEF六个等级。Demo08:public class Demo08 public static void main(String args) int i = 5 ; /使用switch进行判断 switch (i) case 5: System.out.println(成绩是A等。); break; case 4: System.out.println(成绩是B等。); break; case 3: System.out.println(成绩是C等。); break; case 2: System.out.println(成绩是D等。); break; case 1: System.out.println(成绩是E等。); break; case 0: System.out.println(成绩是F等。); break; default : /当所有条件都不满足的时候,就使用default语句 System.out.println(成绩不正确。); break; ;将学生的成绩(5分制)转换为优秀(5分),及格(3、4分),重修(0、1、2分)三个等级。Demo09:public class Demo09 public static void main(String args) int i = 3 ; /使用switch进行判断 switch (i) case 5: System.out.println(优秀); break; case 4: System.out.println(合格); break; case 3: System.out.println(合格); break; case 2: System.out.println(重修); break; case 1: System.out.println(重修); break; case 0: System.out.println(重修); break; default : /当所有条件都不满足的时候,就使用default语句 System.out.println(成绩不正确。); break; ;注意:Switch语句只能判断数字或字符,而ifelse if语句可以判断各种条件,只要条件中加入的是boolean值就可以。程序结构-循环结构有两种结构:当型和直到型1、当型结构我们己在学校跑1000米为例哈,跑5圈200米长。分析:当型:0 =跑1 =跑2 =跑3 =跑4 =跑5 =不跑了for循环语句for(设置条件;判断条件是否满足;修改条件)现在要求:跑5圈200米0 1 2 3 4 5(不跑了哈)Demo10:public class Demo10 public static void main (String args) / 一开始跑圈的记录从0开始记录 / i<5:表示判断跑的圈数是否是5圈,如果不够则继续跑 / 每跑完一圈,就去修改圈数for (int i=0;i<5;i+) System.out.println(已经跑了+(i+1)+圈,共+跑了+(i+1)*200)+米了); System.out.println(偶已经跑完1000米了哈); 循环必备的几个条件:1、 必须有循环初始:int i=0;2、 必须有判断条件(结束条件):i<53、 要有条件的修改4、 方法体肯定要反复执行多次流程:我们来做三个练习来练练手哈:累加 (1+2+3+.+200)Demo11:public class Demo11 public static void main (String args) int sum = 0 ; for (int i=1;i<=200;i+) sum += i ; System.out.println(累加结果为+sum); 阶乘 20! (1*2*3*.*20)我们发现20!阶乘结果为负数了哈,结果不对哈。我们看下程序每一步计算的情况哈。我们以前说过int的数值范围为,最大数为2147483647哈,我们把x的变量类型改为长整型看看效果哈。嗯,现在输出结果正确了哈。Demo12:public class Demo12 public static void main (String args) long x = 1 ; for (int i=1;i<=20;i+) x *= i ; System.out.println(x); System.out.println(阶乘的结果为+x); 注意:在java中为了保证数据的正确,使用了数字的溢出保护。 求出整型的最大值:最大值加1就是最小值,最小值减1就是最大值,怎么理解呢?我们在imax上加1看下效果哈。我们发现最大值加上1后的值就是int整型的最小值哈。相反的,最小值加1呢?我们发现最大值加1及最小值减1后两个数反过来了哈。所以说最大值加1就是最小值,最小值减1就是最大值,这句话就好理解了哈。输出100以内能被3,5,7同时整除的数我们发现在100以内没有被3,5,7整除的数哈。我们把数值改大点呢?改个200以内看看哈。我们发现105满足条件哈。循环结构也可以双重嵌套哈,我们再来做三个例子练练手哈。用*打印正方形(5*5)Demo15:public class Demo15 public static void main (String args) for (int i=0;i5 ;i+ ) for (int j=0;j5 ;j+ ) System.out.print(*); System.out.print(n); 输出9*9乘法表Demo16:public class Demo16 public static void main (String args) for (int i=1;i=9 ;i+ ) for (int j=1;=i ;j+ ) System.out.print(i+*+j+=+(i*j)+t); System.out.print(n); 打印三角形Demo17:public class Demo17 public static void main (String args) for (int i=0;i5 ;i+ ) for (int k=0;k5-i ;k+ ) /打印空格哈 System.out.print( ); for (int j=0;j=i ;j+ ) System.out.print(* ); System.out.println( ); while循环语句我们使用while修改之前Demo10的跑1000米的程序哈:使用while语句修改后的效果和for一样哈。那我们怎么样知道什么时候用for循环,什么时候用while循环呢?当明确知道要循环的次数的时候,就使用for循环当不确定循环次数,只知道循环结束条件时,可以使用while循环。注意事项比如刚刚的程序,如果我们把i+修改循环条件的语句注释掉,我们看下效果哈。我们发现程序一直在跑第一圈哈,程序进入死循环了哈。2.直到型结构do.while循环语句While是先判断再执行Dowhile实现,先执行一次之

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论