java基本類型的初始化值(Java 對象的初始化方式有)

本文目錄一覽:

Java 變數到底要如何初始化

不同的變數初始化方法不同。

變數包括:

類的屬性,或者叫值域

方法里的局部變數

方法的參數

對於第一種變數,Java虛擬機會自動進行初始化。如果給出了初始值,則初始化為該初始值。如果沒有給出,則把它初始化為該類型變數的默認初始值。

int類型變數默認初始值為0

float類型變數默認初始值為0.0f

double類型變數默認初始值為0.0

boolean類型變數默認初始值為false

char類型變數默認初始值為0(ASCII碼)

long類型變數默認初始值為0

所有對象引用類型變數默認初始值為null,即不指向任何對象。注意數組本身也是對象,所以沒有初始化的數組引用在自動初始化後其值也是null。

對於兩種不同的類屬性,static屬性與instance屬性,初始化的時機是不同的。instance屬性在創建實例的時候初始化,static屬性在類載入,也就是第一次用到這個類的時候初始化,對於後來的實例的創建,不再次進行初始化。這個問題會在以後的系列中進行詳細討論。

對於第二種變數,必須明確地進行初始化。如果再沒有初始化之前就試圖使用它,編譯器會抗議。如果初始化的語句在try塊中或if塊中,也必須要讓它在第一次使用前一定能夠得到賦值。也就是說,把初始化語句放在只有if塊的條件判斷語句中編譯器也會抗議,因為執行的時候可能不符合if後面的判斷條件,如此一來初始化語句就不會被執行了,這就違反了局部變數使用前必須初始化的規定。但如果在else塊中也有初始化語句,就可以通過編譯,因為無論如何,總有至少一條初始化語句會被執行,不會發生使用前未被初始化的事情。對於try-catch也是一樣,如果只有在try塊里才有初始化語句,編譯部通過。如果在catch或finally里也有,則可以通過編譯。總之,要保證局部變數在使用之前一定被初始化了。所以,一個好的做法是在聲明他們的時候就初始化他們,如果不知道要出事化成什麼值好,就用上面的默認值吧!其實第三種變數和第二種本質上是一樣的,都是方法中的局部變數。只不過作為參數,肯定是被初始化過的,傳入的值就是初始值,所以不需要初始化。

在java中八種基本數據類型在數組初始化中默認值是多少

Java定義了8個簡單的數據類型:位元組型(byte),短整型(short),整型(int),長整型(long),字元型(char),浮點型(float),雙精度型(double),布爾型(boolean).

除了boolean默認false,char–〉/u0000,其他的都為0

java 基本類型默認值

你定義的a是臨時變數,這種臨時變數是不會初始化的,只有類的成員變數才會被初始化。比如

class test {

private int a;

}

然後你創建一個test對象,new test(),那麼這個對象的屬性a就會被默認初始化為0。

Java:關於基本數據類型的默認值,以布爾為例

波爾類型的默認值是false;

其餘的7種基本類型默認值:

byte是 (byte)0;

short是 (short)0;

int是 0;

long是 0L;

float 是0.0f;

double 是0.0d;

char是 \u0000。

什麼事Java的基本類型?這些基本類型的默認值是什麼?

基本數據類型有

double,float,

byte,short,int,long

char,

boolean

基本就double,int,char,boolean比較常用

double預設值 0.0

int預設值是0

char預設值是 ‘u0000’

boolean預設值是false

Java各類型的初始值

基本數據類型作為類的成員時,

即使沒有對其進行初始化,

java也會確保它有一個默認值,如下:

基本類型的初始值 基本類型 默認值

boolean false

char \u0000(null)

byte (byte)0

short (short)0

int 0

long 0L

float 0.0f

double 0.0d

上面的默認值,是當變數作為類的成員使用時才有的,

java這樣做是保證基本類型的成員變數得到初始化,

防止產生程序錯誤,

但這些值在實際的程序中可能都是不合理的,

所以最好明確的給出初始值。

上面的默認值對在程序中非成員變數就不適用了,

非成員變數如果不明確給出初始值,就可能是任何值。

在java程序編譯時會提示你一個錯誤,而不是c++中的警告。

至於那些應用類型,像數組,對象啦,有些複雜,根據你的類型而定,對象一般弄人為null,

數組根據你的類型,按照基本數據類型的默認值來初始化……

明白了么?

本文來自CSDN博客,轉載請標明出處:

原創文章,作者:RNPAA,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/331353.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
RNPAA的頭像RNPAA
上一篇 2025-01-16 15:46
下一篇 2025-01-16 15:46

相關推薦

  • int類型變數的細節與注意事項

    本文將從 int 類型變數的定義、聲明、初始化、範圍、運算和類型轉換等方面,對 int 類型變數進行詳細闡述和講解,幫助讀者更好地掌握和應用 int 變數。 一、定義與聲明 int…

    編程 2025-04-29
  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變數時顯示的指定變數類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29
  • Python基本索引用法介紹

    Python基本索引是指通過下標來獲取列表、元組、字元串等數據類型中的元素。下面將從多個方面對Python基本索引進行詳細的闡述。 一、列表(List)的基本索引 列表是Pytho…

    編程 2025-04-29
  • Python基本數字類型

    本文將介紹Python中基本數字類型,包括整型、布爾型、浮點型、複數型,並提供相應的代碼示例以便讀者更好的理解。 一、整型 整型即整數類型,Python中的整型沒有大小限制,所以可…

    編程 2025-04-29
  • Python中的Bool類型判斷

    本篇文章旨在講解Python中的Bool類型判斷。在Python中,Bool類型是經常使用的一種類型,因此掌握其用法非常重要。 一、True和False 在Python中,True…

    編程 2025-04-29
  • Python基本統計量計算

    本文將從多個方面詳細介紹Python中基本統計量計算的方法。 一、均值 均值是一組數據的平均值,也就是將所有數據相加後再除以數據個數。 在Python中,可以使用numpy庫中的m…

    編程 2025-04-29
  • 面向對象編程、類和對象

    面向對象編程(Object-Oriented Programming, OOP)是一種編程方法,它將現實世界中的事物抽象為對象(Object),對象的屬性和方法被封裝成類(Clas…

    編程 2025-04-29
  • Python程序的三種基本控制結構

    控制結構是編程語言中非常重要的一部分,它們指導著程序如何在不同的情況下執行相應的指令。Python作為一種高級編程語言,也擁有三種基本的控制結構:順序結構、選擇結構和循環結構。 一…

    編程 2025-04-29
  • Python函數類型有哪些

    本文將從以下幾個方面詳細闡述Python函數類型。 一、內置函數 Python的內置函數是指在Python編程語言中提供的可以直接使用的函數,不需要通過導入模塊等方式引入。 部分常…

    編程 2025-04-29
  • Python變數類型用法介紹

    Python是一種解釋型編程語言,它提供了豐富的數據類型,包括數字、字元串、列表、元組、集合、字典等。Python變數類型的定義是Python程序開發的基礎,本文將從以下幾個方面對…

    編程 2025-04-28

發表回復

登錄後才能評論