① 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中怎麼給變數初始化
不同的變數初始化方法不同。
變數包括:
類的屬性,或者叫值域
方法里的局部變數
方法的參數
對於第一種變數,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中全局變數不需要初始化,局部變數必須初始化。