`

运算符优先级

    博客分类:
  • java
J# 
阅读更多

最近在研究表达式求值,看了下论坛推荐的JSEL和Aviator,感觉都挺不错, 我只要能做算术的基本运算以及一些比较、逻辑运算就好了, 它俩都已经能满足我对表达式求值的要求了。

运算符优先级刚好复习一下, 有些确实是记不得了。

优先级 运算符 结合性
1 () [] . 从左到右
2 ! +(正) -(负) ~ ++ -- 从右向左
3 * / % 从左向右
4 +(加) -(减) 从左向右
5 << >> >>> 从左向右
6 < <= > >= instanceof 从左向右
7 == != 从左向右
8 &(按位与) 从左向右
9 ^ 从左向右
10 | 从左向右
11 && 从左向右
12 || 从左向右
13 ?: 从右向左
14 = += -= *= /= %= &= |= ^= ~= <<= >>= >>>= 从右向左


说明:

移位运算符

“>>”右移;“<<”左移;“>>>”无符号右移

位逻辑运算符

“&”与;“|”或;“~”非;“^”异或

“&”与;“|”或;“~”非是基本逻辑运算,由此可以演变出“与非”、“或非”、“与或非”符合逻辑运算、“^”异或是一种特殊的逻辑运算,对它求反可以得到“同或”,所以“同或”逻辑也要“异或非”逻辑。

“&”两个运算数都为1时,结果为1,其余结果为0
“ | ”两个运算数都为0时,结果为0,其余结果为1
“ ^ “两个运算数相同时,结果为0,不同时结果为1
” ~ “0变成1,1变成0

布尔运算符:

&&:对运算数进行与运算,当所有的运算数都为true时,结果为true,否则为false;&&是短路与,意思是:当对运算数的表达式进行从左到右运算时,若遇到右运算数的值为false,则结束运算,将结果置为false

||:对运算数进行运算,当所有运算数都为false时,结果为false,否则结果为true;||是短路或,意思是:当对运算数的表达式进行从左到右的运算时,若遇到有运算数的值为ture,就结束运算,将结果置为true

!:对运算数的值进行取反运算,运算数为true,取反为false;

&:&运算符和&&一样,对运算数做与操作,不同的是它不是短路的,它会运算完所有的运算数表达式

|:|运算符和||一样,对运算数进行或操作,但它不是短路的

赋值运算符:=;+=;-=;*=;/=;&=;|=;^=;

i+=j ------ i=i+j

i-=j ------ i=i-j

i*=j ------ i=i*j

i/=j ------ i=i/j

i&=j ------ i=i&j

i|=j ------ i=i|j

i^=j ------ i=i^j

分享到:
评论

相关推荐

    Verilog HDL 运算符 优先级

    Verilog HDL 运算符优先级详解 Verilog HDL 是一种基于事件驱动的硬件描述语言,用于设计和验证数字电路。Verilog HDL 运算符优先级是指在 Verilog HDL 中各种运算符的执行顺序和优先级,了解运算符优先级对编写...

    C语言各运算符优先级及函数大全

    C语言各运算符优先级及函数大全 C语言中的运算符优先级是程序员必须掌握的基础知识。了解运算符的优先级可以帮助程序员编写正确、简洁的代码。下面将详细介绍C语言中的运算符优先级和相关知识点。 一、数组下标...

    C++运算符优先级表

    C++运算符优先级表 C++ 运算符优先级表是一份非常重要的参考资源,对于C++开发者来说是必不可少的。本文将详细介绍C++运算符优先级表,并对每个运算符进行解释。 一、括号运算符 括号运算符的优先级最高,包括...

    C语言运算符优先级-详细列表

    C语言中的运算符优先级和特殊符号使用是编程中非常重要的部分,正确理解它们的含义和规则能够帮助编程人员写出符合预期的代码,避免一些常见的错误。以下是针对C语言运算符优先级的详细列表及特殊符号的使用说明。 ...

    C#运算符优先级解释

    在深入探讨C#运算符的优先级之前,我们先来明确一下什么是运算符以及优先级在编程中的作用。...因此,在学习和应用运算符优先级时,始终保持对代码质量和用户体验的关注,将使你成为一个更加优秀的程序员。

    C语言运算符优先级.docx

    ### C语言运算符优先级详解 #### 概述 在C语言编程中,理解运算符的优先级至关重要,因为这直接影响着程序的执行结果。不同的运算符根据其优先级顺序来决定表达式的计算顺序。本篇文章将详细介绍C语言中的运算符...

    运算符优先级总结(C++)

    ### 运算符优先级总结(C++) 在C++编程语言中,了解运算符的优先级对于编写高效且无误的代码至关重要。本篇文章基于提供的文件信息进行深入解析,帮助读者更好地掌握C++中的运算符优先级及其结合性。 #### 一、...

    C++ 运算符优先级列表

    ### C++运算符优先级详解 #### 一、引言 在C++编程语言中,了解运算符的优先级对于正确地构造表达式至关重要。不同的运算符根据其优先级顺序来决定表达式的计算顺序,这直接影响到程序的执行结果。本篇文章将详细...

    C语言运算符优先级表.pdf

    C语言运算符优先级表 C语言运算符优先级表是指在C语言中所有运算符的优先级顺序和结合方向的总结。正确理解和掌握C语言运算符的优先级和结合方向对于编写正确和高效的C语言程序非常重要。 以下是C语言运算符的...

    C语言运算符优先级.xls

    C语言运算符优先级

    C语言运算符优先级.pdf

    了解C语言的运算符优先级对于编写清晰、正确的代码至关重要。没有正确地理解和应用优先级,可能会导致程序的逻辑错误或性能问题。因此,在编程时,应当养成使用括号明确优先级的习惯,或者根据已经掌握的优先级表来...

    java运算符优先级表

    非常详细的java运算符优先级表,帮助记住优先级顺序

    C语言运算符优先级和结合性表

    ### C语言运算符优先级和结合性 在C语言中,理解运算符的优先级和结合性对于正确地编写和解读代码至关重要。本篇文章将基于提供的C语言运算符优先级和结合性表进行详细的解析。 #### 一、运算符优先级 运算符...

    C++实战篇:运算符优先级

    C++实战篇:运算符优先级 C++实战篇:运算符优先级 C++实战篇:运算符优先级 C++实战篇:运算符优先级 C++实战篇:运算符优先级 C++实战篇:运算符优先级 C++实战篇:运算符优先级 C++实战篇:运算符优先级 C++实战...

    Java综合程序设计——计算器(实现运算符优先级的四则混合运算)

    在本项目中,"Java综合程序设计——计算器(实现运算符优先级的四则混合运算)"是一个典型的软件开发任务,旨在实现一个功能丰富的计算器,包括基础的四则运算以及更复杂的数学操作如对数和平方根。这个计算器的关键...

    C语言运算符优先级和口诀.doc

    C语言中的运算符优先级是编程时非常关键的知识点,它决定了表达式中不同运算的执行顺序。了解这些规则能帮助我们写出更清晰、更准确的代码。下面将详细解释C语言运算符的优先级和结合性,并提供相应的记忆口诀。 ...

    巧记C语言运算符优先级

    "巧记C语言运算符优先级" C语言的运算符优先级关系复杂难记,结合编程和教学实践,给出了C语言运算符优先级的巧记规则,辅以实例加以说明。下面将详细介绍C语言的运算符优先级关系和巧记规则。 C语言共有多达45个...

    C语言运算符优先级C语言运算符优先级.doc

    C语言运算符优先级C语言运算符优先级

    运算符优先级图表

    运算符优先级图表

Global site tag (gtag.js) - Google Analytics