在Java中,当你施放,让我们说,一个双为int,你这样做。
为什么Java Cast有这样一个奇怪的语法?
int x = (int)(2.5 * 0.4);
在Python中,我们有更好的阅读语法。
x = int(2.5 * 0.4)
这种奇怪的铸造形式从何而来?为什么使用?
编辑: 这是如何主要是基于意见?我正在寻找事实历史上的为什么和这个语法来自何处。请重新考虑。
在Java中,当你施放,让我们说,一个双为int,你这样做。
为什么Java Cast有这样一个奇怪的语法?
int x = (int)(2.5 * 0.4);
在Python中,我们有更好的阅读语法。
x = int(2.5 * 0.4)
这种奇怪的铸造形式从何而来?为什么使用?
编辑: 这是如何主要是基于意见?我正在寻找事实历史上的为什么和这个语法来自何处。请重新考虑。
Java的语法是故意和有意识地模仿C(以及在较小的程度)C++的语法。
C和C++使用(<type>) <expr>
作为语法类型铸造。
所以......
哪里铸造来自这个陌生的形式?
C和C++
为什么使用它?
进一步的Java设计目标在语法上与C和C++相似。
这对你来说可能很奇怪。但是,在最初设计Java的环境中,C++语言占主导地位。设计人员需要使C++程序员轻松过渡到Java。如果他们忽视了这一点,Java很可能永远不会起飞。
美丽而简洁的回答! –
这些样式都已经有一段时间了:功能和C类。考虑到C作为代码的流行,Java模仿了这种风格。 C++实际上允许两种样式。 Python在选择其风格约定时有着不同的目标。
Java是在同一时间发明了当有C程序员的专业工作队伍数量庞大,以及C++程序员略小的数量。语言设计者有意使Java的语法与C和C++非常相似,因此这一大群人会发现它更容易学习,并且更容易适应Java。 C风格的转换只是Java中使用的C中的许多语法元素之一。
*这种奇怪的形式来自哪里?*责备[标签:C]为[that](http://www.tutorialspoint.com/cprogramming/c_type_casting.htm) –
这不是一个真正的问题 – Constant
'INT(...)'看起来像一个方法调用 – MadProgrammer