




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java程序设计,第5章方法,学习目标,掌握声明和调用方法的语法理解方法参数的作用掌握如何传递方法参数掌握方法重载理解局部变量的作用域熟悉Math类掌握声明和导入包,声明方法,方法(method)是为执行一个操作组合在一起的语句集合。一个类中可以声明多个方法。语法,MethodDeclaration:MethodHeaderMethodBodyMethodHeader:ModifiersoptResultTypeIdentifier(FormalParameterListopt)ThrowsoptModifiers:publicprotectedprivatestaticabstractfinalsynchronizednativestrictfpResultType:TypevoidMethodBody:statements,方法声明示例,publicstaticintmax(intnum1,intnum2)intresult=0;if(num1num2)result=num1;elseresult=num2;returnresult;,方法头,方法体,修饰符,返回值类型,方法名称,形式参数,形参列表,参数类型,参数名称,返回值,方法头,方法签名(MethodSignature)指方法名称、参数类型和参数数量。一个类中不能包含具有相同签名的多个方法。方法头中声明的变量称为形参(formalparameter)。当调用方法时,可向形参传递一个值,这个值称为实参(actualparameter/argument)。形参可以使用final进行修饰,表示方法内部不允许修改该参数。方法可以有一个返回值(returnvalue)。如果方法没有返回值,返回值类型为void。,调用方法,声明方法只给出方法的定义。要执行方法,必须调用(call/invoke)方法。如果方法有返回值,通常将方法调用作为一个值来处理。intlarge=max(3,4);System.out.println(max(3,4);如果方法没有返回值,方法调用必须是一条语句。System.out.println(“WelcometoJava!”);当调用方法时,程序控制权转移至被调用的方法。当执行return语句或到达方法结尾时,程序控制权转移至调用者。如果是当前类中的静态方法,可以直接调用。其它类中的静态方法需要通过类名调用。,Example:TestMax.java,调用堆栈,每当调用一个方法时,系统将参数、局部变量存储在一个内存区域中,这个内存区域称为调用堆栈(callstack)。当方法结束返回到调用者时,系统释放相应的内存。,传递参数,如果方法声明中包含形参,调用方法时,必须提供实参。实参的类型必须与形参的类型兼容。实参顺序必须与形参的顺序一致。当调用方法时,实参值的副本被传递给方法的形参。方法内部对形参的修改不影响实参值。,publicstaticvoidnPrintln(Stringmessage,intn)for(inti=0;in;i+)System.out.println(message);nPrintln(“Hello”,3);/正确nPrintln(3,“Hello”);/错误,Example:TestPassByValue.java,方法重载,方法重载(overloading)是指方法名称相同,但方法签名不同的方法。一个类中可以包含多个重载的方法。当调用方法时,Java编译器会根据实参的个数和类型寻找最准确的方法进行调用。调用可能匹配的方法多于一个,则会产生编译错误,称为歧义调用(ambiguousinvocation)。,Example:TestMethodOverloading.java,AmbiguousOverloading.java,例使用方法计算税款,美国的个人所得税根据纳税人情况和须纳税收入进行计算。编写程序,用户输入纳税人情况和须纳税收入,计算出2002年的所得税。,2002年美国个人所得税税率表,Example:ComputeTaxWithMethod.java,局部变量的作用域,方法内部声明的变量称为局部变量(localvariable)。变量的作用域(scope)指程序中可以使用该变量的部分。局部变量的作用域从它的声明开始,直到包含该变量的程序块结束。局部变量在使用前必须先赋值。在方法中,可以在不同的非嵌套程序块中以相同的名称多次声明局部变量。但不能在嵌套的程序块中以相同的名称多次声明局部变量。在for语句的初始动作部分声明的变量,作用域是整个循环。在for语句循环体中声明的变量,作用域从变量声明开始到循环体结束。,Example:TestLocalVariable.java,Math类,常量PI:3.14159265358979323846E: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)(Math.random()*(65535+1)。要生成两个字符之间的随机字符的表达式为:(char)(ch1+Math.random()*(ch2ch1+1),Example:RandomCharacter.java,TestRandomCharacter.java,方法抽象,可以将方法体看作一个黑匣子,其中包含了方法实现的细节。,方法签名,方法体,输入,返回值,对客户可见,对客户不可见,自顶向下的设计,在设计较大的程序时,可以采用“分而治之”的方法,将其分解为一些子问题。子问题再被分解为更小、更易处理的问题。,例显示日历,编写程序,显示给定年和月份的日历。,设计分析,printCalender,readInput,printMonth,printMonthTitle,printMonthBody,printMonthName,getStartDay,getTotalNumOfDays,getNumOfDaysInMonth,isLeapYear,Example:PrintCalendar.java,包,包(package)是相关类和接口的集合,它可以提供访问保护和名称空间管理。组织功能:将相关的类和接口组织在一起,便于识别和管理防止命名冲突:不同包中的相同命名,不会产生冲突访问控制:控制包间的类型的可访问性语法packagepackagename;package语句必须位于源文件的第一条语句,源文件中定义的所有类和接口都属于指定的包。如果没有使用package语句,那么类和接口被放在缺省包(defaultpackage)中,缺省包是一个没有名称的包。,包的命名,使用组织的internet域名的反序形式命名包。一个组织内部发生的命名冲突需要由组织内部的约定来处理,通常在组织名称后面包含项目名称。包名必须与目录结构一一对应,目录名之间用.分隔。,组织WorldWideWebConsortium域名包名org.w3c.domorg.w3c.dom.bootstraporg.w3c.dom.events,组织TheApacheSoftwareFoundation域名包名org.apache.tools.antorg.apache.tools.ant.helperorg.apache.catalinaorg.apache.catalina.core,组织北京师范大学信息技术与软件工程学院域名包名com.bnuitse.putcom.bnuitse.put.modelcom.bnuitse.put.view,Example:com/prehall/mypackage/Format.java,使用包中的类,用简单名称引用包成员。代码与要使用的成员位于相同的包成员所属的包已
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年智能车间建设项目:工业4.0自动化技术可行性研究报告
- 2025FIDIC合同条件下工程咨询索赔程序问题
- Unit 1 This is me!further study 说课稿 2024-2025学年译林版(2024)七年级英语上册
- 山东省六年级道德与法治上册 第二单元 青春的脚步 青春的气息 第3课 人们说我长大了 第2框 悦纳自己的心理变化说课稿 鲁人版五四制
- 注册教学课件
- 网课小虾教学课件
- 射手教学课件
- 植物种植技能考试题及答案
- 《金孔雀轻轻跳》(教学设计)-2023-2024学年人教版(2012)音乐二年级下册
- 职业倾向考试题库及答案
- 计算机二级WPS考试试题
- 道路桥梁工程CAD制图标准
- 高速铁路桥隧养护维修 课件 1 铁路桥隧维修概述
- 塔吊安拆及检查培训课件
- 前程无忧测评题库及答案
- 保洁员职业技能鉴定考试题库及答案
- 商业银行数据要素价值洞察研究白皮书2023
- DL5000-火力发电厂设计技术规程
- 2024-2030年中国边境经济合作区行业市场发展分析及经验案例与投资趋势研究报告
- 大决战电影赏析课件
- 中药郁金课件
评论
0/150
提交评论