java数据传参数与传值

参考:alex_lo的博客,网址:http://www.cnblogs.com/alexlo/p/3493755.html

Java基本数据类型有:byte8,short16,int32,long64,float32,double64,cha16,boolean1

1 基本数据类型,只传值


    public class TestFun {  
    public static void testInt(int i){  
    i=5;                                              //i先等于0,之后赋值为5
    }  
    public static void main(String[] args) {  
    int a=0 ;  
    TestFun.testInt(a);  
    System.out.println("a="+a);  
    }  
    } 

输出仍为0,其为基本数据类型,传递的只是一个副本(字面量引用变量的副本),因此方法针对副本的修改不会影响数据本身。


2 对象传递,引用的对象

public class Example2
  {  
    static void check(StringBuffer obj)
      { 
         obj.append(“JAVA”);
      }
      public static void main(String[]args)
      { 
         StringBuffer x=new StringBuffer(“Hello   ”);
         check(x);
         System.out.println(“Example2.x=”+x);
      }
  }
输出为Hello JAVA

此为对象(String,StringBuffer,类对象引用,接口引用和数组等)的传参:传递的是该数据对象的某个引用变量而不是对象内容本身,传入后都对引用内容进行修改,这样可以修改引用的内容。

3

Public class Example3
 {    
    static void check(String obj)
     { 
       obj=“JAVA”;
     }
     public static void main(String[]args)
    { 
       String x=”Hello   ”;
       check(x);
       System.out.println(“Example3.x=”+x);
   }
}
输出为Hello

都是引用,但String是final不可变的,其类型对象不可变,则不会通过引用该对象进行任何改变。



 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值