第3章(类的方法).ppt
《第3章(类的方法).ppt》由会员分享,可在线阅读,更多相关《第3章(类的方法).ppt(91页珍藏版)》请在三一办公上搜索。
1、第3章 类的方法,Page 2,目录,3.1 方法的控制流程3.2 异常处理简介3.3 方法的重载(overloading)3.4 本章小结,Page 3,3.1 方法的控制流程,方法的控制流程Java程序通过控制语句来控制方法的执行流程Java中的流程控制结构主要有三种顺序结构选择结构if语句(二路选择结构)switch语句(多路选择结构)循环结构for语句while语句do-while语句,Page 4,3.1.1 if选择结构,语法形式只有if分支,没有else分支if(boolean-expression)/statement1;if-else语句if(boolean-expressi
2、on)/statement1;else/statement2;,Page 5,if-else语句的特殊形式if(boolean expression)/statement1;else if(boolean expression)/statement2;else if(boolean expression)/statement;else/statement;,注意:else子句不能单独作为语句使用,它必须和if配对使用。else总是与离它最近的且尚未配对的if匹配,可以通过使用 来改变匹配关系。,Page 6,例3-1 计算每个月的天数(暂不考虑闰年)static int daysInMonth
3、(int month)if(month=2)return(28);else if(month=4)|(month=6)|(month=9)|(month=11)return(30);else return(31);,Page 7,输入一个年份,判断它是不是闰年。闰年:能被4整除但不能被100整除,或者能被400整除。import java.io.*;public class LeapTest public static void main(String args)throws IOException int year;boolean IsLeapYear;System.out.println(
4、Enter the year:);BufferedReader in=new BufferedReader(new InputStreamReader(System.in);year=(new Integer(in.readLine().intValue();,Page 8,IsLeapYear=(year%4=0,Page 9,输入两个整数比较大小import java.io.*;public class ex3_2 public static void main(String args)throws IOException int x,y;BufferedReader in=new Buf
5、feredReader(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(xy);else System.out.println(x=y);,Page 10,以条件运算符代替if-else例子:if(ab)System.out.pr
6、intln(The larger one is:+a);else System.out.println(The larger one is:+b);用条件运算符重写:System.out.println(The larger one is:+(ab)?a:b);,Page 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(test
7、score=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);,Page 12,3.1.2 switch选择结构,switch语句是多分支的选择结构switch(switch-expression)case value1:statements for case1;break;case value2:statements for case2;break;.cas
8、e valueN:statements for caseN;break;default:statements for default case;break;注意问题switch-expression、常量值value1到valueN必须是整型或字符型如果表达式的值和某个case后面的值相同,则从该case之后开始执行,直到break语句为止default是可有可无的,若没有一个常量与表达式的值相同,则从default之后开始执行,Page 13,if(i=1)statementA;else if(i=2)statementB;else if(i=3)|(i=4)statementC;else
9、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;,用switch代替if,Page 14,例3-2 使用switch结构计算每个月的天数static int daysInMonth(int month)int days;switch(month)case 2:days=28;break;case 4:case 6:
10、case 9:case 11:days=30;break;default:days=31;return(days);,Page 15,例3-3 用switch语句实现成绩分类的功能。import static java.lang.Math;/静态引入enum Grade A,B,C,D,E;/枚举类型定义public class Grade public static char gradeLevel(double g)int n=(int)floor(g/10);/等价于(int)Math.floor(g/10);switch(n)case 10:case 9:return Grade.A;c
11、ase 8:return Grade.B;case 7:return Grade.C;case 6:return Grade.D;default:return Grade.E;,Page 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.
12、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);,Page 17,输入06之间的某一个整数,然后把它转换成星期 输出。(0对应星期日)import jav
13、a.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();,Page 18,switch(day)case 0:System.out.println(Sunday);break;case 1:System.out.println(Monday);break
14、;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);break;,Page 19,for循环结构是Java三个循环语句中功能较强、使用较广泛的一
15、个for循环可以嵌套一般语法格式如下for(start-expression;check-expression;update-expression)/body of the loop;,3.1.3 for循环结构,Page 20,解释start-expression完成循环变量和其他变量的初始化工作check-expression是返回布尔值的条件表达式,用于判断循环是否继续update-expression用来修整循环变量,改变循环条件三个表达式之间用分号隔开,Page 21,for语句的执行过程首先根据初始表达式start-expression,完成必要的初始化工作;再判断表达式check
16、-expression的值,若为真,则执行循环体执行完循环体后再返回表达式update-expression,计算并修改循环条件,这样一轮循环就结束了第二轮循环从计算并判断表达式check-expression开始,若表达式的值仍为真,则循环继续,否则跳出整个for语句执行for循环下面的句子,Page 22,例3-4 打印九九乘数表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);Sys
17、tem.out.println();,Page 23,增强for循环(JDK5.0之后),增强for循环的功能:用来对数组或集合对象进行遍历。语法格式:for(Type name:Array/Set)/循环体,Page 24,例3-5 使用增强for循环打印星期一到星期日的英文名。public class PrintDay public static void main(String args)String days=Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,“Sunday;for(String day:days)System.out.
18、print(day+);System.out.println();,Page 25,输入一个整数,输出它所有的因数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()
19、.intValue();System.out.print(Number+n+Factors);for(k=1;k=n;k+)if(n%k=0)System.out.print(k+);System.out.println();,Page 26,逗号运算符可用在 for 循环控制表达式的初始化和递增两部分。在这两部分中可以存在多个由逗号分隔的语句,这些语句会被依次计算。public class ex3_8 public static void main(String args)for(int i=1,j=i+10;i 5;i+,j=i*2)System.out.println(i=+i+j=+j
20、);,Page 27,while语句实现“当型”循环,其一般语法格式如下:while(check-expression)/body of the loop;条件表达式(check-expression)的返回值为布尔型循环体可以是单个语句,也可以是复合语句块执行过程先判断check-expression的值,为真则执行循环体循环体执行完后再无条件转向条件表达式做计算与判断;当计算出条件表达式的值为假时,跳过循环体执行while语句后面的语句。若为真,则继续执行循环特点:它的循环体可能一次也不被执行,3.1.4 while循环结构,Page 28,循环接受并输出从键盘输入的字符,直到输入的字符为
21、回车为止char ch=a;while(ch!=n)System.out.println(ch);ch=(char)System.in.read();/接收键盘输入,Page 29,计算数列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.println(sum=+sum);,Page 30,例3-6 计算存款收益:假设银行中存款10000元,按11.25%的利率,一年后连本带利将变为11125元。你若将此款继续存入银行,试
22、问多长时间就会连本带利翻一番。import java.text.*;public class CalProfit public static void main(String args)double original,money,interest;int years=0;original=money=10000;interest=11.25/100;System.out.println(yeart money);,Page 31,while(money 2*original)years=years+1;money=money+(interest*money);System.out.printf
23、(%dt%.2fn,years,money);/end of while System.out.println();System.out.printf(第%d 年存款额达到%.2f元,years,money);/end of main/end of class,Page 32,do-while语句实现“直到型”循环一般语法结构如下do/body of the loop;while(check-expression);其使用与while语句很类似,不同的是它首先无条件的执行一遍循环体,再来判断条件表达式的值,若表达式的值为真,则再运行循环体,否则跳出do-while循环,执行下面的语句特点:它的
24、循环体至少要执行一次,3.1.5 do-while循环结构,Page 33,/while(i=10)sum+=i;i+;System.out.println(sum=+sum);,/do sum+=i;i+;while(i=10);System.out.println(sum=+sum);,比较这两段程序,Page 34,输入一个整数,然后输出它的翻转形式import java.io.*;public class ex3_5 public static void main(String args)throws IOException int n,right_digit,newnum=0;Buf
25、feredReader in=new BufferedReader(new InputStreamReader(System.in);System.out.println(Enter the number:);n=(new Integer(in.readLine().intValue();System.out.print(The number in reverse order is);do right_digit=n%10;System.out.print(right_digit);n/=10;while(n!=0);,Page 35,功能跳出循环,不再执行剩余部分。有两种使用格式:(1)不带
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 方法
链接地址:https://www.31ppt.com/p-5638068.html