解釋:int型默認(rèn)值為0的問題
解釋:int型默認(rèn)值為0
在java書中往往強(qiáng)調(diào):如果沒對(duì)int型賦初值,默認(rèn)是0。
但我們嘗試發(fā)現(xiàn)并不能通過:
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ì)初始化的,只有類的成員變量才會(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è)類,在類Test中new Test2,那么Test2中的成員變量tent就會(huì)實(shí)例化為0
int的默認(rèn)值為0,而Integer的默認(rèn)值為null
注意:
Java為每個(gè)原始類型提供了封裝類,Integer是java為int提供的封裝類。
int的默認(rèn)值為0,而Integer的默認(rèn)值為null,即Integer可以區(qū)分出未賦值和值為0的區(qū)別,int則無法表達(dá)出未賦值的情況,
尤其在java 中聲明時(shí):
int a; //默認(rèn)為0 integer b; //默認(rèn)為null
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java數(shù)據(jù)結(jié)構(gòu)之實(shí)現(xiàn)雙向鏈表的示例
這篇文章主要介紹了java數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)雙向鏈表的示例,需要的朋友可以參考下2014-03-03springMVC實(shí)現(xiàn)圖形驗(yàn)證碼(kaptcha)代碼實(shí)例
這篇文章主要介紹了springMVC實(shí)現(xiàn)圖形驗(yàn)證碼(kaptcha)代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值2019-09-09SpringBoot獲取maven打包時(shí)間的兩種方式
這篇文章主要介紹了SpringBoot獲取maven打包時(shí)間的兩種方式,文章通過代碼示例給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-05-05SpringBoot3集成SLF4J+logback進(jìn)行日志記錄的實(shí)現(xiàn)
本文主要介紹了SpringBoot3集成SLF4J+logback進(jìn)行日志記錄的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01