JAVA全套简明教程ch方法课件

上传人:我*** 文档编号:145246747 上传时间:2020-09-18 格式:PPT 页数:19 大小:144.50KB
返回 下载 相关 举报
JAVA全套简明教程ch方法课件_第1页
第1页 / 共19页
JAVA全套简明教程ch方法课件_第2页
第2页 / 共19页
JAVA全套简明教程ch方法课件_第3页
第3页 / 共19页
JAVA全套简明教程ch方法课件_第4页
第4页 / 共19页
JAVA全套简明教程ch方法课件_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《JAVA全套简明教程ch方法课件》由会员分享,可在线阅读,更多相关《JAVA全套简明教程ch方法课件(19页珍藏版)》请在金锄头文库上搜索。

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

2、ct final synchronized native strictfp ResultType: Type void MethodBody: 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.printl

4、n(max(3,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)是指方法名称相同,但方法

6、签名不同的方法。一个类中可以包含多个重载的方法。 当调用方法时,Java编译器会根据实参的个数和类型寻找最准确的方法进行调用。 调用可能匹配的方法多于一个,则会产生编译错误,称为歧义调用(ambiguous invocation)。,Example:TestMethodOverloading.java, AmbiguousOverloading.java,例 使用方法计算税款,美国的个人所得税根据纳税人情况和须纳税收入进行计算。编写程序,用户输入纳税人情况和须纳税收入,计算出2002年的所得税。,2002年美国个人所得税税率表,Example:ComputeTaxWithMethod.java

7、,局部变量的作用域,方法内部声明的变量称为局部变量(local variable)。 变量的作用域(scope)指程序中可以使用该变量的部分。 局部变量的作用域从它的声明开始,直到包含该变量的程序块结束。局部变量在使用前必须先赋值。 在方法中,可以在不同的非嵌套程序块中以相同的名称多次声明局部变量。但不能在嵌套的程序块中以相同的名称多次声明局部变量。 在for语句的初始动作部分声明的变量,作用域是整个循环。在for语句循环体中声明的变量,作用域从变量声明开始到循环体结束。,Example:TestLocalVariable.java,Math类,常量 PI : 3.14159265358979

8、323846 E : 2.7182818284590452354 方法 三角函数 sin, cos, tan, asin, acos, atan,toRadians,toDigrees 指数 exp, log, log10,pow, sqrt 取整 ceil, floor, rint, round 其它 min, max, abs, random,例 生成随机字符,编写生成随机字符的方法。 Java中每个字符对应一个Unicode编码从0000到FFFF。在生成一个随机字符,就是产生一个从0到65535之间的随机数。由于0=Math.random()1.0,所以计算表达式为:(int)(Mat

9、h.random() * (65535 + 1) 。 要生成两个字符之间的随机字符的表达式为: (char)(ch1 + Math.random() * (ch2 ch1 + 1),Example:RandomCharacter.java, TestRandomCharacter.java,方法抽象,可以将方法体看作一个黑匣子,其中包含了方法实现的细节。,方法签名,方法体,输入,返回值,对客户可见,对客户不可见,自顶向下的设计,在设计较大的程序时,可以采用“分而治之”的方法,将其分解为一些子问题。子问题再被分解为更小、更易处理的问题。,例 显示日历,编写程序,显示给定年和月份的日历。,设计分析

10、,printCalender,readInput,printMonth,printMonthTitle,printMonthBody,printMonthName,getStartDay,getTotalNumOfDays,getNumOfDaysInMonth,isLeapYear,Example:PrintCalendar.java,包,包(package)是相关类和接口的集合,它可以提供访问保护和名称空间管理。 组织功能:将相关的类和接口组织在一起,便于识别和管理 防止命名冲突:不同包中的相同命名,不会产生冲突 访问控制:控制包间的类型的可访问性 语法 package packagena

11、me; package语句必须位于源文件的第一条语句,源文件中定义的所有类和接口都属于指定的包。 如果没有使用package语句,那么类和接口被放在缺省包(default package)中,缺省包是一个没有名称的包。,包的命名,使用组织的internet域名的反序形式命名包。一个组织内部发生的命名冲突需要由组织内部的约定来处理,通常在组织名称后面包含项目名称。包名必须与目录结构一一对应,目录名之间用.分隔。,组织World Wide Web Consortium 域名www.w3c.org 包名org.w3c.dom org.w3c.dom.bootstrap org.w3c.dom.eve

12、nts,组织The Apache Software Foundation 域名www.apache.org 包名org.apache.tools.ant org.apache.tools.ant.helper org.apache.catalina org.apache.catalina.core,组织北京师范大学信息技术与软件工程学院 域名 包名com.bnuitse.put com.bnuitse.put.model com.bnuitse.put.view,Example:com/prehall/mypackage/Format.java,使用包中的类,用简单名称引用包成员。 代码与要使用的成员位于相同的包 成员所属的包已经被导入 用完全限定名称引用包成员 使用另一个包中的成员,而且此包未被导入 导入多个包时,出现命名冲突 将特定成员导入到当前文件中,在文件开始处,类和接口定义之前,package语句之后,加入import语句。 要导入某个包中的所有的类和接口,应使用具有通配符(*)的import语句。 Java默认导入包java.lang,Example:TestFormat.java,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号