摘要:數組基本概念數組指的是一組相關變量的集合,語言中提供的數組是用來存儲固定大小的同類型元素。數組的元素類型和大小都是確定的。數組的申明首先必須聲明數組變量,才能在程序中使用數組。數組的操作方法針對數據提供了一些類庫支持。
數組基本概念
數組指的是一組相關變量的集合,Java 語言中提供的數組是用來存儲固定大小的同類型元素。
數組的元素類型和大小都是確定的。
數組的申明首先必須聲明數組變量,才能在程序中使用數組。下面是聲明數組變量的語法:
dataType[] arrayRefVar; // 首選的方法 或 dataType arrayRefVar[]; // 效果相同,但不是首選方法
注意: 建議使用 dataType[] arrayRefVar 的聲明風格聲明數組變量。 dataType arrayRefVar[] 風格是來自 C/C++ 語言 ,在Java中采用是為了讓 C/C++ 程序員能夠快速理解java語言。
下面是這兩種語法的示例:
double[] myList; // 首選的方法 或 double myList[]; // 效果相同,但不是首選方法創建數據
Java語言使用new操作符來創建數組,語法如下:
arrayRefVar = new dataType[arraySize];
上面的語法語句做了兩件事:
使用 dataType[arraySize] 創建了一個數組。
把新創建的數組的引用賦值給變量 arrayRefVar。
數組變量的聲明,和創建數組可以用一條語句完成,如下所示:
//動態初始化 dataType[] arrayRefVar = new dataType[arraySize];
另外,還可以使用如下的方式創建數組。
//靜態初始化,簡化格式 dataType[] arrayRefVar = {value0, value1, ..., valuek}; //靜態初始化,完整格式 dataType[] arrayRefVar = new dataType[]{value0, value1, ..., valuek};
數組的元素是通過索引訪問的。數組索引從 0 開始,所以索引值從 0 到 arrayRefVar.length-1。
使用new方式創建的數組,其內容為對應數據類型的默認值。
數組也屬于引用數據類型,數組與對象的唯一區別在于:對象中的堆內存保存的是該對象的屬性,而數組中的堆內存保存的是其對應的一組信息,包含索引與對應的值。
多維數組多維數組可以看成是數組的數組,比如二維數組就是一個特殊的一維數組,其每一個元素都是一個一維數組,例如:
String str[][] = new String[3][4];多維數組的動態初始化(以二維數組為例)
直接為每一維分配空間,格式如下:
dataType[][] arrayName = new type[arraylenght1][arraylenght2];
dataType 可以為基本數據類型和復合數據類型,arraylenght1 和arraylenght2 必須為正整數,arraylenght1 為行數,arraylenght2 為列數。
例如:
int a[][] = new int[2][3];數組的引用傳遞
數組作為引用類型,將數組作為參數傳遞的其他函數中,在這個函數中對數組的修改一定會影響到原始數據。
數組的操作方法java針對數據提供了一些類庫支持。
數組拷貝System.arraycopy()方法,函數原型是:
public static void arraycopy(Object?src, int?srcPos, Object?dest, int?destPos, int?length)
src:源數組
srcPos:源數組拷貝開始索引
dest: 目標數組
destPos:目標數組拷貝開始索引
length: 拷貝長度
Arrays 類java.util.Arrays 類能方便地操作數組,它提供的所有方法都是靜態的。
具體方法參考:
https://www.yiibai.com/java/u...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/73471.html
摘要:找到給定的二維數組中最大的島嶼面積。思路給定一個由和組成的二維數組,其中代表島嶼土地,要求找出二維數組中最大的島嶼面積,沒有則返回。樣例如樣例所示,二維數組的最大島嶼面積為,下面來講解深度優先搜索的做法。 ...
摘要:靜態初始化簡化的語法格式動態初始化動態初始化只指定數組的長度,由系統為每個數組元素指定初始值。也就是說,數組引用變量是訪問堆內存中數組元素的根本方式。 順序結構 程序從上到下逐行地執行,中間沒有任何判斷和跳轉。 分支結構 if條件語句 if語句使用布爾表達式或布爾值作為分支條件來進行分支控制。 第一種形式: if(logic expression) { ...
摘要:異常也就是指程序運行時發生錯誤,而異常處理就是對這些錯誤進行處理和控制。有兩個重要的子類異常和錯誤,二者都是異常處理的重要子類,各自都包含大量子類。需要注意的是,一旦某個捕獲到匹配的異常類型,將進入異常處理代碼。 1,異常現象 程序錯誤分為三種:1,編譯錯誤;2,運行時錯誤;3,邏輯錯誤。 編譯錯誤是因為程序沒有遵循語法規則,編譯程序能夠自己發現并且提示我們錯誤的原因和位置,這...
摘要:給定一個代表每個房屋存放金額的非負整數數組,計算你在不觸動警報裝置的情況下,今晚能夠偷竊到的最高金額。狀態表示表示偷竊號到號房間所能獲得的最高金額。下標均從開始打家劫舍我們已經知道了房間單排排列的狀態轉移方程,接下來思考房間環狀排列的做法。 ...
閱讀 2132·2023-04-26 03:06
閱讀 3580·2023-04-26 01:51
閱讀 2085·2021-11-24 09:38
閱讀 2452·2021-11-17 17:00
閱讀 2324·2021-09-28 09:36
閱讀 941·2021-09-24 09:47
閱讀 2586·2019-08-30 15:54
閱讀 1554·2019-08-30 15:44