真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

數(shù)組的定義和原理-創(chuàng)新互聯(lián)

目錄

創(chuàng)新互聯(lián)公司2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站制作、成都網(wǎng)站設(shè)計網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元良慶做網(wǎng)站,已為上家服務(wù),為良慶各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108

一、數(shù)組的定義

方式一

方式二

方式三

二、數(shù)組的原理

JVM的內(nèi)存劃分

運行原理

三、數(shù)組的常見操作異常

數(shù)組越界異常

數(shù)組空指針異常


一、數(shù)組的定義

數(shù)組:數(shù)組表示的是一串連續(xù)的存儲空間。數(shù)組既可以存儲基本數(shù)據(jù)類型,也可以存儲引用數(shù)據(jù)類型。

方式一

數(shù)組存儲的數(shù)據(jù)類型[ ]? 數(shù)組名字 = new 數(shù)組存儲的數(shù)據(jù)類型[長度];

舉例:定義可以存儲5個整數(shù)的數(shù)組容器

int[] arr = new int[5];

注意:數(shù)組有定長特性,長度一旦指定,不可更改。

方式二

數(shù)據(jù)類型[ ]? 數(shù)組名 = new? 數(shù)據(jù)類型[ ]{元素1,元素2,元素3...};

舉例:定義存儲1,2,3,4,5整數(shù)的數(shù)組容器

int[] arr = new int[]{1,2,3,4,5};
方式三

數(shù)據(jù)類型[ ]? 數(shù)組名 = {元素1,元素2,元素3...};

舉例:定義存儲1,2,3,4,5整數(shù)的數(shù)組容器

int[] arr = {1,2,3,4,5};
二、數(shù)組的原理 JVM的內(nèi)存劃分

想搞清楚數(shù)組的原理首先要清楚JVM的內(nèi)存劃分

JVM的內(nèi)存劃分
區(qū)域名稱作用
寄存器給CPU使用的
本地方法區(qū)JVM在使用操作系統(tǒng)功能的時候使用,如native修飾的內(nèi)容
方法區(qū)存儲可以運行的class文件
堆內(nèi)存存儲對象或數(shù)組(由new創(chuàng)建的都存儲在堆內(nèi)存中)
棧內(nèi)存方法運行時使用的內(nèi)存

注意:所有的函數(shù)(方法)都必須在棧內(nèi)存運行,JVM只會運行處于棧內(nèi)存頂部的函數(shù),而函數(shù)被加載到棧內(nèi)存的動作稱為函數(shù)的壓棧(入棧),函數(shù)執(zhí)行完之后就會從棧中消失稱為函數(shù)的彈棧(出棧)

public static void main(String[] args) {
  	int[] arr = new int[5];
  	System.out.println(arr[0]);
}
運行原理

此時程序的執(zhí)行流程(原理)

①:main方法進入方法棧執(zhí)行

②:創(chuàng)建數(shù)組:JVM會在堆內(nèi)存中開辟空間,存儲數(shù)組

③:數(shù)組在內(nèi)存中會有自己的內(nèi)存地址,以十六位進制表示

④:數(shù)組中有五個元素,默認索引是0

⑤:JVM將數(shù)組的內(nèi)存地址賦值給引用類型變量arr

⑥:變量arr保存的的是數(shù)組內(nèi)存中的地址,而不是一個具體數(shù)值,因此稱為引用數(shù)據(jù)類型

三、數(shù)組的常見操作異常 數(shù)組越界異常

數(shù)組中賦值5個元素,索引是0,1,2,3,4,沒有5索引,因此我們不能訪問數(shù)組中不存在的索引,程序運行后會拋出數(shù)組越界異常(ArrayIndexOutOfBoundsException)

public static void main(String[] args) {
    int[] arr = {1,2,3,4,5};
    System.out.println(arr[5]);
}
數(shù)組空指針異常

arr = null這行代碼,意味著變量arr將不會再保持數(shù)組的內(nèi)存地址,也就不允許再操作數(shù)組了,因此運行時會拋空指針異常(NullPointerException)

public static void main(String[] args) {
    int[] arr = {1,2,3,4,5};
    arr = null;
    System.out.println(arr[0]);
}

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


當前標題:數(shù)組的定義和原理-創(chuàng)新互聯(lián)
標題鏈接:http://weahome.cn/article/hcipi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部