日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Java值傳遞之swap()方法不能交換的解決

瀏覽:16日期:2022-08-23 15:00:42

自己寫了一個(gè)Swap測(cè)試類,代碼如下:

swap不能交換原生數(shù)據(jù)類型以及字符串類型。

public class Swap5{ public static void main(String[] args) { // String x = 'x111'; // String y = 'y111'; String x = new String('x111'); String y = new String('y111'); swap(x, y); System.out.println(x); System.out.println(y); } public static void swap(String a, String b) { String temp = a; a = b; b = temp; }}

運(yùn)行結(jié)果:java Swap5

x111

y111

疑惑:注釋部分不能交換可以理解為x和y生成在字符串池中,但是String x = new String(“x111”);應(yīng)該是生成在堆中,是引用對(duì)象,但為什么交換不了?

public class Swap{ public static void main(String[] args) { int c = 3; int d = 5; swap(c, d); System.out.println('c: ' + c + ' d: ' + d); } public static void swap(int a, int b) { int temp = a; a = b; b = temp; }}

運(yùn)行結(jié)果:

java Swap

c: 3 d: 5

為什么調(diào)用swap()方法后并沒有交換c、d的值呢,因?yàn)閖ava只有值傳遞(沒有引用傳遞),所以其實(shí)調(diào)用swap()時(shí)是把值賦給a、b,賦完后與c、d就沒什么關(guān)系,c、d還是原來的值。其實(shí)就是值傳遞。不理解的話回去看看值傳遞。

但是這樣用數(shù)組改寫后便可實(shí)現(xiàn)交換功能了:

public class Swap5{ public static void main(String[] args) { int[] i = {3, 5}; swap(i); System.out.println(i[0]); System.out.println(i[1]); } public static void swap(int[] a) { int temp = a[0]; a[0] = a[1]; a[1] = temp; }}

運(yùn)行結(jié)果:

5

3

總結(jié):

引用類型才可以交換。因?yàn)樵鷶?shù)據(jù)類型是直接賦值,而引用類型直接賦的是地址,地址指向的是同一個(gè)對(duì)象,所以能改變。

補(bǔ)充知識(shí):Java參數(shù)值傳遞 swap(a,b)--如何交換a、b的值

首先明白Java的數(shù)據(jù)類型分為兩種:基本數(shù)據(jù)類型 和 引用數(shù)據(jù)類型

Java值傳遞之swap()方法不能交換的解決

java中的參數(shù)傳遞機(jī)制:值傳遞

形參是基本數(shù)據(jù)類型的,將實(shí)參的值傳遞給形參的基本數(shù)據(jù)類型的變量

形參是引用數(shù)據(jù)類型的,將實(shí)參的引用類型變量的值(對(duì)象的首地址)傳遞給形參

二者的概念:

1)基本類型:簡(jiǎn)單數(shù)據(jù)類型是不能簡(jiǎn)化的、內(nèi)置的數(shù)據(jù)類型、由編程語言本身定義,它表示了真實(shí)的數(shù)字、字符和整數(shù)。

2)引用數(shù)據(jù)類型:Java語言本身不支持C++中的結(jié)構(gòu)(struct)或聯(lián)合(union)數(shù)據(jù)類型,它的復(fù)合數(shù)據(jù)類型一般都是通過類或接口進(jìn)行構(gòu)造,類提供了捆綁數(shù)據(jù)和方法的方式,同時(shí)可以針對(duì)程序外部進(jìn)行信息隱藏。

Java數(shù)據(jù)類型在內(nèi)存中的存儲(chǔ):

1)基本數(shù)據(jù)類型的存儲(chǔ)原理:所有的簡(jiǎn)單數(shù)據(jù)類型不存在“引用”的概念,基本數(shù)據(jù)類型都是直接存儲(chǔ)在內(nèi)存中的內(nèi)存棧上的,數(shù)據(jù)本身的值就是存儲(chǔ)在棧空間里面,而Java語言里面八種數(shù)據(jù)類型是這種存儲(chǔ)模型;

2)引用類型的存儲(chǔ)原理:引用類型繼承于Object類(也是引用類型)都是按照J(rèn)ava里面存儲(chǔ)對(duì)象的內(nèi)存模型來進(jìn)行數(shù)據(jù)存儲(chǔ)的,使用Java內(nèi)存堆和內(nèi)存棧來進(jìn)行這種類型的數(shù)據(jù)存儲(chǔ),簡(jiǎn)單地講,“引用”是存儲(chǔ)在有序的內(nèi)存棧上的,而對(duì)象本身的值存儲(chǔ)在內(nèi)存堆上的;

區(qū)別:基本數(shù)據(jù)類型和引用類型的區(qū)別主要在于基本數(shù)據(jù)類型是分配在棧上的,而引用類型是分配在堆上的(需要java中的棧、堆概念),

那么如何交換兩個(gè)數(shù)值呢?

那么可以傳遞引用類型的數(shù)據(jù),如對(duì)象或者數(shù)組,下面是傳遞的數(shù)組:

public class Swap5{ public static void main(String[] args) { int[] i = {3, 5}; swap(i); System.out.println(i[0]); System.out.println(i[1]); } public static void swap(int[] a) { int temp = a[0]; a[0] = a[1]; a[1] = temp; }}

以上這篇Java值傳遞之swap()方法不能交換的解決就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
蜜臀av一区二区三区| 久久99国产精品视频| 久久久久.com| 国产综合色区在线观看| 色综合www| 欧美色图一区| 亚洲欧美激情诱惑| 亚州欧美在线| 欧美午夜三级| 美女精品一区二区| 日韩欧美精品综合| 婷婷丁香综合| 亚洲va在线| 亚洲精品123区| 亚洲精品一级| 国产精品777777在线播放| 精品中文字幕一区二区三区四区| 精品一区二区三区四区五区| 久久影院午夜精品| 欧美中文字幕一区二区| 国产美女精品| 日韩专区视频网站| 国产伦乱精品| 色偷偷色偷偷色偷偷在线视频| 亚洲成人精品| 在线精品亚洲| 国产香蕉精品| 国产一区二区三区网| 亚洲大片在线| 亚洲精品少妇| 老牛国内精品亚洲成av人片| 欧美sm一区| 亚洲色诱最新| 国产精品红桃| 国产一区二区三区自拍| 日本欧美一区二区在线观看| 天堂av在线| 视频一区二区三区入口| 国产精品久久亚洲不卡| 88xx成人免费观看视频库| 视频在线观看91| 麻豆免费精品视频| 激情婷婷亚洲| 国产日产一区| 久久久人人人| 欧美亚洲综合视频| 99精品视频精品精品视频| 日日夜夜免费精品视频| 久久久久免费| 亚洲精品高潮| 亚洲最新无码中文字幕久久| 老牛影视一区二区三区| 久久久91麻豆精品国产一区| 免费av一区| 国产人成精品一区二区三| 激情综合亚洲| 国产极品久久久久久久久波多结野 | 97精品国产99久久久久久免费| 国产精品蜜芽在线观看| 日韩一区二区三区精品视频第3页| 国产一区二区三区精品在线观看 | 日韩专区一卡二卡| 国内精品麻豆美女在线播放视频| 中文欧美日韩| 欧美日韩在线观看首页| 青青草91视频| 伊人久久婷婷| 国产一区二区三区不卡视频网站| 国产偷自视频区视频一区二区| 国产精品久久久久久妇女| 国产亚洲毛片在线| zzzwww在线看片免费| 97成人在线| 国产精品免费看| 日韩一区二区三区免费播放| 欧美日韩中出| 首页国产欧美久久| 日韩精品午夜| 麻豆高清免费国产一区| 日本亚洲视频在线| 伊人成人网在线看| 丝袜美腿诱惑一区二区三区| 美女精品一区二区| 最近国产精品视频| 一区二区三区视频免费观看| 国产一区二区三区亚洲综合| 日本麻豆一区二区三区视频| 性欧美长视频| 欧美日韩国产一区精品一区| 亚洲欧洲美洲av| 久久精品资源| 久久激情综合网| 蜜桃久久av一区| 成人av二区| 日本а中文在线天堂| 欧美韩一区二区| 日韩av不卡一区二区| 亚洲一区二区三区无吗| 久久国产精品成人免费观看的软件| 国产精品1luya在线播放| 日韩av资源网| 中文字幕亚洲在线观看| 亚洲神马久久| 午夜国产精品视频免费体验区| 精精国产xxxx视频在线野外| 精品不卡一区| 美女精品久久| 欧美交a欧美精品喷水| 欧美日一区二区在线观看| 日韩精品欧美成人高清一区二区| 亚洲一区国产一区| 国产精品丝袜xxxxxxx| 亚洲激情中文在线| 亚洲h色精品| 午夜av成人| 久久亚洲在线| 欧美不卡视频| 不卡在线一区| 亚洲在线观看| 综合一区二区三区| 日韩国产在线不卡视频| 欧美欧美黄在线二区| 国产精品一国产精品k频道56| 国产乱码精品一区二区亚洲| 国产精品极品在线观看| 精品视频国内| 久久男人av资源站| 日韩在线免费| 欧美sss在线视频| 亚洲高清成人| 国产精品91一区二区三区| 夜夜嗨一区二区| 最新亚洲国产| 欧美日一区二区三区在线观看国产免| 国产亚洲久久| 精品一区二区三区在线观看视频| 久久丁香四色| 国产成人精品一区二区免费看京 | 日韩1区2区日韩1区2区| 国产欧美三级| 精品免费视频| 蜜桃视频在线网站| 欧美一区二区三区激情视频| 亚洲一区日韩在线| 亚洲精品在线二区| 国产精品麻豆成人av电影艾秋| 精品国产黄a∨片高清在线| 日韩专区精品| 性欧美长视频| 91午夜精品| 久久久久久网| 亚洲少妇自拍| 国产女人18毛片水真多18精品| 欧美激情日韩| 成人羞羞在线观看网站| 亚洲欧美激情诱惑| 国产亚洲一区| 成人小电影网站| 日韩一区二区免费看| 亚洲欧美一级| 久久精品国产999大香线蕉| 日韩一区二区三区免费播放| 亚洲综合二区| 欧美激情亚洲| 欧美.日韩.国产.一区.二区 | 日韩午夜在线| 视频精品一区| 久久精品网址| 91成人超碰| 欧美日韩一区二区三区不卡视频 | 国产精品一站二站| 欧美gv在线| 人人精品人人爱| 欧美1区二区| 黄色亚洲精品| 国产极品模特精品一二| 米奇777超碰欧美日韩亚洲| 婷婷综合成人| 在线手机中文字幕| 美女精品在线观看| 精品一区视频| 久久av在线| 高清av一区| 一区二区三区四区日韩| 精品久久国产一区| 日韩影院精彩在线| 精品不卡一区| 在线看片不卡| 久久精品理论片| 亚洲视频国产精品| а√天堂中文在线资源8| 视频一区二区三区入口| 中文在线а√在线8| 日本不卡高清| 成年男女免费视频网站不卡| 日韩高清成人在线| 成人av二区| 精品国产美女a久久9999| 蜜桃视频第一区免费观看| 超碰99在线|