JAVA全套简明教程ch05-方法.ppt

上传人:牧羊曲112 文档编号:6509655 上传时间:2023-11-07 格式:PPT 页数:20 大小:288.99KB
返回 下载 相关 举报
JAVA全套简明教程ch05-方法.ppt_第1页
第1页 / 共20页
JAVA全套简明教程ch05-方法.ppt_第2页
第2页 / 共20页
JAVA全套简明教程ch05-方法.ppt_第3页
第3页 / 共20页
JAVA全套简明教程ch05-方法.ppt_第4页
第4页 / 共20页
JAVA全套简明教程ch05-方法.ppt_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《JAVA全套简明教程ch05-方法.ppt》由会员分享,可在线阅读,更多相关《JAVA全套简明教程ch05-方法.ppt(20页珍藏版)》请在三一办公上搜索。

1、Java程序设计,第5章 方法,学习目标,掌握声明和调用方法的语法理解方法参数的作用掌握如何传递方法参数掌握方法重载理解局部变量的作用域熟悉Math类掌握声明和导入包,声明方法,方法(method)是为执行一个操作组合在一起的语句集合。一个类中可以声明多个方法。语法,MethodDeclaration:MethodHeader MethodBodyMethodHeader:Modifiersopt ResultType Identifier(FormalParameterListopt)ThrowsoptModifiers:public protected private static abs

2、tract finalsynchronized native strictfpResultType:TypevoidMethodBody:statements,方法声明示例,public static int max(int num1,int num2)int result=0;if(num1 num2)result=num1;else result=num2;return result;,方法头,方法体,修饰符,返回值类型,方法名称,形式参数,形参列表,参数类型,参数名称,返回值,方法头,方法签名(Method Signature)指方法名称、参数类型和参数数量。一个类中不能包含具有相同签名

3、的多个方法。方法头中声明的变量称为形参(formal parameter)。当调用方法时,可向形参传递一个值,这个值称为实参(actual parameter/argument)。形参可以使用final进行修饰,表示方法内部不允许修改该参数。方法可以有一个返回值(return value)。如果方法没有返回值,返回值类型为void。,调用方法,声明方法只给出方法的定义。要执行方法,必须调用(call/invoke)方法。如果方法有返回值,通常将方法调用作为一个值来处理。int large=max(3,4);System.out.println(max(3,4);如果方法没有返回值,方法调用必须

4、是一条语句。System.out.println(“Welcome to Java!”);当调用方法时,程序控制权转移至被调用的方法。当执行return语句或到达方法结尾时,程序控制权转移至调用者。如果是当前类中的静态方法,可以直接调用。其它类中的静态方法需要通过类名调用。,Example:TestMax.java,调用堆栈,每当调用一个方法时,系统将参数、局部变量存储在一个内存区域中,这个内存区域称为调用堆栈(call stack)。当方法结束返回到调用者时,系统释放相应的内存。,传递参数,如果方法声明中包含形参,调用方法时,必须提供实参。实参的类型必须与形参的类型兼容。实参顺序必须与形参的

5、顺序一致。当调用方法时,实参值的副本被传递给方法的形参。方法内部对形参的修改不影响实参值。,public static void nPrintln(String message,int n)for(int i=0;i n;i+)System.out.println(message);nPrintln(“Hello”,3);/正确nPrintln(3,“Hello”);/错误,Example:TestPassByValue.java,方法重载,方法重载(overloading)是指方法名称相同,但方法签名不同的方法。一个类中可以包含多个重载的方法。当调用方法时,Java编译器会根据实参的个数和类

6、型寻找最准确的方法进行调用。调用可能匹配的方法多于一个,则会产生编译错误,称为歧义调用(ambiguous invocation)。,Example:TestMethodOverloading.java,AmbiguousOverloading.java,例 使用方法计算税款,美国的个人所得税根据纳税人情况和须纳税收入进行计算。编写程序,用户输入纳税人情况和须纳税收入,计算出2002年的所得税。,2002年美国个人所得税税率表,Example:ComputeTaxWithMethod.java,局部变量的作用域,方法内部声明的变量称为局部变量(local variable)。变量的作用域(sc

7、ope)指程序中可以使用该变量的部分。局部变量的作用域从它的声明开始,直到包含该变量的程序块结束。局部变量在使用前必须先赋值。在方法中,可以在不同的非嵌套程序块中以相同的名称多次声明局部变量。但不能在嵌套的程序块中以相同的名称多次声明局部变量。在for语句的初始动作部分声明的变量,作用域是整个循环。在for语句循环体中声明的变量,作用域从变量声明开始到循环体结束。,Example:TestLocalVariable.java,Math类,常量方法三角函数sin,cos,tan,asin,acos,atan,toRadians,toDigrees指数exp,log,log10,pow,sqrt取

8、整ceil,floor,rint,round其它min,max,abs,random,例 生成随机字符,编写生成随机字符的方法。Java中每个字符对应一个Unicode编码从0000到FFFF。在生成一个随机字符,就是产生一个从0到65535之间的随机数。由于0=Math.random()1.0,所以计算表达式为:(int)(Math.random()*(65535+1)。要生成两个字符之间的随机字符的表达式为:(char)(ch1+Math.random()*(ch2 ch1+1),Example:RandomCharacter.java,TestRandomCharacter.java,方

9、法抽象,可以将方法体看作一个黑匣子,其中包含了方法实现的细节。,方法签名,方法体,输入,返回值,对客户可见,对客户不可见,自顶向下的设计,在设计较大的程序时,可以采用“分而治之”的方法,将其分解为一些子问题。子问题再被分解为更小、更易处理的问题。,例 显示日历,编写程序,显示给定年和月份的日历。,设计分析,printCalender,readInput,printMonth,printMonthTitle,printMonthBody,printMonthName,getStartDay,getTotalNumOfDays,getNumOfDaysInMonth,isLeapYear,Exam

10、ple:PrintCalendar.java,包,包(package)是相关类和接口的集合,它可以提供访问保护和名称空间管理。组织功能:将相关的类和接口组织在一起,便于识别和管理防止命名冲突:不同包中的相同命名,不会产生冲突访问控制:控制包间的类型的可访问性语法package packagename;package语句必须位于源文件的第一条语句,源文件中定义的所有类和接口都属于指定的包。如果没有使用package语句,那么类和接口被放在缺省包(default package)中,缺省包是一个没有名称的包。,包的命名,使用组织的internet域名的反序形式命名包。一个组织内部发生的命名冲突需要

11、由组织内部的约定来处理,通常在组织名称后面包含项目名称。包名必须与目录结构一一对应,目录名之间用.分隔。,组织World Wide Web Consortium 域名www.w3c.org 包名,组织The Apache Software Foundation域名www.apache.org 包名,组织北京师范大学信息技术与软件工程学院域名 包名,Example:com/prehall/mypackage/Format.java,使用包中的类,用简单名称引用包成员。代码与要使用的成员位于相同的包成员所属的包已经被导入用完全限定名称引用包成员使用另一个包中的成员,而且此包未被导入导入多个包时,出现命名冲突 将特定成员导入到当前文件中,在文件开始处,类和接口定义之前,package语句之后,加入import语句。要导入某个包中的所有的类和接口,应使用具有通配符(*)的import语句。Java默认导入包java.lang,Example:TestFormat.java,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号