《JAVA方法(第3部分).ppt》由会员分享,可在线阅读,更多相关《JAVA方法(第3部分).ppt(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2.7 方法方法创建方法创建方法方法的结构:方法的结构:修饰符修饰符 返回值类型返回值类型 方法名(参数列表)方法名(参数列表)/方法体方法体方法头指定方法的修饰符、返回值类型、方法名和参数。方法头指定方法的修饰符、返回值类型、方法名和参数。创建方法创建方法例如:例如:public static int max(int num1,int num2)if(num1 num2)return num1;else return num2;创建方法创建方法修饰符是可选的,它指定了方法的属性并且告诉编译器该修饰符是可选的,它指定了方法的属性并且告诉编译器该方法可以如何调用。方法可以如何调用。方法可以返回一
2、个值。返回值类型是方法要返回的值的数方法可以返回一个值。返回值类型是方法要返回的值的数据类型。若方法不返回值,则返回值类型为关键字据类型。若方法不返回值,则返回值类型为关键字void。除构造方法外,所有的方法都要求有返回值类型。除构造方法外,所有的方法都要求有返回值类型。方法可以有一个参数列表,按方法的规范称为形式参数。方法可以有一个参数列表,按方法的规范称为形式参数。当方法被调用时,形式参数用变量或数据替换,这些变量当方法被调用时,形式参数用变量或数据替换,这些变量或数据称为实际参数。参数是可选的。或数据称为实际参数。参数是可选的。方法体包括一个定义方法做什么的语句集合。方法体包括一个定义方
3、法做什么的语句集合。创建方法创建方法有返回值的方法要求有关键字有返回值的方法要求有关键字return,而返回值类,而返回值类型为型为void的方法则可以没有。的方法则可以没有。返回值类型为返回值类型为void类型的方法也可以使用类型的方法也可以使用return语句,用来终止方法并返回该方法的调用者。执语句,用来终止方法并返回该方法的调用者。执行行return语句后方法终止。语句后方法终止。调用方法调用方法根据方法是否有返回值,通常有两种途径调用方根据方法是否有返回值,通常有两种途径调用方法:法:如果方法返回一个值,对方法的调用通常就当如果方法返回一个值,对方法的调用通常就当做处理一个值。如:做
4、处理一个值。如:int larger=max(3,4);如果方法返回如果方法返回void,对方法的调用必定是一条,对方法的调用必定是一条语句。如:语句。如:System.out.println(“Welcome to Java!”);调用方法调用方法当程序调用方法时,程序控制转移到了被调用的方当程序调用方法时,程序控制转移到了被调用的方法中。执行法中。执行return语句或遇到方法结束的右括号时,语句或遇到方法结束的右括号时,被调用方法将程序控制还给调用者。被调用方法将程序控制还给调用者。例如:例如:void method1()System.out.println(method2();int
5、method2()int i=method3();return i;int method3()return 10;调用方法调用方法例例 测试测试max方法方法这个例子演示怎样创建和调用这个例子演示怎样创建和调用max方法。方法。源程序:源程序:TestMax.java参数传递参数传递方法的威力是它处理参数的能力。调用方法时,方法的威力是它处理参数的能力。调用方法时,需要提供实参,它们必须在类型、次序和数量上需要提供实参,它们必须在类型、次序和数量上与方法中所对应的形参匹配,这叫做与方法中所对应的形参匹配,这叫做参数顺序匹参数顺序匹配配。参数传递参数传递例如:例如:void nPrintln(S
6、tring message,int n)for(int i=0;i num2)return num1;else return num2;与前面的与前面的max方法同名,但参数形式不同。方法同名,但参数形式不同。练习练习重载上一个求整数平均值的方法,实现对求三重载上一个求整数平均值的方法,实现对求三个任意数值类型数的平均值。个任意数值类型数的平均值。在在main方法中测试这个重载的方法方法中测试这个重载的方法方法抽象方法抽象方法抽象方法抽象是把方法的应用同实现分离开来。在不知是把方法的应用同实现分离开来。在不知道方法如何实现的情况下,用户也可以使用方法。道方法如何实现的情况下,用户也可以使用方法
7、。如果要改变方法的实现,只要不改变方法头标志,如果要改变方法的实现,只要不改变方法头标志,提供给用户的程序就不受影响。提供给用户的程序就不受影响。例子例子一个根据员工基本计算工资的程序:一个根据员工基本计算工资的程序:public class Test public static void main(String args)int level=0;System.out.println(“等级等级”+level+”的工资是:的工资是:”+salary(level);例子例子salary方法定义:方法定义:static int salary(int level)switch(level)case
8、0:return 1000;case 1:return 2000;case 2:return 2500;defaul:return 0;练习练习编写方法求一个编写方法求一个double数值的向右取整,再写数值的向右取整,再写一个方法求它向左取整。比如:一个方法求它向左取整。比如:5.4的向右取的向右取整为整为6,而向左取整为,而向左取整为5;而;而5.0的向右取整为的向右取整为5,向左取整也为,向左取整也为5。写一个方法计算一个整数各位数字的和,使用写一个方法计算一个整数各位数字的和,使用下面的方法说明:下面的方法说明:public static int sumDigits(long n)比如
9、:比如:sumDigits(234)返回返回2+3+4=92.8 数组数组一维数组一维数组 定义数组定义数组 数据类型数据类型 数组名数组名;int a,boolean temp,String s;另一种定义格式:另一种定义格式:int a,boolean temp,String s;生成数组生成数组 数据变量名数据变量名=new 数据类型数据类型数组长度数组长度;如如 char s;s=new char5;int temp=new int10;初始化数组初始化数组 赋值的方式赋值的方式 如如 int s=new int3;s0=1;s1=2;s2=3;或将数组的定义、内存空间分配、初始化工作放在一条语句或将数组的定义、内存空间分配、初始化工作放在一条语句中,格式如下:中,格式如下:数据类型数据类型 数据名数据名=值值1,值,值n 例如:例如:char s=a,b,c,d;初始化数组初始化数组 赋值的方式赋值的方式 如如 int s=new int3;s0=1;s1=2;s2=3;二维数组二维数组 int temp=new int35;System.out.println(temp.length);/行数行数3 System.out.println(temp0.length)/长度长度 5