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