導航:首頁 > 編程語言 > java局部變數初始化

java局部變數初始化

發布時間:2023-02-06 10:16:55

java局部變數初始化,String類型為什麼不用初始化就能使用

局部變數String需要初始化!

以下代碼:

public class Test {

public static void main(String[] args) {

String s;

System.out.println(s);

}

}

這個代碼直接報錯,無法編譯

你上面的代碼沒錯是因為你在while循環里對s進行了初始化

② 在java中變數一定要初始化嗎

變數定義可以不被初始化,但是這個變數做為局部的變數的話就必須被初始化,否則會編譯出錯。所謂局部變數就是在一個函數或著代碼塊中定義的變數。我想你定義的變數也是這樣了。

③ 在Java中,成員變數和局部變數分別是什麼時候初始化,哪個順序在前跪求各位前輩指點

成員變數相當於你的名字,出生就有,如果你父母來不及取,默認是寶寶。局部變數相當於你在公司或者學校的外號,進公司或學校才有,出了公司和學校就沒了,而如果沒有人給你取外號,那麼你就沒有外號,沒有默認值。
成員變數在類存在的時候就已經初始化了,局部變數只有該方法被調用的時候才初始化。局部變數一定要賦初值,否則報錯,成員變數如果不賦初值,系統默認給。

④ 什麼是java的局部變數、成員變數和全局變數

1、局部變數:在方法內定義的變數稱為「局部變數」或「臨時變數」,方法結束後局部變數佔用的內存將被釋放。

2、成員變數:在類體的變數部分中定義的變數,也稱為欄位。

3、全局變數:全局變數,又稱「外部變數」,它不是屬於哪個方法,作用域從定義的地址開始到源文件結束。

⑤ 昆明Java培訓:為什麼Java中的局部變數必須要初始化

現在假如你是java語言的開發者,你已經將對象保存在了堆內存中,而將局部變數保存在了棧內存中,你會怎麼做呢?Java中的變數分為類變數,成員變數和局部變數,分別位於JVM的方法區、堆內存和棧內存中。
類變數和成員變數都可以在類首次載入和類初始化時,給出默認值,但是局部變數就必須要在使用前賦值。
實際上,Java完全可以設計成局部變數不需要初始化,只要作者們高興。
事實上,就有這樣的語言,比如C++。
當然,C++不強制必須初始化,不代表就不用初始化,實際上,C++開發者也都是建議對局部變數初始化,以防止出現野指針這類事情。
其實,不管是局部變數還是成員變數,都是必須要初始化的,那為什麼成員變數會自動初始化?其實正是因為成員變數屬於對象,而對象是保存在堆中的,所以jvm就在初始化類的時候把成員變數初始化呢,而如果我們在調用方法的時候,還要jvm去將局部變數也進行初始化,是不是對會影響到性能呢?因此,直接強制局部變數必須要初始化反而更好。

⑥ java中怎麼給變數初始化

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

變數包括:

  1. 類的屬性,或者叫值域

  2. 方法里的局部變數

  3. 方法的參數

對於第一種變數,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中為什麼局部變數要初始化

我是指最初設計者的初衷,這個可能涉及比較多的東東,當然如果是效率的話,請說明一下具體的原因。這里僅僅以JAVA語言為舉例。我用的幾個環境是:
JAVA:JBuilder2005
winXP
C++:Vc
6.0
winXP
C:solaris
8
CC&&cc
1/在JAVA下面,編譯是不通過的,也是我這次想弄清楚的問題;「int
x」出現錯誤;代碼如下:
public
static
void
main(String
args[])
{
int
x
=
0
;
System.out.println("Value
is
"
+
x);
}
private
void
dd
()
{
int
x
;
---
這里出現錯誤。
x
=
x+9;
}
2/在C++下面是OK的,有警告
3/在C下面,都OK;CC有警告,建議賦初值;cc沒有警告。

⑨ Java中在if語句中局部變數要初始化才能使用

你仔細看JAVA基礎,JAVA局部變數都必須給初始值的,你用ELSE的語句話 ,Result 始終會在Return的時候初始化一個值,因為不是if 分支就是else分支。而你用Else If 語句的話,如果你輸入的Index<0 就不會進入任何分支,所以你返回的時候編譯器就認為語法錯誤。

⑩ JAVA中的變數為什麼要初始化呢

為了給變數分配空間。不分配空間無法對變數操作。
在java中全局變數不需要初始化,局部變數必須初始化。

閱讀全文

與java局部變數初始化相關的資料

熱點內容
安卓如何玩吃雞的視頻 瀏覽:739
安卓手機王者怎麼掃碼登錄微信區 瀏覽:214
博雅漢語pdf 瀏覽:932
免費反編譯軟體哪個好 瀏覽:300
程序員被黑是怎麼回事 瀏覽:324
單片機控制可調數字鍾 瀏覽:645
螺桿式壓縮機型號 瀏覽:647
PHP人才招聘網 瀏覽:906
基礎的命令 瀏覽:428
隱身文件夾設置教程 瀏覽:502
javahttp服務端 瀏覽:597
桌面電腦的圖標個別放不到文件夾 瀏覽:604
宇通客車空調壓縮機是哪裡產的 瀏覽:152
哪個app可以製作表情包 瀏覽:169
加密是指什麼意思 瀏覽:987
jquery基礎pdf 瀏覽:525
kr幣伺服器在什麼地方 瀏覽:658
安卓手機自己會震動是怎麼回事 瀏覽:194
網盤裡面加密壓縮文件怎麼打開 瀏覽:307
編譯中斷是為什麼 瀏覽:171