第二章 java基礎(chǔ)(數(shù)組下標(biāo))

—— 本文參照 Learn Java for Android Development (第三版)

** 數(shù)組下標(biāo)操作符**
通常我們是通過數(shù)組下標(biāo)來對數(shù)組元素進行訪問的,數(shù)組下標(biāo)是一個整數(shù),數(shù)組下標(biāo)訪問符是[],使用方式是跟在數(shù)組名后面,例如:ages[0],意思就是訪問ages的第一個元素。
數(shù)組下標(biāo)從0開始,ages[0]訪問的是數(shù)組ages的第一個元素,ages[6]訪問的是ages的第7個元素,數(shù)組下標(biāo)必須是大于等于0且小于數(shù)組的長度。如果下標(biāo)超出了這個范圍的話就會報異常ArrayIndexOutOfBoundsException,有關(guān)異常的知識會在后面的章節(jié)里面做詳細介紹。
求一個數(shù)組的長度使用的是.length的方式,例如求ages數(shù)組的長度就使用ages.length的方式。如果是二維數(shù)組matrix.length返回的就是有多少行,想要求二維數(shù)組有多少列則要使用這樣的方式:matrix[0].length。其實二維數(shù)組本質(zhì)上就是由一維數(shù)組組成的。每一行每一列都是一個一維數(shù)組。

public class arrayExample
{
public static void main(String[] args)
{
int[] ages = { 52, 28, 93, 16 };
char gradeLetters[] = { 'A', 'B', 'C', 'D', 'F' };
float[][] matrix = { { 1.0F, 2.0F, 3.0F }, { 4.0F, 5.0F, 6.0F }};
System.out.println(ages[0]);
System.out.println(gradeLetters[2]);
System.out.println(matrix[1][2]);
System.out.println(ages['\u0002']);
ages[1] = 19;
System.out.println(ages[1]);
}
}
上面這段代碼,首先定義了一個一維整形數(shù)組ages,并且賦了值。接著是一個一維字符數(shù)組gradeLetter,也賦了值。再然后是一個二維數(shù)組matrix,后面就是一些實際的利用數(shù)組下標(biāo)來訪問數(shù)組元素的示例,并且把這些元素打印出來。ages[0]是ages的第一個元素,gradeLetters[2]是gradeLetters的第3個元素,matrix[1][2]是數(shù)組matrix的第2行的第3個元素。

數(shù)組的下標(biāo)必須是整形,它可以是字節(jié)整形,短整形,整形。但是不可以是長整形,因為可能會丟失精度。數(shù)組下標(biāo)最大也必須是小于最大的32位整形數(shù)的,而長整形數(shù)是比這個數(shù)要大的。

再后面我們可以看到下標(biāo)其實也可以是字符的,比如ages['\u0002'],因為我們知道在java里面是允許字符向上轉(zhuǎn)換為整形的,這里轉(zhuǎn)換以后就是ages[2],但是在實際的開發(fā)過程中我們是不推薦這樣子的寫法的,因為這樣可讀性不強還容易犯錯,例如ages['A'],這表示的已經(jīng)是第66個元素了。而這完全超出ages的范圍越界了。

我們還可以使用數(shù)組下標(biāo)來對數(shù)組元素進行賦值,例如ages[1]=19,這里我們就把ages的第2個元素變成了19并且將這個值打印出來。

同理我們編譯執(zhí)行以上的代碼可以看到打印結(jié)果如下:
javac arrayExample.java
java arrayExample
52
C
6.0
93
19

Page 56

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • —— 本文參照 Learn Java for Android Development (第三版) 前一篇文章講了一...
    不用管我是誰閱讀 449評論 0 0
  • 1 數(shù)組No11 數(shù)組:存放一組相同類型數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu) 數(shù)組本身是引用數(shù)據(jù)類型,數(shù)組中的元素可以是基本數(shù)據(jù)類型...
    征程_Journey閱讀 738評論 0 1
  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile麗語閱讀 4,118評論 0 6
  • 【本文系王博華原創(chuàng),轉(zhuǎn)載請保留版權(quán)!】 今天還接著來說上一個話題,關(guān)于我一個小白在互聯(lián)網(wǎng)生存法則的總結(jié)。這個話題的...
    王博華閱讀 244評論 0 1
  • 人總是這樣 徘徊在直接犯賤和間接犯賤之間 有些事情你明知道是不可能但卻還要固執(zhí)的去做 而有些事情明明就是會發(fā)生的但...
    嗚呼閱讀 189評論 0 1

友情鏈接更多精彩內(nèi)容