Java方法的参数传递
1.基本数据类型参数的传递
(1)基本数据类型包括以下:
整点数类型:byte、short、int、long;
浮点数类型:float、double;
布尔类型 boolean;
字符类型 char;
(2)存储的是数据
(3)形参的改变,不影响实际参数的值。 以下代码,不会改变其参数的值:
public class test01 {
public static void main(String args[]) {
int number = 100;
System.out.println("调用change方法前:"+number);
change(number);
System.out.println("调用change方法后:"+number);
}
public static void change(int number) {
number = 200;
}
}
输出结果:
调用change方法前:100
调用change方法后:100
当方法添加了返回类型后,如果不进行新的变量赋值,仍不会改变其值:
import java.util.Arrays;
public class test01 {
public static void main(String args[]) {
int number = 100;
System.out.println("调用change方法前:"+number);
change(number);
System.out.println("调用change方法后:"+number);
}
public static int change(int number) {
number = 200;
return number;
}
}
运行结果:
调用change方法前:100
调用change方法后:100
当方法添加了返回类型后,并进行新的变量赋值,会改变其值:
public class test01 {
public static void main(String args[]) {
int number = 100;
System.out.println("调用change方法前:"+number);
number = change(number);
System.out.println("调用change方法后:"+number);
}
public static int change(int number) {
number = 200;
return number;
}
}
输出结果:
调用change方法前:100
调用change方法后:200
2.引用数据类型参数的传递
(1)引用数据类型包括:数组、对象、接口
(2)存储的是地址值,使用了该地址中的数据
(3)由于传递的是地址值,所以形参的改变,会导致实参的改变:
public class test01 {
public static void main(String args[]) {
int[] arr = {2,3,4};//引用型数据
System.out.println("调用change方法前:"+arr[0]);
change(arr);
System.out.println("调用change方法后:"+arr[0]);
}
public static void change(int[] arr) {
arr[0] = 200;
}
}
输出结果:
调用change方法前:2
调用change方法后:200
以上仅供学习记录使用,学习视频来源于:https://www.bilibili.com/video/BV17F411T7Ao?p=73&vd_source=91fcbb937f3e01251f81ce1e559ce73e