资源预览内容
第1页 / 共88页
第2页 / 共88页
第3页 / 共88页
第4页 / 共88页
第5页 / 共88页
第6页 / 共88页
第7页 / 共88页
第8页 / 共88页
第9页 / 共88页
第10页 / 共88页
亲,该文档总共88页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第三章 类的方法,JAVA语言程序设计,2,目录,3.1 方法的控制流程 3.2 异常处理简介 3.3 方法的重载(overloading) 3.4 本章小结,3,3.1 方法的控制流程,方法的控制流程 Java程序通过控制语句来控制方法的执行流程 Java中的流程控制结构主要有三种 顺序结构 选择结构 if语句(二路选择结构) switch语句(多路选择结构) 循环结构 for语句 while语句 do-while语句,4,3.1.1 if选择结构,语法形式 只有if分支,没有else分支 if (boolean-expression) / statement1; if-else语句 if (boolean-expression) / statement1 ; else / statement2 ; ,方法的控制流程,5,3.1.1 if选择结构(续),if-else语句的特殊形式 if (boolean expression) /statement1; else if (boolean expression) /statement2; else if (boolean expression)/statement; else /statement; ,方法的控制流程,6,ex3_1 输入一个年份,判断它是不是闰年。 闰年: 能被4整除但不能被100整除,或者能被400整除。 public class ex3_1 public static void main(String args) throws IOException int year;boolean IsLeapYear;System.out.println(“Enter the year:“);BufferedReader in =new BufferedReader(new InputStreamReader(System.in);year=(new Integer(in.readLine().intValue();,3.1.1 if选择结构(续) ex3_1.java,方法的控制流程,7,IsLeapYear=(year%4=0 ,3.1.1 if选择结构(续) ex3_1.java,方法的控制流程,8,输入两个整数比较大小 import java.io.*; public class ex3_2 public static void main(String args)throws IOExceptionint x,y;BufferedReader in = new BufferedReader(new InputStreamReader(System.in);System.out.println(“Enter x and y:“);x=(new Integer(in.readLine().intValue();y=(new Integer(in.readLine().intValue();if (x!=y)if (xy) System.out.println(“xy“);else System.out.println(“xb)System.out.println(“The larger one is: “+a); elseSystem.out.println(“The larger one is: “+b); 用条件运算符重写: System.out.println(“The larger one is: “ + (ab)?a:b);,3.1.1 if选择结构(续) 以条件运算符代替if_else,方法的控制流程,10,计算每个月的天数 static int daysInMonth(int month) if (month = 2) return(28); else if (month=4)|(month=6)|(month=9)|(month=11) return(30); else return(31); ,方法的控制流程,3.1.1 if选择结构(续) 例3_1,11,已知一个学生的分数,给出其分数等级。90-100分为级;80-89分为B级;70-79分为级;60-69分为D级;0-59分为E级 public class IfElseDemo public static void main(String args) int testscore = 76;char grade;if (testscore = 90) grade = A; else if (testscore = 80) grade = B; else if (testscore = 70) grade = C; else if (testscore = 60) grade = D; else grade = F; System.out.println(“Grade = “ + grade); ,程序输出: Grade = C,3.1.1 if选择结构(续) ifElseDemo.java,方法的控制流程,12,3.1.2 switch选择结构,switch语句是多分支的选择结构 switch (switch-expression) case value1: statements for case1; break; case value2: statements for case2; break; . case valueN: statements for caseN; break; default: statements for default case; break; 注意问题 switch-expression、常量值value1到valueN必须是整形或字符型 如果表达式的值和某个case后面的值相同,则从该case之后开始执行,直到break语句为止 default是可有可无的,若没有一个常量与表达式的值相同,则从default之后开始执行,方法的控制流程,13,if (i = 1) statementA(); else if (i = 2) statementB(); else if(i=3)|(i=4) statementC(); else if (i = 5) statementD(); else statementF(); ,switch (i) case 1: statementA();break;case 2: statementB();break;case 3:case 4: statementC();break;case 5: statementD();break;default: statementF();,3.1.2 switch选择结构(续) 用switch代替if,方法的控制流程,14,使用switch结构计算每个月的天数 static int daysInMonth(int month) int days; switch(month) case 2: days = 28; break; case 4: case 6: case 9: case 11: days = 30; break; default: days = 31; return(days); ,3.1.2 switch选择结构(续) 例3_2,方法的控制流程,15,用switch语句实现成绩分类的功能 public class Grade public static char gradeLevel(double g) int n = (int)Math.floor(g/10); switch (n)case 10:case 9 : return(A);case 8 : return(B);case 7 : return(C);case 6 : return(D);default: return(E);,3.1.2 switch选择结构(续) 例3_3,方法的控制流程,16,public static void main(String args) System.out.println(“gradeLevel(100)=“+gradeLevel(100); System.out.println(“gradeLevel(95.5)=“+gradeLevel(95.5); System.out.println(“gradeLevel(88)=“+gradeLevel(88); System.out.println(“gradeLevel(72)=“+gradeLevel(72); System.out.println(“gradeLevel(68.5)=“+gradeLevel(68.5); System.out.println(“gradeLevel(60)=“+gradeLevel(60); System.out.println(“gradeLevel(59.5)=“+gradeLevel(59.5); System.out.println(“gradeLevel(35)=“+gradeLevel(35); ,3.1.2 switch选择结构(续) 例3_3,方法的控制流程,17,ex3_3 输入06之间的某一个整数,然后把它转换成星期 输出。(0对应星期日) import java.io.*; public class ex3_3 public static void main(String args)throws IOExceptionint day;BufferedReader in =new BufferedReader(new InputStreamReader(System.in);day=(new Integer(in.readLine().intValue();,3.1.2 switch选择结构(续) 补充ex3_3.java,方法的控制流程,18,switch (day) case 0: System.out.println(“Sunday“); break;case 1: System.out.println(“Monday“); break;case 2: System.out.println(“Tuesday“); break;case 3: System.out.println(“Wednesday“); break;case 4: System.out.println(“Thursday“); break;case 5: System.out.println(“Friday“); break;case 6: System.out.println(“Saturday“); break;default: System.out.println(“Day out of range Sunday Saturday“ ); break; ,3.1.2 switch选择结构(续) 补充ex3_3.java,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号