2015-05-01 47 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中的许多语法元素之一。

相关问题