43 Java语言基础思考题Java中的参数传递问题

Posted JAVA笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了43 Java语言基础思考题Java中的参数传递问题相关的知识,希望对你有一定的参考价值。

 1 /*
 2 
 3 基本数据类型的值传递,不改变原值,因为调用后就会弹栈,局部变量随之消失
 4 引用数据类型的值传递,改变原值,因为即使方法弹栈,但是堆内存数组对象还在,可以通过地址继续访问
 5 
 6 基本数据类型传递给参数的是值
 7 引用数据类型传递给参数的是地址
 8 
 9 但是地址也是值,所以参数的传递,传递都是值.
10 
11 */
12 
13 
14 class Demo5{
15     public static void main(String[] args) {
16             int a  = 10;
17             int b =20;
18 
19             System.out.println("a:"+a+"b:"+b);
20             change(a,b);
21             System.out.println("a:"+a+"b:"+b);
22 
23             int[] arr = {1,2,3,4,5};
24             System.out.println(arr[1]);
25 
26     }
27 
28     public static void change(int a,int b){
29         System.out.println("a:"+a+"b:"+b);
30         a = b;
31         b = a+b;
32         System.out.println("a:"+a+"b:"+b);
33     }
34 
35     public static void change(int[] arr){
36         for(int i=0;i<arr.length;i++){
37             if(arr[x]%2==0){
38                 arr[x]*=2;
39             }
40         }
41     }
42 }

 

以上是关于43 Java语言基础思考题Java中的参数传递问题的主要内容,如果未能解决你的问题,请参考以下文章

C#中方法中的参数传递

java方法参数接收是值与引用的思考

java方法参数接收是值与引用的思考

Java的参数传递是「按值传递」还是「按引用传递」?

Java中的参数传递

Java基础 | Java变量的特殊传递机制和实现细节