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

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

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

    工作小驛

    Ninja!

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      103 Posts :: 0 Stories :: 36 Comments :: 0 Trackbacks
          今天我們講個不一樣的概念――數組,數組也沒什么不好理解的,就是一組數。不過這組數有點特性。今天我們的任務就是,了解這個有特性的這組數。下面我們具體講一下它有哪些特性:

    1、數組中的元素是同一類型。數組的長度在創建時確定,并且在創建后不變。解釋一下 聲明一個數組 int i[5]; 這就是int類型,名字叫i的數組。里面的數都必須是int類型。并且長度在創建時確定了是5。

         2、在java語言中,數組就是一個對象,所以創建數組與創建對象一樣也是用new關鍵字來創建。舉個例子,s = new char[20]; p = new Point[50];

         3、數組在被創建后,其元素被系統自動初始化了。字符元素被初始化為‘\u0000’,而對于對象數組都被初始化為null。 如果你不初始化的話,在內存是找不到它的位置的。

         4、數組中的第一元素記做第0個,i[0]是數組i 的第一個元素。

         說了這么些,我們還是得練練啊

    實踐:

    public class TestArrays {

      public static void main(String[] args) {

        // 第1,2步: 聲明并初始化數組變量

        int[]  array1 = { 2, 3, 5, 7, 11, 13, 17, 19 };

        int[]  array2;



        // 第3步: 顯示數組初始化值

        System.out.print("array1 is ");

        printArray(array1);

        System.out.println();

        // 第4步: array2引用array1

        array2 = array1;

        // 更改array2

        array2[0] = 0;

        array2[2] = 2;

        array2[4] = 4;

        array2[6] = 6;

        // 打印array1

        System.out.print("array1 is ");

        printArray(array1);

        System.out.println();

        // 第5步: 聲明一個整數類型的二維數組

        int[][] matrix = new int[5][];

        // 第6步: 將這個矩陣構成三角形

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

          matrix[i] = new int[i];

          for ( int j = 0; j < i; j++ ) {

           matrix[i][j] = i * j;

          }

        }

        // 第7步打印矩陣

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

          System.out.print("matrix[" + i + "] is ");

          printArray(matrix[i]);

          System.out.println();

        }

      }

      public static void printArray(int[] array) {

        System.out.print('<');

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

          // 打印一個元素

          System.out.print(array[i]);

          // 輸出最后一個元素的時候不輸出逗號

          if ( (i + 1) < array.length ) {

           System.out.print(", ");

          }

        }

        System.out.print('>');

      }

    }  此源碼和其它例子打包下載
    http://www.100jq.com/upload/2007_07/07070716584024.rar

        在jdk5.0中,我們發現了一些更簡單的方法,打印一維數組時,用toString(array)方法,

    打印二維數組時,用deepToString(array)方法。這樣的話就剩了我們又是循環又是判斷的。我們看個例子吧:實踐:

    import java.util.Arrays;

    public class ArraysTester {

      private int[] ar;



      public ArraysTester(int numValues) {

        ar = new int[numValues];

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

          ar[i] = (1000 - (300 + i));

        }

      }

      public int[] get() {

        return ar;

      }

      public static void main(String[] args) {

        ArraysTester tester = new ArraysTester(50);

        int[] myArray = tester.get();

        // 比較兩個數組

        int[] myOtherArray = tester.get().clone();

        if (Arrays.equals(myArray, myOtherArray)) {

          System.out.println("這兩個數組是相等的!");

        } else {

          System.out.println("這兩個數組是不相等的!");

        }

        // 填上一些值

        Arrays.fill(myOtherArray, 2, 10, new Double(Math.PI).intValue());

        myArray[30] = 98;

        // 打印數組

        System.out.println("這是一個未排序的數組...");

        System.out.println(Arrays.toString(myArray));

        System.out.println();

        // 數組排序

        Arrays.sort(myArray);    

        // 打印被排序的數組 用toString()

        System.out.println("這是一個被排序的數組...");

        System.out.println(Arrays.toString(myArray));

        System.out.println();



        // 得到特殊值的索引

        int index = Arrays.binarySearch(myArray, 98);

        System.out.println("98 被定位在第 " + index + "個位置上");



        String[][] ticTacToe = { {"X", "O", "O"},

                                 {"O", "X", "X"},

                                 {"X", "O", "X"}};

        //打印二維數組用deepToString()

        System.out.println(Arrays.deepToString(ticTacToe));

        String[][] ticTacToe2 = { {"O", "O", "X"},

                                  {"O", "X", "X"},

                                  {"X", "O", "X"}};

        String[][] ticTacToe3 = { {"X", "O", "O"},

                                  {"O", "X", "X"},

                                  {"X", "O", "X"}};

        if (Arrays.deepEquals(ticTacToe, ticTacToe2)) {

          System.out.println("Boards 1 和 2 相等.");

        } else {

          System.out.println("Boards 1 和 2 不相等.");

        }

        if (Arrays.deepEquals(ticTacToe, ticTacToe3)) {

          System.out.println("Boards 1 和 3 are 相等.");

        } else {

          System.out.println("Boards 1 和 3 are 不相等.");

        }

      }

    }此源碼和其它例子打包下載
    http://www.100jq.com/upload/2007_07/07070716584024.rar
    posted on 2007-07-09 08:18 王君 閱讀(321) 評論(2)  編輯  收藏 所屬分類: J2SE

    Feedback

    # re: 全新java初學者實踐教程9(java SE5.0版)----jdk5的數組 2007-07-10 11:53 Persuse3
    這是百家拳軟件項目研究室,的原創教程,看全部教程請訪問
    <a href="http://www.100jq.com/list.aspx?cid=11">
    http://www.100jq.com/list.aspx?cid=11</a>  回復  更多評論
      

    # re: 全新java初學者實踐教程9(java SE5.0版)----jdk5的數組 2007-07-10 11:53 Persuse3
    http://www.100jq.com/list.aspx?cid=11  回復  更多評論
      

    主站蜘蛛池模板: 韩国18福利视频免费观看| 亚洲人成免费电影| 免费日韩在线视频| 亚洲av成人一区二区三区观看在线| 黄色网址免费大全| 亚洲午夜无码毛片av久久京东热| 青苹果乐园免费高清在线| 亚洲一区中文字幕在线电影网 | 亚洲精品乱码久久久久久中文字幕| 国产成人 亚洲欧洲| 亚洲国产一级在线观看 | 国产一级淫片a免费播放口| 国产日韩成人亚洲丁香婷婷| 成人精品视频99在线观看免费| 亚洲精品无码久久久久sm| 久久久久久国产精品免费免费男同 | 精品在线视频免费| 亚洲国产精品人人做人人爱| 成人毛片100免费观看| 久久久久久亚洲精品成人| 无码国产精品一区二区免费式直播| 亚洲AV色吊丝无码| 国产精品国产自线拍免费软件| 国产精品亚洲а∨天堂2021| 亚洲线精品一区二区三区| 18禁黄网站禁片免费观看不卡| 亚洲老熟女五十路老熟女bbw | 亚洲人成在线电影| 好吊妞788免费视频播放| jizz18免费视频| 久久精品国产亚洲av日韩| 免费精品一区二区三区在线观看| 曰批全过程免费视频观看免费软件| 亚洲av伊人久久综合密臀性色| 91精品免费久久久久久久久| 亚洲精品V天堂中文字幕| 亚洲人精品午夜射精日韩| 久久久久国色AV免费观看性色| 伊人久久国产免费观看视频| 亚洲免费精彩视频在线观看| 美女被免费视频网站a国产|