Java语言程序设计(第2版)丁振凡第3章ppt课件

上传人:文**** 文档编号:172652124 上传时间:2022-12-05 格式:PPT 页数:35 大小:1.17MB
返回 下载 相关 举报
Java语言程序设计(第2版)丁振凡第3章ppt课件_第1页
第1页 / 共35页
Java语言程序设计(第2版)丁振凡第3章ppt课件_第2页
第2页 / 共35页
Java语言程序设计(第2版)丁振凡第3章ppt课件_第3页
第3页 / 共35页
点击查看更多>>
资源描述
Java语言程序设计(第2版)3.1.1 if语句(1)格式)格式1:无:无else的的if语句语句 if(boolean-expression)statement1;3.1 条件选择语句条件选择语句思考A、B指谁?Java语言程序设计(第2版)例3-1 从键盘输入三个数,输出其中的最大者。import javax.swing.*;public class Max public static void main(String args)int a,b,c,max;String s;s=JOptionPane.showInputDialog(输入第输入第1个整型数:个整型数:);a=Integer.parseInt(s);s=JOptionPane.showInputDialog(输入第输入第2个整型数:个整型数:);b=Integer.parseInt(s);s=JOptionPane.showInputDialog(输入第输入第3个整型数:个整型数:);c=Integer.parseInt(s);Java语言程序设计(第2版)例3-1(续)max=a;if(bmax)max=b;if(cmax)max=c;JOptionPane.showMessageDialog(null,最大值是最大值是:+max);【思考】如果用Math.max方法来实现求3个数的最大值,如何用一个表达式实现?Math.max(a,Math.max(b,c)Java语言程序设计(第2版)格式2:带else的if语句 if(boolean-expression)statement1;/if块块 else statement2;/else块块 思考A、B、C指谁?Java语言程序设计(第2版)if 语句的嵌套(求a、b、c三个数中最大数)if(ab)if(ac)System.out.println(三个数中最大值是三个数中最大值是:+a);else System.out.println(三个数中最大值是三个数中最大值是:+c);else /ac)System.out.println(三个数中最大值是三个数中最大值是:+b);else System.out.println(三个数中最大值是三个数中最大值是:+c);Java语言程序设计(第2版)最近匹配原则 if(x3)System.out.println(3x=6);Else与最近的if匹配Java语言程序设计(第2版)让else语句匹配前一个ifif(x3)System.out.println(3x=6);Java语言程序设计(第2版)思考运行结果?public class test public static void main(String args)int x=1,y=1,z=1;if(-x=0&y+=1|z+=1)System.out.println(x=+x+,y=+y+,z=+z);结果x=0,y=2,z=1Java语言程序设计(第2版)阶梯阶梯else ifelse if 例3-2,输入成绩,根据分数段输出信息public class Ex3_2 public static void main(String args)int s=Integer.parseInt(args0);if(s60)System.out.println(不及格不及格);else if(s70)System.out.println(及格及格);else if(s80)System.out.println(中中);else if(s90)System.out.println(良良);else System.out.println(“优优”);/90分以上分以上 Java语言程序设计(第2版)3.1.2 多分支语句switch switch(expression)case value1:statement1;break;/分支分支1 case value2:statement2;break;/分支分支2 .case valueN:statementN;break;/分支分支n default:缺省语句块缺省语句块;/分支分支n+1,其它其它 Java语言程序设计(第2版)Java语言程序设计(第2版)【几点说明】表达式的值只能是表达式的值只能是整型、字符型、字符串整型、字符型、字符串,同时,同时要与要与case分支的判断值的类型一致。计算出表达分支的判断值的类型一致。计算出表达式的值后,它首先与第一个式的值后,它首先与第一个case分支进行比较,分支进行比较,若相同,执行第一个若相同,执行第一个case分支的语句块;否则再分支的语句块;否则再检查第二个分之检查第二个分之,依次类推。依次类推。case子句中的值子句中的值valueN必须是常量必须是常量,各个,各个case子句中的值不同。子句中的值不同。如果没有情况匹配,就执行如果没有情况匹配,就执行default指定的语句指定的语句,但但default子句本身是可选的。子句本身是可选的。break语句语句用来在执行完一个用来在执行完一个case分支后,使程分支后,使程序跳出序跳出switch语句,即终止语句,即终止switch语句的执行,语句的执行,否则,找到一个匹配的情况后面所有的语句都会被否则,找到一个匹配的情况后面所有的语句都会被执行。执行。Java语言程序设计(第2版)import javax.swing.*;public class Score public static void main(String args)int s=Integer.parseInt(JOptionPane.showInputDialog(输入学输入学生分数:生分数:);int x=s/10;switch(x)case 0:case 1:case 2:case 3:case 4:case 5:System.out.println(不及格不及格);break;case 6:System.out.println(及格及格);break;case 7:System.out.println(中中);break;case 8:System.out.println(良良);break;case 9:case 10:System.out.println(优优);例3-2也可采用switch语句实现Java语言程序设计(第2版)3.2.1 while语句 whilewhile语句的一般形式是:语句的一般形式是:while(条件表达式条件表达式)循环体循环体 Java语言程序设计(第2版)例3-3 在三位数中找出所有水仙花数,水仙花数的条件是该数等于其各位数字的立方和。public class Narcissus public static void main(String arge)int i,j,k,n=100,m=1;while(n0)m+=a%10;/累加计算各位数字累加计算各位数字 a=a/10;System.out.print(a+的各位数字之和的各位数字之和=+m);Java语言程序设计(第2版)3.2.2 do.while语句 格式如下:格式如下:特点:特点:“先执行,后判断先执行,后判断”do do 循环体循环体 while(while(条件表达式条件表达式););Java语言程序设计(第2版)3.2.3 for语句 格式如下:for(for(控制变量设定控制变量设定初值初值;循环进行循环进行条件条件;迭代迭代部分部分)循环体循环体 Java语言程序设计(第2版)例例3-5 求1+1/2+1/3+1/4+1/100的值 public class Ex3_5 public static void main(String args)double sum=1;for(int k=2;k=100;k+)sum=sum+1.0/k;System.out.println(1+1/2+1/3+1/4 +1/100=+sum);用1/k行吗?Java语言程序设计(第2版)例例3-6 求Fibonacci数列的前10个数。public class Ex3_6 public static void main(String args)int n0=0,n1=1,n2;System.out.print(n0+n1+);for(int i=0;i 8;i+)n2=n1+n0;/计算计算 System.out.print(n2+”);n0=n1;/递推递推 n1=n2;0 1 1 2 3 5 8 13 21 34 n0 n1 n2Java语言程序设计(第2版)例例3-7 利用随机函数产生10道2位数的加法测试。import javax.swing.*;public class Ex3_7 public static void main(String args)int score=0;for(int i=0;i10;i+)int a=10+(int)(90*Math.random();int b=10+(int)(90*Math.random();String s=JOptionPane.showInputDialog(a+b+=?);int ans=Integer.parseInt(s);if(a+b=ans)score=score+10;/每道题每道题10分分 JOptionPane.showMessageDialog(null,your score=+score);Java语言程序设计(第2版)4.循环嵌套 与条件语句的嵌套类似,循环也可以嵌套。三与条件语句的嵌套类似,循环也可以嵌套。三种循环语句可以自身嵌套,也可以相互嵌套。嵌种循环语句可以自身嵌套,也可以相互嵌套。嵌套将循环分为内外两层,套将循环分为内外两层,外层循环每循环一次,外层循环每循环一次,内循环要执行一圈内循环要执行一圈.Java语言程序设计(第2版)例3-8:找3-50之间的素数 for(int n=3;n=50;n+)/外循环外循环 boolean f=true;int k=2;while(f&k=(n-1)/内循环内循环,从从2(n-1)去除去除n if(n%k=0)f=false;/发现有一个数能除尽发现有一个数能除尽n就不是素数就不是素数 k+;if(f)System.out.print(t+n);m+;/统计找到的素数个数统计找到的素数个数 if(m%5=0)System.out.println();Java语言程序设计(第2版)1.break语句 两种使用形式:两种使用形式:break 不带标号不带标号,从从break直接所处的循环体中跳转出来。直接所处的循环体中跳转出来。break 标号名标号名 带标号带标号,跳出标号所指的代码块,执行块后的下一跳出标号所指的代码块,执行块后的下一条语句。条语句。3.3 跳转语句Java语言程序设计(第2版)例例3-9 四位同学中一位做了好事,班主任问这四位是谁做的好事。A说“不是我”;B说“是C”。C说“是D”;D说“C胡说”。已知有3人说真话.public class Good public static void main(String args)int man;/1-A,2-B,3-C,4-D for(man=1;man=4;man+)int a=(man!=1)?1:0;int b=(man=3)?1:0;int c=(man=4)?1:0;int d=(man!=4)?1:0;if (a+b+c+d=3)break;/man为当前值时为当前值时,有有3位所说是真位所说是真 Java语言程序设计(第2版)switch(man)case 1:System.out.println(the man is A);break;case 2:System.out.println(the man is B);break;case 3:System.out.println(the man is C);break;case 4:System.out.println(the man is D);Java语言程序设计(第2版)2.continue语句 有两种形式:有两种形式:continue 不带标号不带标号,终止当前一轮的循环,继续下一轮终止当前一轮的循环,继续下一轮判断判断 continue 标号名标号名 带标号带标号,跳转到标号指明的外层循环中跳转到标号指明的外层循环中 Java语言程序设计(第2版)例例3-10 输出1020之间不能被3或5整除的数 public class ContinueTest public static void main(String args)int j=9;do j+;if(j%3=0|j%5=0)continue;System.out.print(j+);while(j20);Java语言程序设计(第2版)思考以下问题思考以下问题什么是条件表达式,它的值是何种类型?什么是条件表达式,它的值是何种类型?if语句嵌套匹配原则?语句嵌套匹配原则?谈谈谈谈switch语句的执行特点?语句的执行特点?dowhile循环和循环和while循环的差别?循环的差别?for循环头有哪部分构成?某个部分可以没有吗循环头有哪部分构成?某个部分可以没有吗?for(;)是什么意思?是什么意思?break和和continue语句的作用?带标号是什么意语句的作用?带标号是什么意思?思?使用什么办法将一组语句组合为个语句块?使用什么办法将一组语句组合为个语句块?Java语言程序设计(第2版)写出运行结果写出运行结果public class Test5 public static void main(String args)for(int i=1;i3;i+)for(int j=0;j2)if(mn)m=m-n;else n=n-m;System.out.println(m+”,”+n);结果1,2过程(0)循环前 m=8,n=5(1)第1轮后,m=3,n=5(2)第2轮后,m=3,n=2(3)第3轮后,m=1,n=2结束循环Java语言程序设计(第2版)程序段对应的运行结果程序段对应的运行结果int x=23659;String m=result=;while(x0)m=m+x%10;x=x/10;System.out.println(m);结果result=95632过程(0)m=“result=”,x=23659(1)m=“result=9”,x=2365(2)m=“result=95”,x=236(3)m=“result=956”,x=23(4)m=“result=9563”,x=2(5)m=“result=95632”,x=0结束循环Java语言程序设计(第2版)程序段对应的运行结果程序段对应的运行结果outer:for(int i=1;i3;i+)for(int j=1;j6
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!