欢迎来到天天文库
浏览记录
ID:43092180
大小:369.50 KB
页数:20页
时间:2019-09-29
《JAVA全套简明教程ch05 - 方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Java程序设计第5章方法学习目标掌握声明和调用方法的语法理解方法参数的作用掌握如何传递方法参数掌握方法重载理解局部变量的作用域熟悉Math类掌握声明和导入包声明方法方法(method)是为执行一个操作组合在一起的语句集合。一个类中可以声明多个方法。语法MethodDeclaration:MethodHeaderMethodBodyMethodHeader:ModifiersoptResultTypeIdentifier(FormalParameterListopt)ThrowsoptModifiers:publicprotectedprivatestaticabstr
2、actfinalsynchronizednativestrictfpResultType:TypevoidMethodBody:{statements}方法声明示例publicstaticintmax(intnum1,intnum2){intresult=0;if(num1>num2)result=num1;elseresult=num2;returnresult;}方法头方法体修饰符返回值类型方法名称形式参数形参列表参数类型参数名称返回值方法头方法签名(MethodSignature)指方法名称、参数类型和参数数量。一个类中不能包含具有相同签名的多个方法。方法头中声明
3、的变量称为形参(formalparameter)。当调用方法时,可向形参传递一个值,这个值称为实参(actualparameter/argument)。形参可以使用final进行修饰,表示方法内部不允许修改该参数。方法可以有一个返回值(returnvalue)。如果方法没有返回值,返回值类型为void。调用方法声明方法只给出方法的定义。要执行方法,必须调用(call/invoke)方法。如果方法有返回值,通常将方法调用作为一个值来处理。intlarge=max(3,4);System.out.println(max(3,4));如果方法没有返回值,方法调用必须是一条语句
4、。System.out.println(“WelcometoJava!”);当调用方法时,程序控制权转移至被调用的方法。当执行return语句或到达方法结尾时,程序控制权转移至调用者。如果是当前类中的静态方法,可以直接调用。其它类中的静态方法需要通过类名调用。Example:TestMax.java调用堆栈每当调用一个方法时,系统将参数、局部变量存储在一个内存区域中,这个内存区域称为调用堆栈(callstack)。当方法结束返回到调用者时,系统释放相应的内存。maink:j:2i:5调用main方法maink:j:2i:5调用max方法maxresult:5num2:2
5、num1:5maink:5j:2i:5max方法结束main方法结束传递参数如果方法声明中包含形参,调用方法时,必须提供实参。实参的类型必须与形参的类型兼容。实参顺序必须与形参的顺序一致。当调用方法时,实参值的副本被传递给方法的形参。方法内部对形参的修改不影响实参值。publicstaticvoidnPrintln(Stringmessage,intn){for(inti=0;i6、assByValue.java方法重载方法重载(overloading)是指方法名称相同,但方法签名不同的方法。一个类中可以包含多个重载的方法。当调用方法时,Java编译器会根据实参的个数和类型寻找最准确的方法进行调用。调用可能匹配的方法多于一个,则会产生编译错误,称为歧义调用(ambiguousinvocation)。Example:TestMethodOverloading.java,AmbiguousOverloading.java例使用方法计算税款美国的个人所得税根据纳税人情况和须纳税收入进行计算。编写程序,用户输入纳税人情况和须纳税收入,计算出2002年的所得7、税。2002年美国个人所得税税率表Example:ComputeTaxWithMethod.java局部变量的作用域方法内部声明的变量称为局部变量(localvariable)。变量的作用域(scope)指程序中可以使用该变量的部分。局部变量的作用域从它的声明开始,直到包含该变量的程序块结束。局部变量在使用前必须先赋值。在方法中,可以在不同的非嵌套程序块中以相同的名称多次声明局部变量。但不能在嵌套的程序块中以相同的名称多次声明局部变量。在for语句的初始动作部分声明的变量,作用域是整个循环。在for语句循环体中声明的变量,作用域从变量声明
6、assByValue.java方法重载方法重载(overloading)是指方法名称相同,但方法签名不同的方法。一个类中可以包含多个重载的方法。当调用方法时,Java编译器会根据实参的个数和类型寻找最准确的方法进行调用。调用可能匹配的方法多于一个,则会产生编译错误,称为歧义调用(ambiguousinvocation)。Example:TestMethodOverloading.java,AmbiguousOverloading.java例使用方法计算税款美国的个人所得税根据纳税人情况和须纳税收入进行计算。编写程序,用户输入纳税人情况和须纳税收入,计算出2002年的所得
7、税。2002年美国个人所得税税率表Example:ComputeTaxWithMethod.java局部变量的作用域方法内部声明的变量称为局部变量(localvariable)。变量的作用域(scope)指程序中可以使用该变量的部分。局部变量的作用域从它的声明开始,直到包含该变量的程序块结束。局部变量在使用前必须先赋值。在方法中,可以在不同的非嵌套程序块中以相同的名称多次声明局部变量。但不能在嵌套的程序块中以相同的名称多次声明局部变量。在for语句的初始动作部分声明的变量,作用域是整个循环。在for语句循环体中声明的变量,作用域从变量声明
此文档下载收益归作者所有