java – 运算符优先级问题导致“错误:意外类型”
发布时间:2020-12-14 05:18:27 所属栏目:Java 来源:网络整理
导读:由于最近有很多运算符优先级问题,我开始使用一些代码并想出了这个: int x = someNumber;int y = --x++; 这给出了: Error: unexpected typerequired: variablefound: value 我试过这个是因为我有兴趣了解java如何处理postfix具有比前缀更高的运算符优先级这
由于最近有很多运算符优先级问题,我开始使用一些代码并想出了这个:
int x = someNumber; int y = --x++; 这给出了: Error: unexpected type required: variable found: value 我试过这个是因为我有兴趣了解java如何处理postfix具有比前缀更高的运算符优先级这一事实.这似乎上面的陈述会导致矛盾,我猜这是由这个错误处理的. 我的问题是双重的: >为什么这个错误?这究竟是什么意思? 解决方法
错误的原因是x产生一个值,并且您不能将减量运算符应用于值,仅应用于变量.例如,如果x = 41,则x计算为41,而不是变量x,– (41)无意义.
至于为什么postfix的优先级高于前缀,我猜测它是为了避免在解析时与其他运算符产生歧义.例如,编译器可以报告x-x的语法错误,而不是将其解析为x – ( – x). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |