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

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Java语言程序设计(第2版)3.1.1if语句(1)格式1:无else的if语句if(boolean-expression){statement1;}3.1条件选择语句思考A、B指谁?Java语言程序设计(第2版)例3-1从键盘输入三个数,输出其中的最大者。importjavax.swing.*;publicclassMax{publicstaticvoidmain(Stringargs[]){inta,b,c,max;Strings;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);elseSystem.out.println(三个数中最大值是:+c);}else{//a=b的情况if(bc)System.out.println(三个数中最大值是:+b);elseSystem.out.println(三个数中最大值是:+c);}Java语言程序设计(第2版)最近匹配原则if(x6)if(x3)System.out.println(3x6);elseSystem.out.println(x=6);Else与最近的if匹配Java语言程序设计(第2版)让else语句匹配前一个ifif(x6){if(x3)System.out.println(3x6);}elseSystem.out.println(x=6);Java语言程序设计(第2版)思考运行结果?publicclasstest{publicstaticvoidmain(Stringargs[]){intx=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版)阶梯elseif–例3-2,输入成绩,根据分数段输出信息publicclassEx3_2{publicstaticvoidmain(Stringargs[]){ints=Integer.parseInt(args[0]);if(s60)System.out.println(不及格);elseif(s70)System.out.println(及格);elseif(s80)System.out.println(中);elseif(s90)System.out.println(良);elseSystem.out.println(“优”);//90分以上}}Java语言程序设计(第2版)3.1.2多分支语句switchswitch(expression){casevalue1:statement1;break;//分支1casevalue2:statement2;break;//分支2......casevalueN:statementN;break;//分支n[default:缺省语句块;]//分支n+1,其它}Java语言程序设计(第2版)Java语言程序设计(第2版)【几点说明】表达式的值只能是整型、字符型、字符串,同时要与case分支的判断值的类型一致。计算出表达式的值后,它首先与第一个case分支进行比较,若相同,执行第一个case分支的语句块;否则再检查第二个分之……,依次类推。case子句中的值valueN必须是常量,各个case子句中的值不同。如果没有情况匹配,就执行default指定的语句,但default子句本身是可选的。break语句用来在执行完一个case分支后,使程序跳出switch语句,即终止switch语句的执行,否则,找到一个匹配的情况后面所有的语句都会被执行。Java语言程序设计(第2版)importjavax.swing.*;publicclassScore{publicstaticvoidmain(Stringargs[]){ints=Integer.parseInt(JOptionPane.showInputDialog(输入学生分数:));intx=s/10;switch(x){case0:case1:case2:case3:case4:case5:System.out.println(不及格);break;case6:System.out.println(及格);break;case7:System.out.println(中);break;case8:System.out.println(良);break;case9:case10:System.out.println(优);}}}例3-2也可采用switch语句实现Java语言程序设计(第2版)3.2.1while语句while语句的一般形式是:while(条件表达式)循环体Java语言程序设计(第2版)例3-3在三位数中找出所有水仙花数,水仙花数的条件是该数等于其各位数字的立方和。publicclassNarcissus{publicstaticvoidmain(Stringarge[]){inti,j,k,n=100,m=1;while(n1000){i=n/100;//获取最高位j=(n-i*100)/10;//获取第2位k=n%10;//获取最低位if(Math.pow(i,3)+Math.pow(j,3)+Math.pow(k,3)==n)System.out.println(找到第+m+++个水仙花数:+n);n++;}}}Java语言程序设计(第2版)例3-4从键盘输入一个长整数,求其各位数字之和。publicclassEx3_4{publicstaticvoidmain(Stringargs[]){longa,m=0;a=Long.parseLong(JOptionPane.showInputDialog(输入整数));while(a0){m+=a%10;//累加计算各位数字a=a/10;}System.out.print(a+的各位数字之和=+m);}}Java语言程序设计(第2版)3.2.2do...while语句格式如下:特点:“先执行,后判断”do{循环体}while(条件表达式);Java语言程序设计(第2版)3.2.3for语句格式如下:for(控制变量设定初值;循环进行条件;迭代部分)循环体Java语言程序设计(第2版)例3-5求1+1/2+1/3+1/4+…+1/100的值publicclassEx3_5{publicstaticvoidmain(Stringargs[]){doublesum=1;for(intk=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个数。publicclassEx3_6{publicstaticvoidmain(String[]args){intn0=0,n1=1,n2;System.out.print(n0++n1+);for(inti=0;i8;i++){n2=n1+n0;//计算System.out.print(n2+”);n0=n1;//递推n1=n2;}}}0112358132134n0n1n2Java语言程序设计(第2版)例3-7利用随机函数产生10道2位数的加法测试。importjavax.swing.*;publicclassEx3_7{publicstaticvoidmain(Stringargs[]){intscore=0;for(inti=0;i10;i++){inta=10+(int)(90*Math.random());intb=10+(int)(90*Math.random());Strings=JOptionPane.showInputDialog(a+++b+=?);intans=Integer.parseInt(s);if(a+b==ans)score=score+10;//每道题10分}JOptionPane.showMessageDialog(null,yourscore=+score);}}Java语言程序设计(第2版)4.循环嵌套与条件语句的嵌套类似,循环也可以嵌套。三种循环语句可以自身嵌套,也可以相互嵌套。嵌套将循环分为内外两层,外层循环每循环一次,内循环要执行一圈.Java语言程序设计(第2版)例3-8:找3-50之间的素数for(intn=3;n=50;n++){//外循环booleanf=true;intk=2;while(f&&k=(n-1)){//内循环,从2~(n-1)去除nif(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人说真话.publicclassGood{publicstaticvoidmain(Stringargs[]){intman;//1--A,2--B,3--C,4--Dfor(man=1;man=4;man++){inta=(man!=1)?1:0;intb=(man==3)?1:0;intc=(man==4)?1:0;intd=(man!=4)?1:0;if(a+b+c+d==3)break;//man为当前值时,有3位所说是真}Java语言程序设计(第2版)switch(man){case1:System.out.println(themanisA);break;case2:System.out.println(themanisB);break;case3:System.out.println(themanisC);break;case4:System.out.println(themanisD);}}}Java语言程序设计(第2版)2.continue语句有两种形式:continue不带标号,终止当前一轮的循环,继续下一轮判断continue标号名带标号,跳转到标号指明的外层循环中Java语言程序设计(第2版)例3-10输出10~20之间不能被3或5整除的数publicclassContinueTest{pub

1 / 35
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功