中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      詳解Java語(yǔ)言中的參數(shù)傳遞

      時(shí)間:2024-09-01 13:52:17 計(jì)算機(jī)應(yīng)用 我要投稿
      • 相關(guān)推薦

      詳解Java語(yǔ)言中的參數(shù)傳遞

        導(dǎo)語(yǔ):和其它程序設(shè)計(jì)語(yǔ)言類似,Java語(yǔ)言的參數(shù)傳遞也分為兩種,下面就由小編為大家介紹一下詳解Java語(yǔ)言中的參數(shù)傳遞,希望對(duì)大家有所幫助!

        1.按值傳遞(by value)

        適用范圍:8種基本數(shù)據(jù)類型、String對(duì)象

        特點(diǎn):在內(nèi)存中復(fù)制一份數(shù)據(jù),把復(fù)制后的數(shù)據(jù)傳遞到方法內(nèi)部

        作用:在方法內(nèi)部改變參數(shù)的值,外部數(shù)據(jù)不會(huì)跟著發(fā)生改變

        2.按址傳遞(by address)

        適用范圍:數(shù)組、除String以外的其他所有類型的對(duì)象

        特點(diǎn):將對(duì)象的地址傳遞到方法內(nèi)部

        作用:在方法內(nèi)部修改對(duì)象的內(nèi)容,外部數(shù)據(jù)也會(huì)跟著發(fā)生改變

        基礎(chǔ)示例代碼:

        public class Test1{

        public static void t1(int n){

        n = 10;

        }

        public static void t2(String s){

        s = "123";

        }

        public static void t3(int array){

        array[0] = 2;

        }

        public static void main(String args){

        int m = 5;

        1(m);

        System.out.println(m);

        String s1 = "abc";

        t2(s1);

        System.out.println(s1);

        int arr = {1,2,3,4};

        t3(arr);

        System.out.println(arr[0]);

        }

        }

        按照上面的參數(shù)傳遞規(guī)則,該代碼的輸出結(jié)果應(yīng)該是:5 abc 2.因?yàn)閕nt類型是按值傳遞,所以把參數(shù)m傳遞到方法t1時(shí),相當(dāng)于又復(fù)制了一份m的值,在方法t1內(nèi)部修改的是復(fù)制后的值,所以m的值不變,s1的輸出和m類似。而arr是數(shù)組,屬于按址傳遞,也就是把a(bǔ)rr的地址傳遞到了方法t3內(nèi)部,在方法t3內(nèi)部修改數(shù)組中的值時(shí),原來(lái)的內(nèi)容也發(fā)生改變。|||

        以上特性是Java語(yǔ)言中的規(guī)定,在語(yǔ)法上無(wú)法指定參數(shù)傳遞是按值傳遞還是按址傳遞,但是可以通過下面的變換實(shí)現(xiàn):

        1.對(duì)于按值傳遞的參數(shù),如果需要在方法調(diào)用以后修改參數(shù)的值,可以利用返回值來(lái)實(shí)現(xiàn);對(duì)于按值傳遞的參數(shù),如果需要在方法內(nèi)部修改時(shí)原來(lái)的參數(shù)不改變,則可以在方法內(nèi)部重新創(chuàng)建該對(duì)象實(shí)現(xiàn)。

        示例代碼

        public class Test2{

        public static int t1(int n){

        n = 10;

        return n;

        }

        public static String t2(String s){

        s = "123";

        return s;

        }

        public static void t3(int array){

        //創(chuàng)建新的數(shù)組并賦值

        int newArray = new int[array.length];

        //數(shù)據(jù)拷貝

        System.arraycopy(array,0,newArray,0,array.length);

        newArray[0] = 2;

        }

        public static void main(String args){

        int m = 5;

        //重新賦值

        m = t1(m);

        System.out.println(m);

        String s1 = "abc";

        //重新賦值

        s1 = t2(s1);

        System.out.println(s1);

        int arr = {1,2,3,4};

        t3(arr);

        System.out.println(arr[0]);

        }

        }

        這樣,程序的輸出結(jié)果就將是:10 123 1.

        在實(shí)際的程序開發(fā)中,可以根據(jù)需要使用類似的結(jié)構(gòu)來(lái)進(jìn)行實(shí)現(xiàn)。

        下面再介紹一個(gè)參數(shù)傳遞的常見應(yīng)用,利用參數(shù)傳遞實(shí)現(xiàn)返回值,這樣的功能在IO類設(shè)計(jì)的read方法中大量使用。

        示例代碼

        public class Test3{

        public static void initArray(int array){

        for(int i = 0;i < array.length;i++){

        array[i] = i;

        }

        }

        public static void main(String args){

        int a = new int[10];

        initArray(a);

        for(int i = 0;i < a.length;i++){

        System.out.println(a[i]);

        }

        }

        }

        在該示例代碼中,在initArray方法內(nèi)部修改了數(shù)組的值以后,外部數(shù)組a的值也會(huì)發(fā)生改變,間接實(shí)現(xiàn)了返回值的效果。當(dāng)然,在該示例代碼中,因?yàn)橹环祷匾粋(gè)參數(shù),所以作用體現(xiàn)的不明顯,如果需要返回多個(gè)參數(shù)時(shí),使用按址傳遞是一種不錯(cuò)的主意。

      【詳解Java語(yǔ)言中的參數(shù)傳遞】相關(guān)文章:

      Java語(yǔ)言中的流程控制07-09

      java jar 命令行參數(shù)06-04

      2016最新java classloader詳解08-11

      Java基礎(chǔ)知識(shí)詳解09-02

      ASP 游標(biāo)參數(shù)詳解記錄集07-21

      筆記本SDR內(nèi)存參數(shù)詳解05-18

      java命令行參數(shù)解析201608-12

      Java命令參數(shù)說明大全10-17

      2016年java編譯命令詳解09-27

      C語(yǔ)言中32個(gè)關(guān)鍵字詳解09-11

      主站蜘蛛池模板: 久久综合给合久久狠狠狠9| 99久久久国产精品丝袜| 粉嫩国产白浆在线播放| 国产真实乱XXXⅩ视频| 稷山县| 亚洲乱码中文字幕综合| 新竹县| 产精品无码久久_亚洲国产精 | 日韩人妻系列在线视频| av天堂在线视频播放| 偷拍自拍视频一区二区三区| 日本一区二区三区啪啪| 苏尼特右旗| 枣阳市| 日本二区视频在线观看| 亚洲中文一本无码AV在线无码| 国产区高清在线一区二区三区| 久久免费网站91色网站| 国产精品亚洲A∨无码遮挡| 盐津县| 99久久久国产精品系列| 亚洲精品综合在线影院| 色就色中文字幕在线视频| 精品日韩欧美| 日韩人妻精品一区二区在线推荐 | 人妻少妇看A偷人无码电影| 午夜国产精品视频在线| 国产欧美日韩图片一区二区| 国内自拍第一区二区三区| 日韩国产欧美成人一区二区影院| 日韩精品永久免费播放平台| 亚洲国产成人久久综合三区| 亚洲一区二区在线免费观看视频| 国产一区中文字幕手机在线| 成人小视频在线观看播放| 大名县| 亚洲人成网站18男男| 国产喷白浆精品一区二区| 亚洲av永久无码精品成人| 青青草极品视频在线播放 | 久久国产成人高清精品亚洲|