Java一維數(shù)組和二維數(shù)組元素默認(rèn)初始化值的判斷方式
一、數(shù)組與數(shù)組元素
- Java中數(shù)組是引用類(lèi)型
- 數(shù)組的元素可以是基本類(lèi)型也可以是引用類(lèi)型,弄清數(shù)組元素的類(lèi)型可以幫助我們?nèi)ダ斫鈹?shù)組元素默認(rèn)初始化
二、一維數(shù)組
一維數(shù)組元素默認(rèn)初始化值的情況分為兩種,元素為基本數(shù)據(jù)類(lèi)型和引用數(shù)據(jù)類(lèi)型
1.元素為基本數(shù)據(jù)類(lèi)型時(shí)
- 整型類(lèi)型(byte、short、int、long) 默認(rèn)的初始值都為0
- 浮點(diǎn)類(lèi)型(float、double) 默認(rèn)的初始值都為0.0
- 布爾型(boolean) 默認(rèn)的初始值為flase
- 字符類(lèi)型(char) 默認(rèn)的初始值為0(空字符)
注意這里的0不同于整型類(lèi)型的0更不是字符’0’,這指的是下圖ASCII碼表中十進(jìn)制的0
現(xiàn)在我們測(cè)試如下代碼加深理解
public class Test { public static void main(String[] args) { char[] a = new char[2]; if(a[0] == 0) { System.out.println("這是判斷0的" + a[0] + "測(cè)試!"); } if(a[0] == '0') { System.out.println("這是判斷字符'0'的" + a[0] + "測(cè)試!"); } } }
運(yùn)行結(jié)果如下
通過(guò)結(jié)果我們發(fā)現(xiàn)a[0]的值判斷為0而非字符’0’,打印輸出時(shí)a[0]其實(shí)是一個(gè)空字符(這不是空格?。。。?/p>
2. 數(shù)組元素為引用類(lèi)型時(shí)
元素為引用類(lèi)型時(shí)默認(rèn)的初始值都為null
三、二維數(shù)組
Java中二維數(shù)組其實(shí)用一維數(shù)組作為數(shù)組的元素來(lái)構(gòu)成的
二維數(shù)組默認(rèn)初始化值的判讀分為兩種情況(下面兩種情況的書(shū)寫(xiě)格式用int表示,int可以換成其他的數(shù)據(jù)類(lèi)型)
1. int[][] arr = new int[2][2]
- ①外層元素(arr[0],arr[1]):地址值
- ②內(nèi)層元素(arr[0][0]):利用一維數(shù)組默認(rèn)初始值判斷
2. int[][] arr = new int[2][]
- ①外層元素(arr[0],arr[1]):地址值
- ②內(nèi)層元素(arr[0][0]):空指針異常
我們結(jié)合下面的圖來(lái)理解,因?yàn)槎S數(shù)組其實(shí)是數(shù)組的數(shù)組,外層保存的是地址值,內(nèi)層自然就可以按照一維數(shù)組判斷
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring使用注解進(jìn)行引用類(lèi)型的自動(dòng)裝配逐步分析
自動(dòng)裝配是springboot的核心,一般提到自動(dòng)裝配就會(huì)和springboot聯(lián)系在一起。實(shí)際上Spring Framework早就實(shí)現(xiàn)了這個(gè)功能。Spring Boot只是在其基礎(chǔ)上,通過(guò)SPI的方式,做了進(jìn)一步優(yōu)化2023-03-03Java實(shí)戰(zhàn)之小米交易商城系統(tǒng)的實(shí)現(xiàn)
這篇文章將利用Java實(shí)現(xiàn)小米交易商城系統(tǒng),文中采用的技術(shù)有:JSP?、Spring、SpringMVC、MyBatis等,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-04-04深入理解 CAS 算法原理已經(jīng)在jdk中的運(yùn)用
這篇文章主要介紹了深入理解 CAS 算法原理已經(jīng)在jdk中的運(yùn)用,幫助大家更好的使用Java,感興趣的朋友可以了解下2020-12-12復(fù)雜JSON字符串轉(zhuǎn)換為Java嵌套對(duì)象的實(shí)現(xiàn)
這篇文章主要介紹了復(fù)雜JSON字符串轉(zhuǎn)換為Java嵌套對(duì)象的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09Java運(yùn)算符的知識(shí)點(diǎn)與代碼匯總
這篇文章主要給大家總結(jié)介紹了關(guān)于Java運(yùn)算符知識(shí)點(diǎn)與代碼的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04淺談Redis在微服務(wù)架構(gòu)中的幾種應(yīng)用場(chǎng)景
本文介紹在SpringCloud中使用Redis作為Pub/Sub異步通信、緩存或主數(shù)據(jù)庫(kù)和配置服務(wù)器的三種場(chǎng)景應(yīng)用。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-05-05