`

运算符的优先级别及结合性

阅读更多

当在一个表达式中存在多个运算符进行混合运算时,会根据运算符的优先级别来决定执行顺序,关于运算符优先级的顺序,如表1所示。
表1所列运算符的优先级,由上而下优先级别逐渐降低。其中,优先级最高的是之前未提及的括号“()”,它的使用与数学运算中的括号一样,只是用来指定括号内的表达式要优先处理,括号内的多个运算符,仍然要依照表2.16的优先级顺序进行运算。
对于处在同一层级的运算符,则按照它们的结合性,即“先左后右”还是“先右后左”的顺序来执行,Java中除赋值运算符的结合性为“先右后左”外,其他所有运算符的结合性都是“先左后右”。
例如:
int a=3;
int b=3;
int c=a+++b;                             //根据运算符的优先级"++"优先于"+", 所以c=(a++)+b
System.out.println(c);                       //输出结果为: 6
boolean e=!false||true;              //先来执行"!false", 再进行逻辑或运算
boolean f=!(false||true);                  //先来执行"false||true", 再进行逻辑非运算
System.out.println(e);                       //输出结果为: true
System.out.println(f);                       //输出结果为: false
int g=3;
System.out.println(g+=2>4);       //编译出错, 因为运算符">"优先于"+=", 所以先来执行"2>4",
//再来执行"g+=false", 而布尔值不能参与算术运算,因此编译出错
System.out.println((g+=2)>4);           //g值为5, 输出结果为: true
int n1=3;
int n2=3;
int k=20;
System.out.println(n1*=10+k);          //根据赋值运算符的结合性,
//等价于"n1=n1*(10+20) ", n1值为90, 输出结果为: 90
System.out.println((n2*=10)+k);        //等价于" (n2=n2*10)+k", n2值为30, 输出结果为: 50

http://www.isstudy.com/d/file/uploads/allimg/090902/1_090902095853_1.gif

 

来自:http://www.isstudy.com/java/1589.html

分享到:
评论

相关推荐

    Java运算符优先级别.doc

    "Java运算符优先级别" Java 的运算符优先级别是非常重要的知识点,对于 Java 开发者来说是必备的技能。了解 Java 的运算符优先级别可以帮助开发者编写更加清晰、简洁的代码,避免出现不必要的错误。 首先,我们...

    运算符优先算法利用数据结构中的运算符优先算法实现整数的加、减、乘、除、括号的多项式运算,运算表达式以#结尾

    运算符优先算法 利用数据结构中的运算符优先算法实现整数的加、减、乘、除、括号的多项式运算,运算表达式以#结尾。测试表达式如下运算: "1+(1+2)*(5+25/5)#" 利用数据结构中的运算符优先算法实现整数的加、减、乘...

    运算符优先的算法实现

    运算符优先的算法实现 运算符优先分析算法是编译原理实验中的一种重要算法,它的实现可以帮助我们更好地理解编译原理的基本概念和算法思想。在这个算法实现中,我们将详细介绍运算符优先分析算法的实现过程和设计...

    C语言运算符优先等级口诀

    "C语言运算符优先等级口诀" C语言运算符优先等级口诀是编程语言C语言中一个非常重要的概念,它决定了在表达式中运算符的执行顺序。掌握C语言运算符优先等级口诀对于编写正确、效率高的程序至关重要。 圆方括号、...

    C语言运算符的优先级别次序表

    C语言运算符的优先级别次序表.pdf )

    Java运算符优先级

    在实际的开发中,不需要去记忆运算符的优先级别,也不要刻意的使用运算符的优先级别,对于不清楚优先级的地方使用小括号去进行替代

    C语言运算符的优先级

    C语言运算符的优先级可以分为15个级别,每个级别都有其特定的运算符和结合方向。 第一级:数组下标、圆括号、成员选择(对象)和成员选择(指针) * 数组下标:数组名[常量表达式] * 圆括号:(表达式)或函数名...

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

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

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

    在表达式求值时,先按运算符的优先级别高低次序执行,例如先乘除后加减。C语言还规定了各种运算符的结合方向,众所周知的是,算术运算符的结合方式为“自左向右”,即先左后右,因此b先与减号结合,执行a-b的运算,...

    用算符优先法对算术表达式求值

    基于运算符栈和运算数栈,利用算符优先法对输入的中缀表达式求值。

    C语言中运算符的优先级与结合性

    对C语言中运算符的优先级与结合性进行了细致的排列比较。

    Turbo C运算符的优先次序

    Turbo C运算符的优先次序 Turbo C运算符的优先次序

    运算符的优先级和结合性.doc

    在编程语言中,运算符的优先级和结合性是决定表达式求值顺序的重要规则,这对于理解和编写正确、高效的代码至关重要。本篇文章将详细解析C语言和C#中的运算符优先级和结合性。 首先,运算符的优先级定义了在没有...

    C语言运算符的优先级与结合性

    C语言所有运算符的优先级与结合性,很实用的查询表

    c++的计算器程序代码

    3. 运算符优先级别:程序使用了 `in` 和 `out` 函数来判断运算符的优先级别,这是为了确保运算符的正确计算顺序。 4. 计算函数:程序实现了 `count` 函数,用于进行计算并将计算结果入栈。 5. 主函数:程序的主函数 ...

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

    C语言运算符优先级和结合性表,全面介绍了C语言运算符的优先级和结合性。

    运算符与结合性表

    eg:(1)同一优先级的运算符优先级别相同,运算次序由结合方向决定。例如,*与/具有相同的优先级别,其结合方向为自左至右,因此,3*5/4的运算次序是先乘后除。一和++为同一优先级,结合方向为自右至左,因此-i++...

    asp运算符图片运算符图片

    位运算符在低级别的编程中很有用,它们直接操作二进制位。包括按位与"&",按位或"|",按位异或"^",左移",右移">>"。 6. **字符串连接运算符**:在ASP中,使用"&"运算符可以将两个字符串连接起来,例如`var str = ...

    Swift 运算符

    本章节我们将为大家详细介绍算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符及其他运算符。 算术运算符 以下表格列出了 Swift 语言支持的算术运算符,其中变量 A 为 10,变量 B 为 20: 运算符 描述 ...

Global site tag (gtag.js) - Google Analytics