創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!
創(chuàng)新互聯(lián)建站于2013年成立,先為中陽(yáng)等服務(wù)建站,中陽(yáng)等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為中陽(yáng)企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。本篇文章為大家展示了Java如何基礎(chǔ)入門數(shù)學(xué)習(xí),代碼簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
一、數(shù)組定義格式
1、第一種
數(shù)據(jù)類型[] 數(shù)組名
示例:
```java
int[] arr;
double[] arr;
char[] arr;
```
2、第二種
數(shù)據(jù)類型 數(shù)組名[]
示例:
```java
int arr[];
double arr[];
char arr[];
```
二、數(shù)組動(dòng)態(tài)初始化
數(shù)組動(dòng)態(tài)初始化就是只給定數(shù)組的長(zhǎng)度,由系統(tǒng)給出默認(rèn)初始化值。
1、動(dòng)態(tài)初始化格式
```java
數(shù)據(jù)類型[] 數(shù)組名 = new 數(shù)據(jù)類型[數(shù)組長(zhǎng)度];
```
```java
int[] arr = new int[3];
```
2、動(dòng)態(tài)初始化格式詳解
(1)等號(hào)左邊:
int:數(shù)組的數(shù)據(jù)類型
[]:代表這是一個(gè)數(shù)組
arr:代表數(shù)組的名稱
(2)等號(hào)右邊:
new:為數(shù)組開(kāi)辟內(nèi)存空間
int:數(shù)組的數(shù)據(jù)類型
[]:代表這是一個(gè)數(shù)組
5:代表數(shù)組的長(zhǎng)度
三、數(shù)組元素訪問(wèn)
1、什么是索引?
每一個(gè)存儲(chǔ)到數(shù)組的元素,都會(huì)自動(dòng)的擁有一個(gè)編號(hào),從0開(kāi)始。這個(gè)自動(dòng)編號(hào)稱為數(shù)組索引(index),可以通過(guò)數(shù)組的索引訪問(wèn)到數(shù)組中的元素。
2、訪問(wèn)數(shù)組元素格式
```java
數(shù)組名[索引];
```
3、示例代碼
```java
public class ArrayDemo {
public static void main(String[] args) {
int[] arr = new int[3];
//輸出數(shù)組名
System.out.println(arr); //[I@880ec60
//輸出數(shù)組中的元素
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
}
}
```
四、內(nèi)存分配
1、內(nèi)存概述
內(nèi)存是計(jì)算機(jī)中的重要原件,臨時(shí)存儲(chǔ)區(qū)域,作用是運(yùn)行程序。我們編寫的程序是存放在硬盤中的,在硬盤中的程序是不會(huì)運(yùn)行的。必須放進(jìn)內(nèi)存中才能運(yùn)行,運(yùn)行完畢后會(huì)清空內(nèi)存。Java虛擬機(jī)要運(yùn)行程序,必須要對(duì)內(nèi)存進(jìn)行空間的分配和管理。
2、Java中的內(nèi)存分配
目前我們只需要記住兩個(gè)內(nèi)存,分別是:棧內(nèi)存和堆內(nèi)存。
區(qū)域名稱 | 作用 |
寄存器 | 給CPU使用,和我們開(kāi)發(fā)無(wú)關(guān)。 |
本地方法棧 | JVM在使用操作系統(tǒng)功能的時(shí)候使用,和我們開(kāi)發(fā)無(wú)關(guān)。 |
方法區(qū) | 存儲(chǔ)可以運(yùn)行的class文件。 |
堆內(nèi)存 | 存儲(chǔ)對(duì)象或者數(shù)組,new來(lái)創(chuàng)建的,都存儲(chǔ)在堆內(nèi)存。 |
方法棧 | 方法運(yùn)行時(shí)使用的內(nèi)存,比如main方法運(yùn)行,進(jìn)入方法棧中執(zhí)行。 |
五、數(shù)組靜態(tài)初始化
在創(chuàng)建數(shù)組時(shí),直接將元素確定。示例代碼如下:
```java
public class ArrayDemo {
public static void main(String[] args) {
//定義數(shù)組
int[] arr = {1, 2, 3};
//輸出數(shù)組名
System.out.println(arr);
//輸出數(shù)組中的元素
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
}
}
```
六、數(shù)組操作的兩個(gè)常見(jiàn)小問(wèn)題
1、索引越界異常
(1)出現(xiàn)原因
```java
public class ArrayDemo {
public static void main(String[] args) {
int[] arr = new int[3];
System.out.println(arr[3]);
}
}
```
數(shù)組長(zhǎng)度為3,索引范圍是0~2,但是我們卻訪問(wèn)了一個(gè)3的索引。 程序運(yùn)行后,將會(huì)拋出ArrayIndexOutOfBoundsException 數(shù)組越界異常。在開(kāi)發(fā)中,數(shù)組的越界異常是不能出現(xiàn)的,一旦出現(xiàn)了,就必須要修改我們編寫的代碼。
(2)解決方案
將錯(cuò)誤的索引修改為正確的索引范圍即可!
2、空指針異常
(1)出現(xiàn)原因
```java
public class ArrayDemo {
public static void main(String[] args) {
int[] arr = new int[3];
//把null賦值給數(shù)組
arr = null;
System.out.println(arr[0]);
}
}
```
arr = null 這行代碼,意味著變量arr將不會(huì)在保存數(shù)組的內(nèi)存地址,也就不允許再操作數(shù)組了,因此運(yùn)行的時(shí)候會(huì)拋出 NullPointerException 空指針異常。在開(kāi)發(fā)中,數(shù)組的越界異常是不能出現(xiàn)的,一旦出現(xiàn)了,就必須要修改我們編寫的代碼。
(2)解決方案
給數(shù)組一個(gè)真正的堆內(nèi)存空間引用即可!
上述內(nèi)容就是Java如何基礎(chǔ)入門數(shù)學(xué)習(xí),你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道。