• <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

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

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

            1.關(guān)于數(shù)組的特點

             

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

             

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

             

            3)容器類只能保存對象的引用。而數(shù)組既可以創(chuàng)建為直接保存基本類型,也可以保存對象的引用。在容器中可以使用包裝類,如Integer、Double等來實現(xiàn)保存基本數(shù)據(jù)類型值。

             

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

             

            2.關(guān)于數(shù)組定義

             

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

             

            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)可以這樣定義二維數(shù)組。

             

            int [][] num;

             

            //or

             

            num=new int[3][];

             

            num[0]=new int[5];

             

            num[1]=new int[3];

             

            num[2]=new int[2];

             

            3)二維數(shù)組賦初值。

             

             

            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.關(guān)于數(shù)組初始化

             

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

             

            4.數(shù)組有關(guān)引用的問題

             

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

             

            int[] a2;

             

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

             

            看以下代碼:

             

             

            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]);

                }

            }

             

             

            結(jié)果:

             

            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

             

            數(shù)組a1a2始終在操作同一個對象。

             

            5.關(guān)于數(shù)組的相關(guān)操作

             

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

             

            2)數(shù)組的復(fù)制:System.arraycopy()。

             

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

             

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

             

            6.關(guān)于數(shù)組的排序操作

             

            1)對象數(shù)組排序,必須實現(xiàn)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]);

                   }

                }

            }

             

             

            結(jié)果:

             

            number=1,name=zhangsan

             

            number=2,name=lisi

             

            number=3,name=wangwu

             

            2)以num為第一關(guān)鍵字,name為第二關(guān)鍵字排序

             

             

            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]);

                   }

                }

            }

             

             

            結(jié)果:

             

            number=1,name=zhangsan

             

            number=2,name=lisi

             

            number=3,name=mybole

             

            number=3,name=wangwu

             

            7.關(guān)于java.util.Arrays

             

            1java.util.Class Arrayss architecture

             

            java.lang.Object

             

            |

             

            +--java.util.Arrays

             

            2)說明

             

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

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

            亚洲伊人久久成综合人影院| 国内精品伊人久久久久| 日本道色综合久久影院| 久久国产免费观看精品3| 日产精品99久久久久久| 久久精品国产亚洲αv忘忧草| 亚洲国产成人乱码精品女人久久久不卡 | 三上悠亚久久精品| 久久婷婷国产剧情内射白浆 | 国产精品久久久久a影院| 欧美久久一区二区三区| 香蕉99久久国产综合精品宅男自| 久久久久久亚洲精品无码| 欧美久久一区二区三区| 亚洲精品高清一二区久久| 奇米影视7777久久精品人人爽| 久久无码国产专区精品| 久久亚洲精品中文字幕| 波多野结衣中文字幕久久| 久久中文字幕一区二区| 久久精品国产第一区二区| 三级韩国一区久久二区综合| 思思久久精品在热线热| 国内精品久久久久影院一蜜桃| 国产成人精品久久免费动漫| 亚洲午夜久久久精品影院| 久久性生大片免费观看性| 久久精品一本到99热免费| 婷婷久久久亚洲欧洲日产国码AV | 欧美亚洲另类久久综合婷婷| 日韩人妻无码一区二区三区久久99 | 久久精品国产91久久综合麻豆自制 | 国产成人久久精品一区二区三区 | 久久97精品久久久久久久不卡| 97精品伊人久久久大香线蕉| 人妻无码久久精品| 久久亚洲AV成人无码国产| 99久久久久| 亚洲熟妇无码另类久久久| 国产精品va久久久久久久| 久久99久国产麻精品66|