您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > Java PPT第三章Java语言的结构化程序设计
1第三章Java语言的结构化程序设计2主要内容:3.1算法与结构化程序设计3.2Java语句3.3程序举例3结构化程序设计的三种基本结构顺序分支循环4主要内容:3.1算法与结构化程序设计3.2Java语句3.3程序举例53.2JAVA语句方法调用语句:System.out.println(hello);表达式语句:x=x+1;复合语句:{……}package语句和import语句控制语句:分支(条件)语句、循环语句一、分支语句1.if语句if(关系表达式或逻辑表达式)语句;else语句;if(关系表达式或逻辑表达式)语句;if(关系表达式或逻辑表达式)语句1;elseif(关系表达式或逻辑表达式)语句2;……else语句n;62.switch语句switch(表达式){case常量值1:语句1;case常量值2:语句2;……case常量值n:语句n;default语句;}7注:1.if语句中用来进行条件判断的表达式必须是boolean型的。2.switch语句中表达式的值是整型或字符型。3.case语句后的常量表达式的值也是整型或字符型。4.case语句后的常量值必须互不相同。5.每一个case判断,只负责指明分支的入口点,而不负责分支的出口点,分支的出口点需由break语句负责。8classExample3_2{publicstaticvoidmain(Stringargs[]){floatx=12.56f,y;if(x=0){y=x+1;}elseif(x=16){y=2*x+1;}else{y=3*x+3;}System.out.println(y);}}写出这个程序所描述的分段函数。例1:9例2:importjava.io.*;publicclassEnum{publicstaticvoidmain(String[]args)throwsException{charc;inti=0,m=0;System.out.println(请输入字符,输入#为止:);c=(char)System.in.read();while(c!='#'){switch(c){default:m++;case'a':case'e':case'i':case'o':case'u':i++;}c=(char)System.in.read();}System.out.println(m=+m+i=+i);}}10二、循环语句1.for语句for(表达式1;表达式2;表达式3){……}注:表达式1负责完成变量的初始化。表达式2是值为boolean型的表达式,称为循环条件。表达式3用来修改循环变量的值,以使循环条件发生变化,从而使循环能够正常结束。112.do_while语句和while语句do{……}while(表达式);while(表达式){……}注:while语句与do_while语句中用来进行循环条件判断的表达式均为boolean型的。可以用break语句使循环提前结束。可以用continue语句结束本次正在进行的循环,进入下一轮循环。12classExample3_5{publicstaticvoidmain(Stringargs[]){doublesum=0,a=1;inti=1;while(i=20){a=a*(1.0/i);sum=sum+a;i=i+1;}System.out.println(sum=+sum);}}例3:13classExample3_6{publicstaticvoidmain(Stringargs[]){intsum=0,i,j;for(i=1;i=10;i++){if(i%2==0)continue;sum=sum+i;}System.out.println(sum=+sum);}}例4:14主要内容:3.1算法与结构化程序设计3.2Java语句3.3程序举例15例1求某班的平均成绩、及格人数和不及格人数。importjava.io.*;publicclassExample3_1{publicstaticvoidmain(String[]args){intave,passCount=0,failureCount=0,totalScore=0;inta[]=newint[30];inti;for(i=0;i30;i++){a[i]=(int)(Math.random()*100);totalScore+=a[i];if(a[i]=60)passCount++;elsefailureCount++;}方法1:用javaapplication完成。返回(0,1)区间的数,每次运行结果不同,是随机数。16ave=totalScore/i;System.out.println(Thepassnumberis:+passCount);System.out.println(Thefailurenumberis:+failureCount);System.out.println(Theaveragescoreis:+ave);}}17方法2:用javaApplet完成(p45例3.1)importjava.awt.*;importjava.applet.*;publicclassClassScoreextendsApplet{Labelprompt;TextFieldinput;intpassCount=0,failureCount=0,totalScore=0,totalNumber=0;floataverageScore=0;publicvoidinit(){prompt=newLabel(Enternextstudentscore(-1forreset):);input=newTextField(4);add(prompt);add(input);}18publicvoidpaint(Graphicsg){g.drawString(thestudentnumberis:+totalNumber,10,80);g.drawString(thepassnumberis:+passCount,10,100);g.drawString(thefailurenumberis:+failureCount,10,120);g.drawString(theaverageis:+averageScore,10,140);}XYog.drawString(a=+20,30,60);a=2019publicbooleanaction(Evente,Objecto){intscore;if(e.target==input){score=Integer.parseInt(input.getText());if(score==-1){passCount=0;failureCount=0;totalNumber=0;totalScore=0;averageScore=0;}else{if(score=60)passCount++;elsefailureCount++;totalNumber++;totalScore+=score;averageScore=totalScore/totalNumber;}input.setText();repaint();}returntrue;}}20初始运行结果:21输入一部分数据后的运行结果:22例2求[M,N]之间的所有素数。importjava.io.*;publicclassMNPrime{publicstaticvoidmain(String[]args){intm=10,n=50,i;for(i=m;i=n;i++)if(prime(i)==1)System.out.print(i+);}staticintprime(intx){inti,k=1;for(i=2;ix;i++)if(x%i==0)k=0;returnk;}}方法1:用javaapplication完成。23方法2:用javaApplet完成(p51例3.2)importjava.applet.Applet;importjava.awt.*;publicclassListPrimeextendsApplet{Labelprompt;TextFieldL_input,U_input;intLowerLimit,UpperLimit;publicvoidinit(){prompt=newLabel(enterthelowerandlimit:);L_input=newTextField(4);U_input=newTextField(4);add(prompt);add(L_input);add(U_input);}24每行输出十个数据publicvoidpaint(Graphicsg){inti,j,k=1,p=0;for(i=LowerLimit;i=UpperLimit;i++){for(j=2;ji;j++)if(i%j==0)break;if(i==j){g.drawString(Integer.toString(i),20+k*30,50+p*20);if(k==10){p++;k=1;}elsek++;}}}25publicbooleanaction(Evente,Objecto){inttemp;if(e.target==U_input){LowerLimit=Integer.parseInt(L_input.getText());UpperLimit=Integer.parseInt(U_input.getText());if(LowerLimitUpperLimit){temp=LowerLimit;LowerLimit=UpperLimit;UpperLimit=temp;}repaint();}returntrue;}}第二个文本区数据输入结束26运行结果:27例3编写JavaApplet,接受用户输入的一个整数,检查该整数是否是3的倍数,并输出判断结果。importjava.awt.*;importjava.applet.*;publicclassExample3_3extendsApplet{Labelprompt;TextFieldinput;Labelresult;publicvoidinit(){prompt=newLabel(Enteranintegernumber:);input=newTextField(6);result=newLabel();add(prompt);add(input);add(result);}28publicbooleanaction(Evente,Objecto){ints;s=Integer.parseInt(input.getText());if(s%3==0)result.setText(s+candivide3);elseresult.setText(s+cannotdivide3);returntrue;}}29importjava.awt.*;importjava.applet.*;publicclassExample3_3extendsApplet{Labelprompt;TextFieldinput;Labelresult;ints;publicvoidinit(){prompt=newLabel(Enteranintegernumber:);input=newTextField(6);result=newLabel();add(prompt);add(input);add(result);}方法二:在paint()方法输出结果30publicvoidpaint(Graphicsg){if(s%3==0)g.drawString(s+candivide3,20,140);elseg.drawString(s+cannotdivide3,20,140);}publicbooleanaction(Evente,Ob
本文标题:Java PPT第三章Java语言的结构化程序设计
链接地址:https://www.777doc.com/doc-3142228 .html