为什么Java casting有如此奇怪的语法?

为什么Java casting有如此奇怪的语法?,java,casting,Java,Casting,在Java中,当您将double转换为int时,您可以这样做 在Python中,我们有更好的语法 这种奇怪的铸造形式从何而来?为什么要用它 编辑: 这主要是如何基于意见的?我正在寻找关于这个语法为什么和从何而来的事实历史。请重新考虑。这两种风格已经存在了一段时间:功能型和C型。鉴于C作为代码的流行,Java模仿了这种风格。C++实际上允许两种样式。Python在选择其样式约定方面有不同的目标 > java语法是有意和自觉地模仿C++,并在较小程度上对C++语法进行了建模。 > C和C++都用作

在Java中,当您将double转换为int时,您可以这样做

在Python中,我们有更好的语法

这种奇怪的铸造形式从何而来?为什么要用它

编辑:
这主要是如何基于意见的?我正在寻找关于这个语法为什么和从何而来的事实历史。请重新考虑。

这两种风格已经存在了一段时间:功能型和C型。鉴于C作为代码的流行,Java模仿了这种风格。C++实际上允许两种样式。Python在选择其样式约定方面有不同的目标

> java语法是有意和自觉地模仿C++,并在较小程度上对C++语法进行了建模。 <> > C和C++都用作类型转换的语法。

所以

这种奇怪的铸造形式从何而来

C和C++

为什么要用它

<>进一步研究与C和C++的语法相似度的java设计目标。


你可能觉得这很奇怪。然而,在java最初设计的上下文中,C++语言是占主导地位的。设计者需要使C+C++程序员轻松地转换为java。如果他们忽略了这个问题,java很可能永远不会被攻克。

java是在专业人员中有大量C程序员的时候发明的,而C++程序员的数量却少得多。语言设计者故意使java的语法与C和C++非常相似,这样这个大群体的人会发现它更容易学习,更容易适应java。C风格的转换只是Java也使用的C语言中许多语法元素之一。

这种奇怪的转换形式从何而来?这不是一个真正的问题。。。看起来像是一个方法调用这主要是基于意见的吗从你使用的加载单词奇怪。。。我想。@StephenC但是,那只是OPme的意见,回答者对此没有意见。回答得既漂亮又简洁!
int x = (int)(2.5 * 0.4);
x = int(2.5 * 0.4)