二. Java语言基础
7. 方法
-
某个功能代码只需写一遍,使用时“调用”/invoke这个功能,提高代码复用性
-
方法:Method,在C语言中叫做函数”Function“
方法定义在类体中,一个类中可以定义多个方法,方法的位置可以随意
方法体中不能再定义方法
方法体必须由大括号括起来,方法体中的代码遵循自上而下的顺序依次执行
public class Method01{
//类体
public static void main(String[] args){
Method01.sumInt(10,20);
Method01.sumInt(666,888);
Method01.sumInt(111,222);
}
public static void sumInt(int a,int b){ //定义一个sumInt方法
int c = a + b; //该方法完成计算两个int类型数据的和
System.out.println(a + " + " + b + " = " + c);
}
}
-
方法的语法结构:
-
关于修饰符列表:
可选项,不是必须的
目前统一写成:public static
修饰符列表中有“static”关键字时,调用方法为:类名.方法名(实际参数列表); -
返回值:
方法结束后返回执行结果,执行结果可能是一个具体存在的数据,这个数据就是返回值
方法结束后也可以不返回任何数据,但返回值类型必须是void
返回值语句:“return 值;”,且要求返回值数据类型必须和方法的返回值类型一致,否则报错
在同一个作用域中,return语句后不能编写代码,编译器会报错:无法访问的语句 -
返回值类型:
返回值的数据类型
可以是java语言中的任意一种类型,包括基本数据类型和所有的引用数据类型
可以是byte、short、int、long、float、double、boolean、char、String、void…
返回值类型若不是void,表示该方法结束后必须返回具体数值,若没有返回数据,编译器报错
返回值类型是void时,不能使用“return 值;”语句,但可以使用“return;”
只要带有return关键字的语句执行,return语句所在方法结束(不是JVM结束) -
方法名:
合法标识符即可,最好是动词,首字母小写后面单词首字母大写 -
形式参数列表(形参):
形参是局部变量:int a; double b; float c; …
形参的个数可以是0 ~ n个,多个形参之间用逗号“,”隔开
实际参数(实参):调用方法时给方法传递的真实数据
实参列表和形参列表必须满足:数量相同、类型对应相同
-
[修饰符列表] 返回值类型 方法名(形式参数列表){
方法体
}
//方法定义
public static int sum(long 变量名,int 变量名){} //形参列表:(long 变量名,int 变量名)
//方法调用
类名.sum("abc","def"); //编译报错,实参类型与形参不一致
类名.sum(10L,20L); //编译通过,(10L,20L)是实参列表
类名.sum(); //编译报错:参数数量不同
类名.sum(10,20); //编译通过,存在自动类型转换:int-->long
类名.sum(3.0,20); //编译报错,类型不同
类名.sum((long)3.0,20); //编译通过,强制类型转换
public class Method01{ //定义一个公开的类,类名必须与文件名相同
public static void main(String[] args){ //main方法是JVM负责调用的程序入口
//(String[] args):形式参数列表,其中String[]是一种引用数据类型,args是一个局部变量的变量名
//主方法只有args这个局部变量的变量名是随意的,其他不能改动
Method01.sum(10,20); //在main方法中调用Method01的sum方法,传递两个实参(10,20)
//在这里main方法暂停,进入sum方法执行,sum方法结束后再继续执行
int i = 111;
int j = 222;
Method01.sum(i,j); //一个方法可以被重复调用,(i,j)是实参列表
}
//修饰符列表:public static 返回值类型:void 方法名:sum 形式参数列表:(int a,int b)
public static void sum(int a, int b){ //自定义方法,不是程序入口
System.out.println(a + " + " + b