解釋:int型默認(rèn)值為0的問(wèn)題
解釋:int型默認(rèn)值為0
在java書(shū)中往往強(qiáng)調(diào):如果沒(méi)對(duì)int型賦初值,默認(rèn)是0。
但我們嘗試發(fā)現(xiàn)并不能通過(guò):
public class test{
public static void main(String args[]){
int i;
System.out.println(i);
}
}
提示:
1 個(gè)錯(cuò)誤
JobsdeMacBook-Pro:~ LuXin$ javac Test.java
Test.java:3: 錯(cuò)誤: 變量 testInt 未在默認(rèn)構(gòu)造器中初始化
public static final int testInt;
原因:
你定義的i是 臨時(shí)變量,這種臨時(shí)變量是不會(huì)初始化的,只有類(lèi)的成員變量才會(huì)被初始化。比如
然后你創(chuàng)建一個(gè)test對(duì)象,new test(),那么這個(gè)對(duì)象的屬性i就會(huì)被默認(rèn)初始化為0。
class Test{
public static void main(String[] args) {
Test2 test2 = new Test2(); //tent為test2的一個(gè)成員變量
System.out.println(test2.tent);
}
}
上面定義了兩個(gè)類(lèi),在類(lèi)Test中new Test2,那么Test2中的成員變量tent就會(huì)實(shí)例化為0
int的默認(rèn)值為0,而Integer的默認(rèn)值為null
注意:
Java為每個(gè)原始類(lèi)型提供了封裝類(lèi),Integer是java為int提供的封裝類(lèi)。
int的默認(rèn)值為0,而Integer的默認(rèn)值為null,即Integer可以區(qū)分出未賦值和值為0的區(qū)別,int則無(wú)法表達(dá)出未賦值的情況,
尤其在java 中聲明時(shí):
int a; //默認(rèn)為0 integer b; //默認(rèn)為null
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解SpringBoot項(xiàng)目整合Vue做一個(gè)完整的用戶注冊(cè)功能
本文主要介紹了SpringBoot項(xiàng)目整合Vue做一個(gè)完整的用戶注冊(cè)功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
淺析java并發(fā)中的Synchronized關(guān)鍵詞
這篇文章主要介紹了java并發(fā)中的Synchronized關(guān)鍵詞,本文通過(guò)思路代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02
springboot+vue實(shí)現(xiàn)七牛云頭像的上傳
本文將介紹如何在Spring Boot項(xiàng)目中利用七牛云進(jìn)行圖片上傳并將圖片存儲(chǔ)在云存儲(chǔ)中,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08
Java中遍歷集合的并發(fā)修改異常解決方案實(shí)例代碼
當(dāng)你遍歷集合的同時(shí),又往集合中添加或者刪除元素,就可能報(bào)并發(fā)修改異常,下面這篇文章主要給大家介紹了關(guān)于Java中遍歷集合的并發(fā)修改異常解決方案的相關(guān)資料,需要的朋友可以參考下2022-12-12
使用Java代碼來(lái)比較Android客戶端版本號(hào)
這篇文章主要介紹了使用Java代碼來(lái)比較Android客戶端版本號(hào),Java是目前安卓程序唯一的開(kāi)發(fā)語(yǔ)言,需要的朋友可以參考下2015-07-07

