最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2021年08月24日 10:01:14   作者:花木雨  
這篇文章主要介紹了Java未賦值變量的初始值(默認值),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

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

初始值(默認值)

參考:官方文檔

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

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

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

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

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

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

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

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

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

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

public class Cat {
    // 實例變量
    int age;
}

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

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

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

public class Cat {
    // 類變量
    static int age;
}

本地變量

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

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

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

參數(shù)

無需初始化默認值

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

 // args 就是參數(shù)
    public static void main(String[] args) {
    
    }

解決java未賦值變量的默認值問題

如下所示

package demo;
import java.util.Arrays;
public class demo {  
    /*類字段變量可以不賦初值不報錯,其他變量一律要賦初值  
     * 不管程序有沒有顯示的初始化,Java 虛擬機都會先自動給它初始化為默認值。
     * 1、整數(shù)類型(byte、short、int、long)的基本類型變量的默認值為0。
     * 2、單精度浮點型(float)的基本類型變量的默認值為0.0f。
     * 3、雙精度浮點型(double)的基本類型變量的默認值為0.0d。
     * 4、字符型(char)的基本類型變量的默認為 “/u0000”。
     * 5、布爾性的基本類型變量的默認值為 false。
     * 6、引用類型的變量是默認值為 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īng)過顯示的初始化,才能使用它。
         * 如果編譯器確認一個局部變量在使用之前可能沒有被初始化,編譯器將報錯。
         */
        //int i3;  
        int[] b=new int[5];//數(shù)組變量實例化后,如果沒有顯式為每個元素賦值,Java 就會把該數(shù)組的所有元素初始化為其相應(yīng)類型的默認值
        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型,默認輸出{0,0,0,0,0}。  
    }  
}

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

相關(guān)文章

  • 最新IntelliJ IDEA 2021版配置 Tomcat 8.5 的詳細步驟

    最新IntelliJ IDEA 2021版配置 Tomcat 8.5 的詳細步驟

    idea開發(fā)工具一直是java環(huán)境最好用,很受廣大開發(fā)者喜愛,今天通過本文給大家分享最新IntelliJ IDEA 2021版配置 Tomcat 8.5 的詳細步驟,本文通過圖文并茂的形式給大家介紹的非常詳細,需要的朋友可以參考下
    2021-06-06
  • 解決BeanUtils.copyProperties之大坑

    解決BeanUtils.copyProperties之大坑

    這篇文章主要介紹了解決BeanUtils.copyProperties之大坑,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 一文解析Java中的方法重寫

    一文解析Java中的方法重寫

    子類繼承父類后,可以在子類中書寫一個與父類同名同參的方法,從而實現(xiàn)對父類中同名同參數(shù)的方法的覆蓋,我們把這一過程叫做方法的重寫。本文將分析一下Java中的方法重寫,感興趣的可以了解一下
    2022-07-07
  • spring拓展之如何定義自己的namespace

    spring拓展之如何定義自己的namespace

    這篇文章主要介紹了spring拓展之如何定義自己的namespace方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • SpringBoot Maven項目中Model間的最佳繼承設(shè)計詳解

    SpringBoot Maven項目中Model間的最佳繼承設(shè)計詳解

    這篇文章主要為大家詳細介紹了SpringBoot中一個優(yōu)秀Maven項目的各Model間最佳繼承設(shè)計的相關(guān)知識,文中的示例代碼講解詳細,感興趣的小伙伴可以了解下
    2024-01-01
  • Java并發(fā)內(nèi)存模型詳情

    Java并發(fā)內(nèi)存模型詳情

    這篇文章主要介紹了Java并發(fā)內(nèi)存模型,Java是一門支持多線程執(zhí)行的語言,要編寫正確的并發(fā)程序,了解Java內(nèi)存模型是重要前提。而了解硬件內(nèi)存模型有助于理解程序的執(zhí)行,下面文章就來看看詳細內(nèi)容吧
    2021-10-10
  • Mybatis Plus select 實現(xiàn)只查詢部分字段

    Mybatis Plus select 實現(xiàn)只查詢部分字段

    這篇文章主要介紹了Mybatis Plus select 實現(xiàn)只查詢部分字段的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java責任鏈設(shè)計模式實例分析

    Java責任鏈設(shè)計模式實例分析

    這篇文章主要介紹了Java責任鏈設(shè)計模式,結(jié)合實例形式詳細分析了Java責任鏈設(shè)計模式的原理與相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07
  • Java數(shù)組與堆棧相關(guān)知識總結(jié)

    Java數(shù)組與堆棧相關(guān)知識總結(jié)

    今天給大家?guī)淼氖顷P(guān)于Java的相關(guān)知識,文章圍繞著Java數(shù)組與堆棧展開,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Spring MVC 基于URL的映射規(guī)則(注解版)

    Spring MVC 基于URL的映射規(guī)則(注解版)

    這篇文章主要介紹了Spring MVC 基于URL的映射規(guī)則(注解版) ,詳細的介紹了幾種方式,有興趣的可以了解一下
    2017-05-05

最新評論

上杭县| 泸水县| 德兴市| 噶尔县| 衡山县| 潜江市| 平利县| 邹城市| 富平县| 巴林左旗| 全椒县| 祁东县| 莱阳市| 衡阳县| 岑溪市| 夹江县| 温泉县| 乌鲁木齐市| 东城区| 仁化县| 沁水县| 丹江口市| 珠海市| 阿克陶县| 昌江| 琼结县| 霍林郭勒市| 乌拉特中旗| 韩城市| 集贤县| 开阳县| 株洲县| 余庆县| 佛坪县| 苏尼特右旗| 定西市| 绍兴县| 招远市| 博爱县| 桑日县| 南华县|