package day02;
//java中是传值还是传址?
//1.既是传值,也是传址,基本类型传值,引用类型传址
//2.java中只有传值,地址也是值(java之父定义)
public class DemoThree {
public static void main(String[] args) {
//基本数据类型的值传递,不改变原值,因为调用后会弹栈,而局部变量随之消失
// int a = 10;
// int b = 20;
// System.out.println("a:"+a+",b:"+b);//a=10,b=20
// change(a,b);
// System.out.println("a:"+a+",b:"+b);//a=10,b=20
//引用数据类型的值传递,改变原值,因为即使方法弹栈,但是对应内存的数组对象还在,可以通过地址继续访问
int[] arr = {1,2,3,4,5};
change(arr);
System.out.println(arr[1]);
}
public static void change(int a,int b) {
System.out.println("a:"+a+",b:"+b);//a=10,b=20
a = b;
b = a + b;
System.out.println("a:"+a+",b:"+b);//a=20,b=40
}
public static void change(int[] arr) {
for(int x=0; x<arr.length; x++) {
if(arr[x]%2==0) {
arr[x]*=2;
}
}
}
}
java:参数传递问题基本数据类型与引用数据类型
猜你喜欢
转载自blog.csdn.net/qq_24644517/article/details/81632186
今日推荐
周排行