Java知识学习教案整编类的方法异常.ppt
《Java知识学习教案整编类的方法异常.ppt》由会员分享,可在线阅读,更多相关《Java知识学习教案整编类的方法异常.ppt(84页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章 类的方法,郑 莉,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语句
2、 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整
3、除。 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,Is
4、LeapYear=(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 IOException int x,y; BufferedReader in = new BufferedReader( new InputStreamReader(System.in); System.out.println(Enter x and y:); x=(new Integer(in.read
5、Line().intValue(); y=(new Integer(in.readLine().intValue(); if (x!=y) if (xy) System.out.println(xy); else System.out.println(xy); else System.out.println(x=y); ,3.1.1 if选择结构(续)ex3_2.java,方法的控制流程,9,例子: If (ab) System.out.println(The larger one is: +a); else System.out.println(The larger one is: +b);
6、 用条件运算符重写: 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,已知一个学生的分数,给出其分数等
7、级。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; Sy
8、stem.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: stateme
9、nts 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();
10、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
11、: 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 : r
12、eturn(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)
13、; 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
14、,ex3_3 输入06之间的某一个整数,然后把它转换成星期 输出。(0对应星期日) import java.io.*; public class ex3_3 public static void main(String args)throws IOException int day; BufferedReader in =new BufferedReader( new InputStreamReader(System.in); day=(new Integer(in.readLine().intValue();,3.1.2 switch选择结构(续)补充ex3_3.java,方法的控制流程,1
15、8,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.pr
16、intln(Saturday); break; default: System.out.println(Day out of range Sunday .Saturday ); break; ,3.1.2 switch选择结构(续)补充ex3_3.java,方法的控制流程,19,for循环结构 是Java三个循环语句中功能较强、使用较广泛的一个 for循环可以嵌套 一般语法格式如下 for (start-expression; check-expression; update-expression) /body of the loop; 解释 start-expression完成循环变量和其他
17、变量的初始化工作 check-expression是返回布尔值的条件表达式,用于判断循环是否继续 update-expression用来修整循环变量,改变循环条件 三个表达式之间用分号隔开,3.1.3 for循环结构,方法的控制流程,20,For语句的执行过程 首先根据初始表达式start-expression,完成必要的初始化工作;再判断表达式check-expression的值,若为真,则执行循环体 执行完循环体后再返回表达式update-expression,计算并修改循环条件,这样一轮循环就结束了 第二轮循环从计算并判断表达式check-expression开始,若表达式的值仍为真,则
18、循环继续,否则跳出整个for语句执行for循环下面的句子,3.1.3 for循环结构(续),方法的控制流程,21,打印九九乘数表 public class MultiTable public static void main(String args) for (int i=1; i=9;i+) for (int j=1; j=i;j+) System.out.print( +i+*+j+=+i*j); System.out.println(); ,3.1.3 for循环结构(续),方法的控制流程,22,运行结果如下: 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*
19、1=4 4*2=8 4*3=12 4*4=16 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81,3.1.3 for循环结构(续)运行结果,23,输入一个整数,输出它所有
20、的因数 import java.io.*; public class ex3_7 public static void main(String args) throws IOException int n,k; BufferedReader in =new BufferedReader( new InputStreamReader(System.in); System.out.println(Enter a positive integer: ); n=(new Integer(in.readLine().intValue(); System.out.print(Number +n+ Fact
21、ors ); for (k=1; k = n; k+) if (n % k = 0) System.out.print(k + ); System.out.println(); ,3.1.3 for循环结构(续)补充ex3_7.java,方法的控制流程,24,逗号运算符 可用在 for 循环控制表达式的初始化和递增两部分。在这两部分中可以存在多个由逗号分隔的语句,这些语句会被依次计算 public class ex3_8 public static void main(String args) for(int i = 1, j = i + 10; i 5; i+, j = i * 2) Sys
22、tem.out.println(i= + i + j= + j); ,3.1.3 for循环结构(续)逗号运算符,方法的控制流程,25,while语句 实现“当型”循环,其一般语法格式如下: while (check-expression) /body of the loop; 解释 条件表达式(check-expression)的返回值为布尔型 循环体可以是单个语句,也可以是复合语句块 执行过程 先判断check-expression的值,为真则执行循环体 循环体执行完后再无条件转向条件表达式做计算与判断;当计算出条件表达式的值为假时,跳过循环体执行while语句后面的语句。若为真,则继续执
23、行循环,3.1.4 while循环结构,方法的控制流程,26,循环接受并输出从键盘输入的字符,直到输入的字符为回车为止 char ch=a; while (ch!=n) System.out.println(ch); ch= (char)System.in.read() ; / 接收键盘输入 ,3.1.4 while循环结构(续),方法的控制流程,27,计算数列1,2,10 的和。 public class ex3_4 public static void main(String args) int i=1, sum=0; while(i=10) sum+=i; i+; System.out.
24、println(sum=+sum); ,3.1.4 while循环结构(续)补充ex3_4.java,方法的控制流程,28,计算存款收益:假设银行中存款10000元,按11.25%的利率,一年后连本带利将变为11125元。你若将此款继续存入银行,试问多长时间就会连本带利翻一番 import java.text.*; public class Examp3_4 public static void main(String args) double original,money,interest; int years = 0; original = money= 10000; interest =
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 知识 学习 教案 整编 方法 法子 异常 异样
限制150内