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