摘要:靜態(tài)初始化初始化時(shí)由程序員顯示指定每個(gè)數(shù)組元素的初始值,由系統(tǒng)決定數(shù)組長(zhǎng)度。使用數(shù)組數(shù)組最常用的用法就是訪問(wèn)數(shù)組元素,包括對(duì)數(shù)組元素進(jìn)行賦值和取出數(shù)組元素的值。
理解數(shù)組:數(shù)組也是一種類型
Java的數(shù)組要求所有數(shù)組元素具有相同的數(shù)據(jù)類型.
一旦數(shù)組的初始化完成,數(shù)組在內(nèi)存中所占的空間將被固定下來(lái),因此數(shù)組的長(zhǎng)度將不可改變.如:
public static void main(String[] args) { // TODO Auto-generated method stub int[] arr = new int[2]; arr[0] = 0; arr[1] = 1; arr[2] = 2; for(int i = 0;i < arr.length;i++){ System.out.println(arr[i]); } }
上述代碼在運(yùn)行的時(shí)候會(huì)報(bào)錯(cuò)---Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
定義數(shù)組Java語(yǔ)言支持兩種語(yǔ)法格式來(lái)定義數(shù)組:
type[] arrayName;
type arrayName[];
對(duì)于這兩種語(yǔ)法格式而言,通常推薦使用第一種格式。因?yàn)榈谝环N格式不僅具有更好的語(yǔ)意,而且具有更好的可讀性。
數(shù)組是一種引用類型的變量,因此使用它定義一個(gè)變量時(shí),僅僅表示定義了一個(gè)引用變量(也就是定義了一個(gè)指針),這個(gè)引用變量還未指向任何有效的內(nèi)存空間,所以還沒(méi)有內(nèi)存空間來(lái)存儲(chǔ)數(shù)組元素,因此這個(gè)數(shù)組也不能使用,只有對(duì)數(shù)組進(jìn)行初始化后才可以使用。
所謂初始化,就是為數(shù)組的數(shù)組元素分配內(nèi)存空間,并為每個(gè)數(shù)組元素賦初始值。
數(shù)組的初始化有如下兩種方式。
靜態(tài)初始化: 初始化時(shí)由程序員顯示指定每個(gè)數(shù)組元素的初始值,由系統(tǒng)決定數(shù)組長(zhǎng)度。
動(dòng)態(tài)初始化: 初始化時(shí)程序員只指定數(shù)組長(zhǎng)度,有系統(tǒng)為數(shù)組元素分配初始值。
使用數(shù)組數(shù)組最常用的用法就是訪問(wèn)數(shù)組元素,包括對(duì)數(shù)組元素進(jìn)行賦值和取出數(shù)組元素的值。Java語(yǔ)言的數(shù)組索引值為數(shù)組長(zhǎng)度減1.如果訪問(wèn)數(shù)組元素時(shí)指定的索引值小于0,或者大于等于數(shù)組的長(zhǎng)度,編譯程序不會(huì)出現(xiàn)任何錯(cuò)誤,但運(yùn)行時(shí)出現(xiàn)異常: java.lang.ArrayIndexOutOfBoundsException.
foreach循環(huán)String[] names = {"zuckjet", "zuckberg"}; for (String name: names) { System.out.println(name); }
使用foreach循環(huán)迭代變量數(shù)組元素時(shí),并不能改變數(shù)組元素的值,因此不要對(duì)foreach的循環(huán)變量進(jìn)行賦值。
探究數(shù)組是一種引用數(shù)據(jù)類型,數(shù)組引用變量只是一個(gè)引用,數(shù)組元素和數(shù)組變量在內(nèi)存中是分開(kāi)存放的。
與所有引用變量相同的是,引用變量是訪問(wèn)真實(shí)對(duì)象的根本方式。也就是說(shuō),如果希望在程序中訪問(wèn)數(shù)組對(duì)象本身,則只能通過(guò)這個(gè)引用變量訪問(wèn)它。實(shí)際的數(shù)組對(duì)象被存儲(chǔ)在堆內(nèi)存中。
如果內(nèi)存中數(shù)組不再有任何引用變量指向自己,則這個(gè)數(shù)組將成為垃圾,該數(shù)組所占的內(nèi)存將會(huì)被系統(tǒng)的垃圾回收機(jī)制回收。因此,為了讓垃圾回收機(jī)制回收一個(gè)數(shù)組所占的內(nèi)存空間,可以將該數(shù)組變量賦為null.
int[] a = {1, 3, 5}; int[] b = {2, 4, 6, 8}; b = a; System.out.println(b.length) //3
a變量和b變量都引用了第一個(gè)數(shù)組。此時(shí)第二個(gè)數(shù)組失去了引用,變成了垃圾,只有等待垃圾回收機(jī)制來(lái)回收它。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/67388.html
摘要:是完全面向?qū)ο蟮恼Z(yǔ)言,對(duì)象具有狀態(tài)行為和標(biāo)識(shí)。類一一是具有共同特征和行為的一類事物的統(tǒng)稱。受保護(hù)的,對(duì)同一包內(nèi)的類和所有子類可見(jiàn)。一種通用的內(nèi)存池,用于存放所有對(duì)象。類級(jí)變量又稱全局級(jí)變量或靜態(tài)變量,需要使用關(guān)鍵字修飾。 java語(yǔ)言的基本特點(diǎn) java語(yǔ)言是面向?qū)ο蟮母呒?jí)程序設(shè)計(jì)語(yǔ)言,它是編譯型的語(yǔ)言,Java語(yǔ)言不使用指針,并提供了自動(dòng)的垃圾回收機(jī)制,使得程序員不必為內(nèi)存管理而擔(dān)...
摘要:數(shù)組基本概念數(shù)組指的是一組相關(guān)變量的集合,語(yǔ)言中提供的數(shù)組是用來(lái)存儲(chǔ)固定大小的同類型元素。數(shù)組的元素類型和大小都是確定的。數(shù)組的申明首先必須聲明數(shù)組變量,才能在程序中使用數(shù)組。數(shù)組的操作方法針對(duì)數(shù)據(jù)提供了一些類庫(kù)支持。 數(shù)組基本概念 數(shù)組指的是一組相關(guān)變量的集合,Java 語(yǔ)言中提供的數(shù)組是用來(lái)存儲(chǔ)固定大小的同類型元素。 數(shù)組的元素類型和大小都是確定的。 數(shù)組的申明 首先必須聲明數(shù)組變...
摘要:?jiǎn)尉€程集合本部分將重點(diǎn)介紹非線程安全集合。非線程安全集合框架的最新成員是自起推出的。這是標(biāo)準(zhǔn)的單線程陣營(yíng)中唯一的有序集合。該功能能有效防止運(yùn)行時(shí)造型。檢查個(gè)集合之間不存在共同的元素?;谧匀慌判蚧蛘页黾现械淖畲蠡蜃钚≡?。 【編者按】本文作者為擁有十年金融軟件開(kāi)發(fā)經(jīng)驗(yàn)的 Mikhail Vorontsov,文章主要概覽了所有標(biāo)準(zhǔn) Java 集合類型。文章系國(guó)內(nèi) ITOM 管理平臺(tái) O...
摘要:概念數(shù)組,就是容器,只能存放相同類型的數(shù)據(jù)數(shù)組的格式數(shù)據(jù)類型數(shù)組名數(shù)據(jù)類型數(shù)組的容量數(shù)組聲明縮寫數(shù)組中元素的存取給數(shù)組第一個(gè)元素賦值給數(shù)組第二個(gè)元素賦值給數(shù)組第三個(gè)元素賦值打印賦值結(jié)果總結(jié)數(shù)組元素的存放和取出,都是通過(guò)數(shù)組的索引實(shí)現(xiàn)的數(shù)組的 概念 數(shù)組,就是容器,只能存放相同類型的數(shù)據(jù); 數(shù)組的格式 數(shù)據(jù)類型[] 數(shù)組名 = new 數(shù)據(jù)類型 [數(shù)組的容量]; double[] sco...
摘要:棧區(qū)的使用完立馬銷毀。格式數(shù)組名索引注索引和語(yǔ)言中的下標(biāo)是一樣的索引是從開(kāi)始的,也就是說(shuō)我們要訪問(wèn)第一個(gè)元素就是,以此類推。五數(shù)組長(zhǎng)度表示在中我們沒(méi)有的,但是我們可以通過(guò)下列操作求出。格式數(shù)組名如就求出了數(shù)組的長(zhǎng)度。 目錄 一、前言 二、數(shù)組的定義 數(shù)組定義的形式: 格式1: 格式2: 三...
閱讀 3031·2021-11-24 10:21
閱讀 1602·2021-10-11 10:57
閱讀 2814·2021-09-22 15:24
閱讀 2678·2021-09-22 14:58
閱讀 2337·2019-08-30 13:16
閱讀 3489·2019-08-29 13:05
閱讀 3422·2019-08-29 12:14
閱讀 3461·2019-08-27 10:55