1. 程式人生 > >Java - 數組

Java - 數組

基本類型 拷貝 div 數組 空間 ati 常見算法 進行 exceptio

主要內容: * 一維數組的聲明和初始化。 * 數組元素的引用。 * 二維數組的聲明和使用。 * 數組拷貝。 數組概述: * 數組可以看成是多個相同類型數據的組合,對這些數據的統一管理。 * 數組變量屬於引用數據類型,數組也可以看成是對象,數組中的每個元素相當於該對象的成員變量。 * 數組中的元素可以是任何數據類型,包括基本類型和引用類型。 數組初始化: * 動態初始化:也就說數組定義與為數組元素分配空間和賦值的操作分開進行,例如:( int[] a; a = new int[3]; a[0] = 3; a[1] = 9; a[2] = 8; )。 * 靜態初始化:也就說在定義數組的同時就為數組元素分配空間並賦值,例如:( int[] a = {3, 9, 8}; )。 數組元素的初始化: * 因為數組變量本身屬於引用數據類型變量,即 new 出來的東西也存在 heap 中,故數組元素的初始化與成員變量的初始化規則一樣(即:基礎數據類型自動初始化,引用數據類型為 null,需要實例化。) 二維數組: * 二維數組可以看成以數組為元素的數組。例:int[][] a = { { 1, 2 }, { 3, 4, 5, 6 }, { 7, 8, 9 } }; * Java 中多維數組的聲明和初始化應按從高維到低維(也就是從左到右)的順序進行,例如: int[][] a = new int[ 3 ][]; a[ 0 ] = new int[ 3 ]; a[ 1 ] = new int[ 4 ]; a[ 2 ] = new int[ 3 ]; int[][] t = new int[][ 4 ];//這是非法的 數組的拷貝: * 使用 java.lang.System 類的靜態方法: public static void arraycopy( Object src, int srcPos, Object dest, int destPos, int length ) 解釋:可以用於數組 src 從第 srcPos 下標項元素開始的 length 個元素拷貝到 dest 數組中從 destPos 下標元素開始的 length 個位置。 註意:拷貝時,如果超過了目標數組 dest 的邊界,則會拋出 IndexOutOfBoundsException 異常。(也就說首先必須滿足條件:length <= dest.length & length <= dest.length - destPos) 總結: * 數組的內存布局 * 常見算法 ** 排序 *** 選擇 *** 冒泡 ** 查找(註:必須是在排好序的基礎上才能進行查找算法) *** 折半(二分)

Java - 數組