运算符优先于您定义它的方式,虽然常见,但并不是

Java语言应该识别的普遍事实.因此不,Java语言本身没有这样的比较.编写自己的文章当然很容易:

int precedenceLevel(char op) {

switch (op) {

case '+':

case '-':

return 0;

case '*':

case '/':

return 1;

case '^':

return 2;

default:

throw new IllegalArgumentException("Operator unknown: " + op);

}

}

然后给定char op1,op2,只比较precedenceLevel(op1),precedenceLevel(op2).

如果只有很少的运算符,也可以使用if-else或三元运算符代替switch.另一个选择是使用枚举运算符实现Comparable< Operator>,但是根据你正在做的事情,也许像ANTLR这样的解析工具更好.

请注意,上面的示例将^置于最高优先级,这意味着它可能用于表示取幂.事实上,Java语言中的^是独占的,或者它的优先级低于.

System.out.println(1+2^3); // prints 0

System.out.println(1+(2^3)); // prints 2

System.out.println((1+2)^3); // prints 0

这只是表明这些符号的优先级甚至语义不是普遍的事实.

也可以看看:

java优先级比较,Java运算符优先级比较相关推荐

  1. java运算优先级顺口溜_java运算符优先级记忆口诀

    尊重原创:(口诀)转自http://lasombra.iteye.com/blog/991662 今天看到<java编程思想>中的运算符优先级助记口诀,不过"Ulcer Addi ...

  2. java判断优先级代码_java运算符优先级排序正确的是哪些?

    在Java中,运算符是不可缺少的一份子,它支撑着Java的各种算法操作,与Java不可分离.但在Java运算符中也有优先级分别,你知道都是谁先谁后吗?跟小编一起来看看吧. Java中的优先级从上到下依 ...

  3. oracle 计算 符号优先级,oracle 表达式运算符优先级

    oracle 有以下几种运算符 算数运算符 连接运算符 比较(关系)运算符 逻辑运算符 1.算数运算符 算数运算符有四个, + , - ,* ,/. SELECT sal,sal*12 from em ...

  4. 计算机VB运算符号的优先级,VB.Net运算符优先级

    运算符优先级决定表达式中术语的分组.这会影响表达式的评估方式.某些运算符的优先级高于其他运算符,则会被优先运算; 例如,乘法运算符比加法运算符具有更高的优先级: 例如,表达式:x = 7 + 3 * ...

  5. linux C语言 任务优先级,C语言运算符优先级和口诀

    一共有十五个优先级: 1   ()  []  .  -> 2   !  ~   -(负号) ++  --   &(取变量地址)*   (type)(强制类型)    sizeof 3   ...

  6. c语言表达式的计算优先级,C语言运算符优先级(超详细)

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 C语言运算符优先级(超详细) 当想找哪个运算符优先级高时,很多时候总是想找的就没有,真让人气愤!现在,终于有个我个人觉得非常全的,分享给大家,欢迎拍砖! ...

  7. c语言运算符优先级结合,C语言运算符优先级及结合性

    今天去翻了下C语言运算符的优先级和结合性,发现当初学习的时候就没认真记住,惭愧.发现一篇讲得不错的文章,编辑了下转来供以后翻阅. C语言运算符优先级表(由上至下,优先级依次递减) 运算符 结合性 () ...

  8. Python运算符优先级与结合性

    Python运算符优先级与结合性 优先级和结合性是 Python 表达式中比较重要的两个概念,它们决定了先执行表达式中的哪一部分. Python 运算符优先级 所谓优先级,就是当多个运算符同时出现在一 ...

  9. Java/C语言/C++/Python/PHP运算符优先级

    Java 运算符优先级 运算符 优先级 postfix expr++ expr-- unary ++expr --expr +expr -expr ~ ! multiplicative * / % a ...

  10. Java运算符优先级(转)

    Java运算符优先级 序列号 符号 名称 结合性(与操作数) 目数 说明 1 . 点 从左到右 双目   ( ) 圆括号 从左到右     [ ] 方括号 从左到右     2 + 正号 从右到左 单 ...

最新文章

  1. 就挺凡尔赛的!李开复谈20年后的AI,崔宝秋论开源之道,清华唐杰的PPT成了“香饽饽” | MEET2021智能未来大会...
  2. [译]5步实现Silverlight中的Command
  3. 使用timer定时器,防止事件重入
  4. Spring注解@ConfigurationPropertie
  5. android书籍和教程推荐--不断更新
  6. 学习spring的入门好书:Professional Java Development with the Spring Framework
  7. bilibili缓存文件在哪里_Android——bilibili缓存视频合并教程[2.1]
  8. Java API 帮助文档中英文版下载
  9. ROHS认证是什么?
  10. 多种方法教你如何让手机免费上网
  11. 程序员版--致青春(一)——facejoking刷票工具(谈刷票原理)
  12. 分类任务中的类别不平衡问题
  13. #2021暑假杭电多校8_1003.Ink on paper
  14. Linux系统管理----用户权限
  15. 【git】—集中式与分布式版本控制系统
  16. Windows/Linux获取Mac地址和CPU序列号实现
  17. QQ游戏中心能力值抽大奖 抽奖得Q币 iPad QQ公仔等实物
  18. 诚之和:44页报告还原“美国散户复仇记”!揭秘黑池交易是如何割韭
  19. 洛谷 P3906 Geodetic集合 题解
  20. sd卡照片清除用什么软件可以找回

热门文章

  1. Web应用课HTML实操之名片制作
  2. 初学python爬虫,记录一下学习过程,requests库模拟登录01
  3. 有了继承,为什么要定义接口
  4. utxo模型_【易错概念】UTXO 和 Account 模型对比
  5. A_Machine_Vision_Apparatus_and_Method_for_Can-End_Inspection-论文阅读笔记
  6. java毕业设计 springboo影视播放在线视频点播系统 springboot毕业设计题目课题选题 springboot毕业设计项目作品源码(4)后台管理系统功能和界面
  7. Charles4.0最新版破解(更新至4.1)
  8. 交换机、服务器选购与规划
  9. 两种启动模式安装windows操作系统
  10. CentOS国内镜像源地址汇总持续更新