方法
定义方法_
- 无参数无返回值的方法
- 无参数有返回值的方法
- 有参数无返回值的方法
- 有参数有返回值的方法
无参数无返回值的方法
function(); //调用方法
public static void function(){
System.out.println("无参数无返回值的方法");
}
无参数有返回值的方法
int i = function(); //输出 3
public static int function(){
int a = 1;
int b = 2;
return a + b;
}
有参数无返回值的方法
int i = 1;
function(i);
public static void function(int i){
System.out.println(i);// 输出 1
}
有参数有返回值的方法
int j = 2;
int i = 1;
function(i,j);
public static int function(int i,int j){
return a + b;
}
形参和实参_
- 形参: 方法定义中的参数,等同于变量,如果有多个参数就使用逗号隔开
- 实参:方法调用中的参数(一般都是常量值,或者变量)
方法的注意事项
- 方法要先定义才能调用
- 方法不调用不会执行
- 方法不能嵌套方法(方法和方法之间是平级关系)
- 无返回值方法,方法体中一般不加return语句,如果要加return语句,只能这么写:
return;
,表示结束方法的执行,并且该return后面不可以添加代码
方法重载
什么是方法重载_
- 在
同一个类中
,出现了多个同名的方法
,并且参数列表不同
,与返回值类型,修饰符无关 - 参数类型不同,参数个数不同,以及同类型参数顺序不同,与参数名没有关系
public class Demo(){
public static void main(String[] args){
}
// 下面两个函数够成重载 方法名相同但数量个数不同
public static void function(int a){
}
public static void function(int a,int b){
}
}
public class Demo(){
public static void main(String[] args){
}
// 下面两个函数构成重载 方法名相同但数据类型不同
public static void function(int a){
}
public static void function(double a){
}
}
public class Demo(){
public static void main(String[] args){
}
// 下面两个函数构成重载 方法名相同但循序不同
public static void function(int a,String b){
}
public static void function(String b,int a){
}
}
public class Demo(){
public static void main(String[] args){
}
// 下面两个函数不构成重载 数据类型不同并不能构成重载
public static double function(int a){
}
public static int function(int a){
}
}
方法参数传递基本类型_
- 基本类型:
对于基本数据类型的参数,形式参数的改变,不影响实际参数的值
public class Demo(){
public static void main(String[] args){
int num = 100;
System.out.println(num);// 输出 100
change(num);
System.out.println(num);// 输出 100
}
public static void change(int num){ // 传递的是数值
num = 200
}
}
方法参数传递引用类型_
- 引用类型:
对于引用类型的参数,形式参数的改变,影响实际参数的值
public class Demo(){
public static void main(String[] args){
int num[] = {1,2,3};
System.out.println(num[1]);// 输出 100
change(num);
System.out.println(num[1]);// 输出 200
}
public static void change(int num[]){ // 传递的是num的地址
num[1] = 200
}
}