2015-05-01 49 views
0

在Java中,當你施放,讓我們說,一個雙爲int,你這樣做。
爲什麼Java Cast有這樣一個奇怪的語法?

int x = (int)(2.5 * 0.4); 

在Python中,我們有更好的閱讀語法。

x = int(2.5 * 0.4) 

這種奇怪的鑄造形式從何而來?爲什麼使用?

編輯: 這是如何主要是基於意見?我正在尋找事實歷史上的爲什麼和這個語法來自何處。請重新考慮。

+1

*這種奇怪的形式來自哪裏?*責備[標籤:C]爲[that](http://www.tutorialspoint.com/cprogramming/c_type_casting.htm) –

+1

這不是一個真正的問題 – Constant

+0

'INT(...)'看起來像一個方法調用 – MadProgrammer

回答

8

Java的語法是故意和有意識地模仿C(以及在較小的程度)C++的語法。

C和C++使用(<type>) <expr>作爲語法類型鑄造。

所以......

哪裏鑄造來自這個陌生的形式?

C和C++

爲什麼使用它?

進一步的Java設計目標在語法上與C和C++相似。


這對你來說可能很奇怪。但是,在最初設計Java的環境中,C++語言占主導地位。設計人員需要使C++程序員輕鬆過渡到Java。如果他們忽視了這一點,Java很可能永遠不會起飛。

+0

美麗而簡潔的回答! –

1

這些樣式都已經有一段時間了:功能和C類。考慮到C作爲代碼的流行,Java模仿了這種風格。 C++實際上允許兩種樣式。 Python在選擇其風格約定時有着不同的目標。

0

Java是在同一時間發明了當有C程序員的專業工作隊伍數量龐大,以及C++程序員略小的數量。語言設計者有意使Java的語法與C和C++非常相似,因此這一大羣人會發現它更容易學習,並且更容易適應Java。 C風格的轉換隻是Java中使用的C中的許多語法元素之一。

相關問題