日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java中参数存储_Java中函数参数传递和数据存储

發(fā)布時間:2025/4/16 java 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中参数存储_Java中函数参数传递和数据存储 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

值傳遞是將要傳遞的值作為一副本傳遞的..

引用傳遞,傳遞的是引用對象的內存地址..

例如:

int i=4;

int j=i; ? //相當于把4復制了一個副本賦給了j

輸出結果是i=4 ,j=4

C

int *p,*p1;

int j=5;

p=j; ? ?//這里是把j在內存當中的地址賦給了指針p

p1=p; ? //這里是把指針p中保存的地址(就是j的地址)賦給了指針p1

j=4; ? ?//這里改變j的值

輸出結果是 ?j=4 ?, ?*p=4 ?, ?*p1=4 ?//因為p和p1指向的都是j ?所以他們的值隨j值改變

(以上說明和代碼來自http://zhidao.baidu.com/question/31191252.html)

Java中函數參數的傳遞是值傳遞還是引用傳遞?

Java中參數傳遞時傳遞到函數中的參數都是原變量的一份拷貝,對于非類類型如int,float等,這份拷貝自然和原變量脫離了關系,這不難理解;

而對于類的實例而言,這份拷貝恰巧是實例引用的拷貝,它(參數)指向的實例地址和原實例引用指向的實例地址都是一樣的,因此對參數的修改有時也會影響到實 例本身,故此造成了Java傳遞類實例是傳遞的引用即地址的假象,如下面例子中的changeMemberField函數,但是我們把參數指向的地址改到 別的實例上時,如changeMember函數,我們會發(fā)現參數和原實例引用再也不會發(fā)生關系了,這里證明Java中參數傳遞是完完全全是傳值而不是傳 址。

例子代碼:

代碼:

package?com.sitinspring;

public?class?ChangeClass{

public?void?changeInt(int?i){

i=5;

}

public?void?changeLong(long?i){

i=555;

}

public?void?changeString(String?str){

str="5555";

}

public?void?changeMember(Member?member){

member=new?Member("Cindy",35);

}

public?void?changeMemberField(Member?member){

member.setAge(20);

member.setName("Andy");

}

public?static?void?main(String[]?args){

ChangeClass?changeClass=new?ChangeClass();

int?intValue=10;

changeClass.changeInt(intValue);

System.out.println(intValue);

long?longValue=10;

changeClass.changeLong(longValue);

System.out.println(longValue);

String?stringValue="1234";

changeClass.changeString(stringValue);

System.out.println(stringValue);

Member?member2=new?Member("Douglas",45);

changeClass.changeMember(member2);

System.out.println(member2);

Member?member=new?Member("Bill",25);

changeClass.changeMemberField(member);

System.out.println(member);

}

}

package?com.sitinspring;

public?class?Member{

private?String?name;

private?int?age;

public?Member(String?name,int?age){

this.age=age;

this.name=name;

}

public?String?toString(){

return?"Member?name="+name+"?age="+age;

}

public?int?getAge()?{

return?age;

}

public?void?setAge(int?age)?{

this.age?=?age;

}

public?String?getName()?{

return?name;

}

public?void?setName(String?name)?{

this.name?=?name;

}

}

輸出:

10101234Member name=Douglas age=45Member name=Andy age=20

解釋:

第一個輸出10是因為int是基本類型,傳遞的參數是intValue的拷貝,對拷貝的修改對原值intValue沒有影響.

第一個輸出10和上面是一個道理.

第三個輸出1234.由于String是類類型, str是stringValue的地址拷貝,參數str指向的地址和stringValue的一致,但在函數changeString 中,由于String的特殊性, str=“5555”和str=new String(“5555”)是等價的, str指向了新的”5555”所在的地址,此句后str就與原來的stringValue徹底脫離了聯(lián)系.

第四個輸出Member?name=Douglas?age=45的道理和上面相同.

第五個輸出Member?name=Andy?age=20是因為changeMemberField函數中修改了參數member 的值,也就是修改member指向實例的值,而這個實例正是member指向的值,因此member就變成了name=Andy 且age=20.

結論

Java中參數傳遞的都是值,對應基本類型,傳遞的是原值的拷貝;對于類類型,傳遞的是引用即地址的拷貝.

對于函數對參數的改變是否會影響原值的問題:值類型自然不會影響到原值.而對于類類型要看改變的是參數的地址還是值,如果是前者,參數和原引用指向了不同的地址,它們自然脫離了關系;如果是后者,修改的實例就是原引用指向的實例,這當然對原值進行了修改.

java的數據類型分為兩種:基本類型和引用類型。

引用類型分為下面幾種:類類型(class,interface,enum,annotation)和數組類型

java數據類型圖:

┏數值型━┳━整數型:byte?short?int?long

┏基本數據類型━━┫??????????????┗━浮點型:float?do

┃????????????????┣字符型:char

數據類型╋??????????????????????┗布爾型:boolean

┃????????????????┏類(class)

┗引用數據類型━━╋接口(interface)

┗數組(array)

數組是引用類型,創(chuàng)建的是對象,如:int[]?a?=?new?int[5];則說明a是int型數組對象。其實“一切皆對象”。

參考文章:

總結

以上是生活随笔為你收集整理的java中参数存储_Java中函数参数传递和数据存储的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美日韩人妻精品一区 | 俺也来俺也去俺也射 | 国产成人aⅴ | 国产视频精品久久 | 欧美精品一区二区三区在线 | 国产原创视频 | 精品国产乱码久久久久久鸭王1 | www.婷婷色 | 日韩久久成人 | 成人欧美一区二区三区在线观看 | 黄色片99| 法国空姐电影在线 | 国精产品一区一区三区免费视频 | 亚欧洲精品在线视频 | 中文字幕乱码人妻二区三区 | 无码国产精品高潮久久99 | 欧美久久久久久久久久久 | 欧美理论在线 | 久久久久久久久久福利 | 亚洲日日日 | 国产精品www在线观看 | 村上里沙番号 | 日韩手机看片 | 久月婷婷 | 美女啪啪一区二区 | 欧美色视 | 天天操天天操天天操天天 | 老女人丨91丨九色 | 亚洲免费视频一区二区 | 国产精品主播 | 亚瑟av| 一区二区精品 | 免费性情网站 | 久久一区精品 | 成人永久免费视频 | 国产精品jizz在线观看美国 | 成人免费高清视频 | 国产综合精品视频 | 国产精品电影一区二区 | 人妻换人妻a片爽麻豆 | 丝袜中文字幕 | 97超碰人人草 | 成人在线视频一区二区 | 亚洲中文无码久久 | 国产精品.com | 国产成人aaaa | 国产操比视频 | 成年人网站免费在线观看 | 亚洲精品视频久久 | 欧美日韩在线高清 | 特淫毛片 | 一区二区中文字幕 | 老湿机69福利区午夜x片 | 日韩色图片| 青娱网电信一区电信二区电信三区 | 青青久在线 | 日韩一级黄色片 | 国产成年无码久久久久毛片 | 欧美两根一起进3p做受视频 | 久久综合中文字幕 | 日本人做爰全过程 | 制服诱惑一区二区三区 | 日本亚洲天堂 | 亚洲精品国产免费 | 爱久久视频 | 亚洲天堂精品视频 | 男生插女生视频在线观看 | 亚洲精品88 | 天天天天天干 | 插我一区二区在线观看 | 久久精品无码一区 | 中文字幕在线2019 | 总裁边开会边做小娇妻h | 奇米四色影视 | 九九视屏| 亚洲二区中文字幕 | 在线不卡中文字幕 | 国产资源站| av在线不卡免费观看 | 国产手机在线播放 | 天天躁日日躁狠狠躁av麻豆 | 一本亚洲 | 成年人一级黄色片 | 国产激情一区二区三区在线观看 | 99精品福利视频 | 成人国产精品蜜柚视频 | 亚洲综合成人亚洲 | 久久久久久久久久久久久久久 | 日韩在线小视频 | 丁香六月婷婷激情 | 亚洲熟女一区二区 | 国产一级大片 | 亚洲av中文无码乱人伦在线观看 | 日本91网站 | 国产一区二区三区91 | 91丨九色丨海角社区 | 越南少妇做受xxx片 亚洲av综合色区无码一二三区 | 国产女同视频 | 狠狠操网址 |