2016-11-28 40 views
-1

我是學習Java的新手,被解釋爲每個變量都需要聲明。爲什麼我不需要分兩步做?Java Static typing

int a = Integer.parseInt(console.readLine("How old are you? ")); 
console.printf("a: %d", a); 
+3

你能解釋一些嗎?我不確定你對此感到困惑。 – 4castle

+2

爲什麼*你*需要在兩個步驟中做到這一點,在你的腦海裏?如果我們知道是什麼讓你首先想到這一點,那更容易解釋。 –

+0

我認爲這需要分兩步完成的原因是靜態打字。 console.readLine的響應沒有被聲明。 – n2java

回答

0

你不需要聲明一個變量,但是當你這樣做的時候,你必須指定一個類型(或右邊的超類型)。

console.readLine("How old are you? ")的返回值是一個String,printf可以將其作爲一個參數,所以沒有缺少的類型信息。

0

沒有什麼阻止你在一行中寫它,即

console.printf("a: %d", Integer.parseInt(console.readLine("How old are you? "))); 

這將沒有任何問題的工作。將其寫入一行成爲首選/可讀性的問題,並且在打印之前是否要對變量進行任何操作...

至於您的評論,您可以檢查documentationconsole.readLine()返回String