日期:2014-05-20  浏览次数:20713 次

迷惑!!JAVA中的括号究竟是不是运算符??
近日来很迷惑,在JAVA中括号用在表达式中和调用方法处,还有定义方法处。
这三处中哪一处算是运算符。查过积木死狗司令(JAVA之父)的 < <java语法规范V3> > 上面居然无运算符优先级, < <java   core> > 中运算符优先级表上第一列是 "   .   (param)   [] "   这个(param)   是方法调用,看来是把调用方法处这个括号作为运算符了,这对吗?(我本人感觉是不对的)   表达式中的括号却在该表中未出现,看来是没有当成运算符了,这又对吗?
< <java   core> > 本是牛书,可是(JAVA之父)出的书也不敢小瞧,还有国内的教材书等,这些书我都把运算符优先级表对比了一下,一个比较令人生气的问题出现,那就是运算符优先级表不尽相同,虽大同小异,但细节之处各说各的。严谨的JAVA怎么能这样哪?唉。只请高人指教一下,到底括号用在何处算是运算符?

------解决方案--------------------

引起操作的符号都是运算符。

. //属性寻址
() //函数调用
[] //下标操作

三个都是。改变运算优先级的()可以不算在内。

> > 严谨的JAVA怎么能这样哪?
不要随便归咎责任……

> > 那个.运算符和圆括号,哪个优先级更高一些,书上说都是1级的,大家认为呢?
真无聊……