一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - Java未賦值變量的初始值解析(默認(rèn)值)

Java未賦值變量的初始值解析(默認(rèn)值)

2021-12-01 13:32花木雨 Java教程

這篇文章主要介紹了Java未賦值變量的初始值(默認(rèn)值),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Java未賦值變量的初始值(默認(rèn)值)

初始值(默認(rèn)值)

參考:官方文檔

Java程序中,任何變量必須初始化后才能使用。

以下為不同數(shù)據(jù)類型的默認(rèn)值。

數(shù)據(jù)類型 初始值
byte 0
short 0
int 0
long 0L
char ‘u0000'
float 0.0f
double 0
boolean false
所有引用類型 null

但并不是所有未初始化的變量都會賦默認(rèn)值。

對應(yīng)的面試編程題:以下代碼會打印什么?

?
1
2
3
4
5
public static void main(String[] args) {
        int[] arr = new int[10];
        System.out.println(arr[0]);
 }
//打?。?0
?
1
2
3
4
5
public static void main(String[] args) {
        int a;
        System.out.println(a);
 }
//編譯失敗,提示“Error:(16, 28) java: 可能尚未初始化變量a”

下面根據(jù)不同的變量類型依次說明:

實例變量(非靜態(tài)字段)

系統(tǒng)會初始化默認(rèn)值

字段未被static修飾就是實例變量。在創(chuàng)建對象時,該變量會在分配內(nèi)存階段被賦予默認(rèn)值,在執(zhí)行new指令之后,被賦予程序定義的初始值。

?
1
2
3
4
public class Cat {
    // 實例變量
    int age;
}

類變量(靜態(tài)字段)

系統(tǒng)會初始化默認(rèn)值

字段被static修飾就是類變量。在類加載的準(zhǔn)備階段,該變量會被賦予默認(rèn)值,在類加載的初始化階段,會被賦予程序定義的初始值。

?
1
2
3
4
public class Cat {
    // 類變量
    static int age;
}

本地變量

系統(tǒng)不會初始化默認(rèn)值

方法塊中定義的變量為本地變量。該變量必須在代碼中顯示賦值,否則會提示編譯錯誤。

?
1
2
3
4
public static void main(String[] args) {
    // 本地變量
    int a = 0;
}

參數(shù)

無需初始化默認(rèn)值

參數(shù)很好理解,如下所示,args就是參數(shù)。參數(shù)又分實參和形參。參數(shù)的值在調(diào)用該方法時傳入。

?
1
2
3
4
// args 就是參數(shù)
   public static void main(String[] args) {
   
   }

解決java未賦值變量的默認(rèn)值問題

如下所示

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package demo;
import java.util.Arrays;
public class demo { 
    /*類字段變量可以不賦初值不報錯,其他變量一律要賦初值 
     * 不管程序有沒有顯示的初始化,Java 虛擬機(jī)都會先自動給它初始化為默認(rèn)值。
     * 1、整數(shù)類型(byte、short、int、long)的基本類型變量的默認(rèn)值為0。
     * 2、單精度浮點型(float)的基本類型變量的默認(rèn)值為0.0f。
     * 3、雙精度浮點型(double)的基本類型變量的默認(rèn)值為0.0d。
     * 4、字符型(char)的基本類型變量的默認(rèn)為 “/u0000”。
     * 5、布爾性的基本類型變量的默認(rèn)值為 false。
     * 6、引用類型的變量是默認(rèn)值為 null,如int[] a;。
     */
    public int  i1; 
    public static int i2; 
    public int[] a=new int[5];//見main()方法中的int[] b=new int[5];
    public static void main(String[] args) { 
        /* 方法中的局部變量,ava 虛擬機(jī)不會自動的為它初始化為默認(rèn)值。
         * 因此對于局部變量,必須先經(jīng)過顯示的初始化,才能使用它。
         * 如果編譯器確認(rèn)一個局部變量在使用之前可能沒有被初始化,編譯器將報錯。
         */
        //int i3; 
        int[] b=new int[5];//數(shù)組變量實例化后,如果沒有顯式為每個元素賦值,Java 就會把該數(shù)組的所有元素初始化為其相應(yīng)類型的默認(rèn)值
        System.out.println(new demo().i1); //輸出0
        System.out.println(i2);            //輸出0
        //System.out.println(i3);          //會報錯
        System.out.println(Arrays.toString(new demo().a));//此處為int型,默認(rèn)輸出{0,0,0,0,0}。 
    
}

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://blog.csdn.net/joy_pan/article/details/102719280

延伸 · 閱讀

精彩推薦
  • Java教程Java BufferWriter寫文件寫不進(jìn)去或缺失數(shù)據(jù)的解決

    Java BufferWriter寫文件寫不進(jìn)去或缺失數(shù)據(jù)的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進(jìn)去或缺失數(shù)據(jù)的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發(fā)現(xiàn)了對于集合操作轉(zhuǎn)換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關(guān)于Java8中S...

    阿杜7482021-02-04
  • Java教程xml與Java對象的轉(zhuǎn)換詳解

    xml與Java對象的轉(zhuǎn)換詳解

    這篇文章主要介紹了xml與Java對象的轉(zhuǎn)換詳解的相關(guān)資料,需要的朋友可以參考下...

    Java教程網(wǎng)2942020-09-17
  • Java教程Java實現(xiàn)搶紅包功能

    Java實現(xiàn)搶紅包功能

    這篇文章主要為大家詳細(xì)介紹了Java實現(xiàn)搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經(jīng)有好久沒有升過級了。升級完畢重啟之后,突然發(fā)現(xiàn)好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關(guān)于小米推送Java代碼,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩(wěn)中求8032021-07-12
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發(fā)項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
主站蜘蛛池模板: 高清视频在线播放 | 免费高清在线 | 久久99r66热这里有精品 | 欧美一级片在线看 | 四虎 2022 永久网站 | 波多野结衣178部中文字幕 | 暖暖 免费 高清 日本 在线 | 久久全国免费观看视频 | 王淑兰李思雨李铁柱乡村小说免费 | 乌克兰xxxxx 我要色色网 | 色悠久久久久综合网小说 | 国产一区二区三区免费在线视频 | 日本人交换乱理伦片 | 成品人视频免费观看 | 色综合精品 | 99久久免费视频 | xx18-19xxxxhd| 青青青手机视频 | 亚洲欧美日韩国产综合专区 | 国产成人在线免费观看 | 91在线老王精品免费播放 | 国模一区二区三区视频一 | 亚洲成色 | 日本www视频在线观看 | 边吃胸边膜下刺激免费男对女 | a级毛片毛片免费很很综合 a级黄色视屏 | 狠狠做五月深爱婷婷天天综合 | 亚洲阿v天堂在线2017 | 日韩专区在线观看 | 牧教师在线观看 | 亚洲男人天堂2023 | 女主被男主做哭失禁高h | 久久婷婷丁香五月色综合啪免费 | 精品国产国产精2020久久日 | 王淑兰李思雨李铁柱乡村小说免费 | 香艳69xxxxx有声小说 | 国产在线欧美精品 | 国产精品福利 | 日本漫画工囗全彩番在线 | 扒开斗罗美女了的胸罩和内裤漫画 | 蹭蹭妈妈的朋友小说 |