<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 241,  comments - 116,  trackbacks - 0
    1,一直都在學(xué)java是沒有指針的,讓我糾結(jié)的是java指針確實是存在的,java數(shù)組就是真正的指針。
    以為C語言老師說過C語言里數(shù)組就是指針,但是我感覺這句話用在C語言里不是很嚴(yán)謹(jǐn),而用在java里是很恰當(dāng)?shù)摹語言里的數(shù)組是常指針。
    package com.tarena.day05;

    import java.util.Arrays;

    public class Point {

        /**
         *java 指針演示
         */
        static final int arr4[] = { 8, 3, 5, 1, 4, 2, 7 };
        public static void main(String[] args) {
            //1, 靜態(tài)初始化與動態(tài)初始化的原理是一樣的
            int[] arr = { 8, 3, 5, 1, 4, 2, 7 };// 靜態(tài)初始化
            int[] arr2 = new int[] { 8, 3, 5, 1, 4, 2, 7 };// 動態(tài)初始化
            // 因為創(chuàng)建數(shù)組的原理是一樣的,都是在堆空間里申請內(nèi)存并賦值,所以使用也沒有去別
            arr[0] = 0;//arr = [0, 3, 5, 1, 4, 2, 7]
            arr2[0] = 0;//arr2 = [0, 3, 5, 1, 4, 2, 7]
            
            //2,java數(shù)組名就是指針
            //論據(jù)1 使用指針修改原來數(shù)組的值
            int[] arr3 = arr;// arr3 就是java的指針了 相當(dāng)于 C語言的 int *arr3 = arr;指針arr3指向arr的地址
            arr3[1] = 0;//使用arr3指針修改arr的1號地址的值,
            System.out.println(Arrays.toString(arr));// 這時arr = [0, 0, 5, 1, 4, 2, 7]
            //論據(jù)2 使用指針指向新數(shù)組的值
            arr = a();// arr = [2, 1] arr的地址指向了方法a中的變量a在堆空間申請的地址。arr3仍然指向arr的原地址
            System.out.println(Arrays.toString(arr));// [2, 1]
            System.out.println(Arrays.toString(arr3));// [0, 3, 0, 1, 4, 2, 7]
            //論據(jù)3 引用傳址
            swap(arr,0,1);
            System.out.println(Arrays.toString(arr));// [1, 2]
            /*
             * 因此java數(shù)組做參數(shù)是引用傳址而不是值拷貝,所以說java的數(shù)組是指針
             */
            
            //論據(jù)4 java數(shù)組不是數(shù)組
            /*
             * c中的數(shù)組指向的地址是不能改變的,而c中的指針是可以改變的,然而java的數(shù)組恰恰可以改變指向的地址
             * 所以可以說明java數(shù)組就是c指針。
             * 某位老師說過c數(shù)組就是指針其實這樣說并不嚴(yán)謹(jǐn),嚴(yán)格說c數(shù)組是常指針,因為c數(shù)組的地址是不能改變的。
             */
            
            //論據(jù)5 java數(shù)組可以有常指針但沒有常量
            /*
             * 雖然arr4是常指針,但是arr4據(jù)有指針的性質(zhì),所以arr4里的值是可以改變的。
             */
            arr4[0] = 0;//編譯通過 數(shù)組的值不是常量
    //        arr4 = arr;//此處編譯不通過 指針arr4是常指針不可以指向新地址。
            /*
             * 以上說明java的數(shù)組就是指針,所以數(shù)組按照指針用是完全可以的。包括,引用傳址,修改堆空間的值,指向新地址等。
             */
        }
        public static void swap(int a[],int i,int j)
    生活歷程
        {
            int t = a[i];
            a[i] = a[j];
            a[j] = t;
        }
        public static int[] a() {
            int[] a = { 2, 1 };
            return a;
        }

    }
    posted on 2011-10-18 10:03 墻頭草 閱讀(2783) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    人人游戲網(wǎng) 軟件開發(fā)網(wǎng) 貨運專家
    主站蜘蛛池模板: 人人玩人人添人人澡免费| 成人久久久观看免费毛片| 国产精品免费无遮挡无码永久视频 | 黄色三级三级三级免费看| 日韩视频在线免费| 亚洲AV成人无码久久WWW| 国产成人高清精品免费软件| 亚洲一区二区三区成人网站| 成人黄页网站免费观看大全| 亚洲国产日韩精品| 免费国产在线观看老王影院| 国产精品久久久久久亚洲影视| 成人激情免费视频| 国产精品亚洲色婷婷99久久精品| 日本xxwwxxww在线视频免费| 欧美激情综合亚洲一二区| 免费a在线观看播放| a级毛片免费高清视频| 亚洲色欲久久久综合网东京热| 在线毛片片免费观看| 亚洲精品视频在线免费| 99久久综合国产精品免费| 亚洲成在人线在线播放无码| 免费久久精品国产片香蕉| 在线免费观看伊人三级电影| 亚洲天堂在线播放| 成全视频免费高清| 男女一边摸一边做爽的免费视频 | 毛片网站免费在线观看| 日韩亚洲翔田千里在线| 国产成人精品久久亚洲高清不卡 | 最新亚洲成av人免费看| 亚洲av极品无码专区在线观看| 啦啦啦www免费视频| 成人在线免费视频| 亚洲精品视频免费看| 亚洲?V无码乱码国产精品| 一区二区三区观看免费中文视频在线播放 | h视频在线免费观看| 亚洲福利一区二区精品秒拍| 国产精品jizz在线观看免费|