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

            一本一本久久A久久综合精品| 亚洲欧美国产日韩综合久久| 无码国内精品久久人妻麻豆按摩| 久久久久九国产精品| 少妇被又大又粗又爽毛片久久黑人| 99久久成人18免费网站| 久久噜噜久久久精品66| 嫩草伊人久久精品少妇AV| 久久精品国产亚洲av影院| 日韩欧美亚洲国产精品字幕久久久| 亚洲一区精品伊人久久伊人| 人妻精品久久久久中文字幕一冢本| 久久精品嫩草影院| 亚洲国产精品久久电影欧美| 久久精品国产亚洲一区二区三区 | 久久se精品一区二区影院 | 久久精品国产久精国产果冻传媒 | 精品熟女少妇aⅴ免费久久| 漂亮人妻被中出中文字幕久久| 久久久久久狠狠丁香| 日韩人妻无码精品久久免费一| 99热成人精品免费久久| 久久九九全国免费| 综合久久国产九一剧情麻豆| 久久99精品久久久久久秒播| 久久久精品人妻一区二区三区四 | 久久免费视频观看| 99精品国产99久久久久久97| 久久久久亚洲av毛片大| 久久免费精品视频| 99久久精品无码一区二区毛片| 人妻无码αv中文字幕久久 | 久久国产精品一国产精品金尊| 99精品国产免费久久久久久下载| 久久人妻少妇嫩草AV无码蜜桃| 国产69精品久久久久9999| 久久99国产精品久久99果冻传媒| 99精品久久精品| 国产午夜精品理论片久久| 日韩亚洲欧美久久久www综合网 | 一本一本久久A久久综合精品|