最新国产好看的视频,伊人天堂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

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

對應的面試編程題:以下代碼會打印什么?

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ù)組的所有元素初始化為其相應類型的默認值
        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)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 最新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間的最佳繼承設計詳解

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

    這篇文章主要為大家詳細介紹了SpringBoot中一個優(yōu)秀Maven項目的各Model間最佳繼承設計的相關知識,文中的示例代碼講解詳細,感興趣的小伙伴可以了解下
    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責任鏈設計模式實例分析

    Java責任鏈設計模式實例分析

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

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

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

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

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

最新評論

乡宁县| 新巴尔虎右旗| 寻乌县| 安宁市| 托里县| 玛曲县| 竹溪县| 凌海市| 靖西县| 邮箱| 凭祥市| 南丰县| 潜江市| 自治县| 鹤壁市| 阿瓦提县| 通州区| 延津县| 寿宁县| 石柱| 平果县| 山东省| 上饶县| 正定县| 和平县| 海阳市| 林周县| 通榆县| 兴宁市| 庄浪县| 会理县| 崇礼县| 高台县| 阳原县| 山西省| 大丰市| 万安县| 荆州市| 广宁县| 仁化县| 沈丘县|