返回值周围的java括号为什么?
经常看到这样的代码(C,C++和有时java):return (value);
我看不出这些括号有什么好处。所以我的问题是,程序员是否假设return
是某种返回值作为参数的函数,还是真的存在这些括号有意义的情况
我知道已经有人问过类似的问题here,但这只与ANSI C有关。我想知道C++中有哪些方面是没有的,java是没有答案的。p>
你可以在下面搜索框中键入要查询的问题!
return (value);
我看不出这些括号有什么好处。所以我的问题是,程序员是否假设return
是某种返回值作为参数的函数,还是真的存在这些括号有意义的情况
我知道已经有人问过类似的问题here,但这只与ANSI C有关。我想知道C++中有哪些方面是没有的,java是没有答案的。p>
# 1 楼答案
大部分是遗产。K&;R C编程语言(1978)使用括号显示返回。一些旧的C编译器可能需要这个,但我不确定
# 2 楼答案
从技术上讲,没有理由在
return
中插入表达式。这真的是口味的问题也就是说,如果一个
return
表达式使用布尔运算符,我通常会用括号括起来。由于此类运算符通常被视为while
或if
的一部分,因此在我看来,更清楚的是,除了跳跃之外,您还希望使用该值做一些事情# 3 楼答案
首先,这不是强制性的,您将在返回表达式&;中看到它的重要性;不是价值观。但如果不使用括号,代码可能不太容易阅读(特别是在复杂表达式的情况下),并且可能会造成混淆。此外,可能需要注意的是,它不是一个函数(因为括号不是必需的)。您可能会注意到main()主体末尾的
return 0;
情况。 这里值得注意的是,0没有使用括号,这证明它不是一个函数。 因此,括号用于使编译器更易于阅读和理解代码# 4 楼答案
关于C
括号放在有表达式且希望返回值为该表达式值的位置即使如此,也不需要括号写这样的东西完全可以
程序员确实使它更具可读性
因此,插入括号是意见和实践的问题
关于C++
有一个神秘的例子,括号很重要。引用this问题
您可以看到返回的值是不同的,这是由于括号造成的。你可以通过this答案来详细理解
对于java,括号没有任何区别。
编码惯例建议使用
要了解更多信息,请阅读this答案
<强>注释> <强> >我对java和C++了解不多。我的回答中关于java和C++的所有内容都是从其他答案中提取出来的。我这样做是为了整合这三种语言的不同约定。