• <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 肥仔 閱讀(294) 評論(0)  編輯 收藏 引用 所屬分類: Web-后臺

            久久夜色精品国产| 久久涩综合| 精品综合久久久久久98| 欧美日韩精品久久久久| 久久久久女教师免费一区| 99久久国产综合精品网成人影院| 国产精品视频久久| 国产精品久久久久久影院 | 久久久久99精品成人片试看| 精品国产日韩久久亚洲| 伊色综合久久之综合久久| 伊人色综合久久天天网| 亚洲AV成人无码久久精品老人| 性做久久久久久久| 国产精品青草久久久久婷婷| 狠狠精品久久久无码中文字幕 | 国产成人无码久久久精品一| 99久久无码一区人妻a黑| 热re99久久精品国产99热| 久久精品国产色蜜蜜麻豆| 中文字幕无码av激情不卡久久 | 久久这里只有精品18| 精品久久久久久久| 亚洲AⅤ优女AV综合久久久| 五月丁香综合激情六月久久 | .精品久久久麻豆国产精品| 青青草原综合久久大伊人精品| 久久国产精品波多野结衣AV| 奇米影视7777久久精品人人爽| 久久久久亚洲AV无码专区体验| 国产精品青草久久久久福利99 | 日韩久久久久久中文人妻| 国产成人久久777777| 99久久精品免费看国产一区二区三区| 久久久久久亚洲Av无码精品专口| 99久久精品免费观看国产| 天天爽天天狠久久久综合麻豆| 久久久久99精品成人片牛牛影视| 日本久久久久亚洲中字幕| 国内精品久久久久久久涩爱 | 久久久久久国产精品无码下载|