• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            woaidongmao

            文章均收錄自他人博客,但不喜標題前加-[轉貼],因其丑陋,見諒!~
            隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
            數據加載中……

            新手入門:Java數組特點及基本使用技巧

            1.關于數組的特點

             

            1)在Java中,無論使用數組或容器,都有邊界檢查。如果越界操作就會得到一個RuntimeException異常。

             

            2)數組只能保存特定類型。數組可以保存基本類型,容器則不能。容器不以具體的類型來處理對象,它們將所有對象都按Object類型處理。

             

            3)容器類只能保存對象的引用。而數組既可以創建為直接保存基本類型,也可以保存對象的引用。在容器中可以使用包裝類,如IntegerDouble等來實現保存基本數據類型值。

             

            4)對象數組和基本類型數組在使用上幾乎是相同的;唯一的區別是對象數組保存的是引用,基本類型數組保存基本類型的值。

             

            2.關于數組定義

             

            1)數組在定義時,不能分配空間。只有定義完后,可以給數組分配空間。

             

            int num[];

             

            num=new int[3];

             

             

            int num[]=new int[3];

             

            注意

             

            int [] num=new int[]{1,2,3}; //ok

             

            int [] num=new int[3]{1,2,3}; //error;

             

            2)可以這樣定義二維數組。

             

            int [][] num;

             

            //or

             

            num=new int[3][];

             

            num[0]=new int[5];

             

            num[1]=new int[3];

             

            num[2]=new int[2];

             

            3)二維數組賦初值。

             

             

            int [][] num=new int[][]{1,2,3,4,5,5};         //error

            int [][] num=new int[][]{{1,2,3},{4,5,5}};  //ok

            int [][] num=new int[2][]{{1,2,3},{4,5,5}};       //error

            int [][] num={{1,2,3},{4,5,6}};          //ok

             

             

            3.關于數組初始化

             

            對象數組在創建之初會自動初始化成null,由原始數據類型構成的數組會自動初始化成零(針對數值類型),(Char)0 (針對字符類型)或者false (針對布爾類型)。

             

            4.數組有關引用的問題

             

            int[] a1 = { 1, 2, 3, 4, 5 };

             

            int[] a2;

             

            a2 = a1;//這里只是復制了一個引用

             

            看以下代碼:

             

             

            public class Arrays {

                public static void main(String[] args) {

                   int[] a1 = { 1, 2, 3, 4, 5 };

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

                       System.out.println("a1[" + i + "] = " + a1[i]);

                   int[] a2;

                   a2 = a1;

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

                       a2[i]++;

                   System.out.println("-----after change a2------");

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

                       System.out.println("a1[" + i + "] = " + a1[i]);

                   System.out.println("-----after change a2[0]------");

                   a2[0] = 333;

                   System.out.println("a2[0]=" + a2[0]);

                   System.out.println("a1[0]=" + a1[0]);

                   System.out.println("----- a2------");

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

                       System.out.println("a2[" + i + "] = " + a2[i]);

                }

            }

             

             

            結果:

             

            a1[0] = 1

             

            a1[1] = 2

             

            a1[2] = 3

             

            a1[3] = 4

             

            a1[4] = 5

             

            -----after change a2------

             

            a1[0] = 2

             

            a1[1] = 3

             

            a1[2] = 4

             

            a1[3] = 5

             

            a1[4] = 6

             

            -----after change a2[0]------

             

            a2[0]=333

             

            a1[0]=333

             

            ----- a2------

             

            a2[0] = 333

             

            a2[1] = 3

             

            a2[2] = 4

             

            a2[3] = 5

             

            a2[4] = 6

             

            數組a1a2始終在操作同一個對象。

             

            5.關于數組的相關操作

             

            1)在Java中,所有的數組都有一個缺省的屬性length,用于獲取數組中元素的個數。

             

            2)數組的復制:System.arraycopy()

             

            3)數組的排序:Arrays.sort()

             

            4)在已排序的數組中查找某個元素:Arrays.binarySearch()

             

            6.關于數組的排序操作

             

            1)對象數組排序,必須實現Comparable接口。

             

             

            import java.util.Arrays;

            class Student implements Comparable {

                int num;

                String name;

             

                Student(int num, String name) {

                   this.num = num;

                   this.name = name;

                }

             

                public String toString()// 重寫toString()方法,以便main:System.out.println(ss[i]);

                {

                   return "number=" + num + "," + "name=" + name;

                }

             

                public int compareTo(Object o) {

                   Student s = (Student) o;

                   return num > s.num ? 1 : (num == s.num ? 0 : -1);

                }

            }

             

            class ArrayTest {

                public static void main(String[] args) {

                   Student[] ss = new Student[] { new Student(1, "zhangsan"),

                          new Student(2, "lisi"), new Student(3, "wangwu") };

                   Arrays.sort(ss);

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

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

                   }

                }

            }

             

             

            結果:

             

            number=1,name=zhangsan

             

            number=2,name=lisi

             

            number=3,name=wangwu

             

            2)以num為第一關鍵字,name為第二關鍵字排序

             

             

            import java.util.Arrays;

             

            class Student implements Comparable {

                int num;

                String name;

             

                Student(int num, String name) {

                   this.num = num;

                   this.name = name;

                }

             

                public String toString() {

                   return "number=" + num + "," + "name=" + name;

                }

             

                public int compareTo(Object o) {

                   Student s = (Student) o;

                   int result = num > s.num ? 1 : (num == s.num ? 0 : -1);

                   if (0 == result) {

                       result = name.compareTo(s.name);

                   }

                   return result;

                }

            }

             

            class ArrayTest {

                public static void main(String[] args) {

                   Student[] ss = new Student[] { new Student(1, "zhangsan"),

                          new Student(2, "lisi"), new Student(3, "wangwu"),

                          new Student(3, "mybole") };

                   Arrays.sort(ss);

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

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

                   }

                }

            }

             

             

            結果:

             

            number=1,name=zhangsan

             

            number=2,name=lisi

             

            number=3,name=mybole

             

            number=3,name=wangwu

             

            7.關于java.util.Arrays

             

            1java.util.Class Arrayss architecture

             

            java.lang.Object

             

            |

             

            +--java.util.Arrays

             

            2)說明

             

            這個類提供的基本上都是靜態方法,用戶進行數組操作,binarySearch():數組中特定元素的尋找,equals():比較兩個數組是否相等(在相同位置上的元素是否相等),fill():數組填充,sort():數組排序

            posted on 2009-08-10 14:37 肥仔 閱讀(298) 評論(0)  編輯 收藏 引用 所屬分類: Web-后臺

            日日躁夜夜躁狠狠久久AV| 深夜久久AAAAA级毛片免费看 | 久久久久久久97| 久久久噜噜噜www成人网| 国产精品九九久久免费视频| 偷窥少妇久久久久久久久| 久久久久一区二区三区| 中文字幕日本人妻久久久免费 | 国产精品va久久久久久久| 久久久黄片| 91精品国产91久久久久久| 久久婷婷五月综合97色一本一本 | 狠狠色丁香婷婷综合久久来 | 久久人人爽人人爽人人爽| 久久久久久久亚洲Av无码| 久久亚洲AV无码西西人体| 国内精品伊人久久久久影院对白| 91精品国产高清91久久久久久| 99蜜桃臀久久久欧美精品网站| 国产精品久久国产精品99盘| 久久伊人五月丁香狠狠色| 99久久精品无码一区二区毛片| 无码人妻久久一区二区三区免费丨 | 亚洲av成人无码久久精品| 久久精品亚洲乱码伦伦中文| 久久久av波多野一区二区| 无码八A片人妻少妇久久| 精品无码人妻久久久久久| 91精品婷婷国产综合久久| 国产精品久久久久影院嫩草| 亚洲AV无码久久精品蜜桃| 人妻无码精品久久亚瑟影视| 亚洲国产一成久久精品国产成人综合 | 2022年国产精品久久久久| 久久国产精品99精品国产| 无码人妻久久一区二区三区| 亚洲精品无码久久久久sm| 久久久SS麻豆欧美国产日韩| 亚洲人成电影网站久久| 777午夜精品久久av蜜臀| 亚洲欧美国产精品专区久久 |