精华内容
下载资源
问答
  • Java运算符优先级及结合性
    2021-05-20 15:37:22
    优先级运算符结合性
    1()[]从左到右
    2! +(正) -(负) ~ ++ - -从右到左
    3* / %从左到右
    4+(加) -(减)从左到右
    5<< >> >>>从左到右
    6< <= > >= instanceof从左到右
    7== !=从左到右
    8&(按位与)从左到右
    9^从左到右
    10从左到右
    11&&从左到右
    12从左到右
    13? :从右到左
    14= += -= *= /= %= &= |= ^= ~= <<= >>= >>>=从右到左

    转自:链接
    注意:
    ①该表中优先级为1的优先级最高,优先级14的优先级最低。
    ②结合性是指运算符结合的顺序,通常情况下是“从左到右”。“从右向左”最典型的运算符就是负号,例如3 + -4,意义是3加-4,符号首先和运算符右侧的内容结合。
    ③instanceof作用是判断对象是否为某个类或接口类型。
    ④要注意“正负号”和“加减号”,“按位与”和“逻辑与”的区别。

    尊重原创:(口诀)转自 链接
    口诀:单目乘除为关系,逻辑三目后赋值

    单目:单目运算符+ –(负数) ++ – 等
    乘除:算数单目运算符* / % + -
    为:位移单目运算符<< >>
    关系:关系单目运算符> < >= <= == !=
    逻辑:逻辑单目运算符&& || & | ^
    三目:三目单目运算符A > B ? X : Y
    后:无意义,仅仅为了凑字数
    赋值:赋值=

    更多相关内容
  • Java运算符优先级

    2015-08-11 11:26:22
    在实际的开发中,不需要去记忆运算符的优先级别,也不要刻意的使用运算符的优先级别,对于不清楚优先级的地方使用小括号去进行替代
  • Java运算符优先级.pdf

    2021-04-07 14:51:18
    Java运算符优先级.pdf
  • java运算符优先级

    万次阅读 多人点赞 2018-06-07 10:21:09
    java中运算符的优先级 优先级记忆方法:单目乘除为关系,逻辑三目后赋值。...Java 中常用的运算符优先级如下表所示: 级别为 1 的优先级最高,级别 11 的优先级最低。譬如,x = 7 + 3 * 2 得到的结...

    转载博客:https://blog.csdn.net/pc_gad/article/details/52861838

    java中运算符的优先级

    优先级记忆方法:单目乘除为关系,逻辑三目后赋值。(前辈总结的)

    单目运算符:一次作用一个变量的运算符,又叫一元运算符
    单目:单目运算符+ –(正负数) ,++ –,!(逻辑非),~(按位取反)
    乘除:算数运算符:* / % + - (* / %优先级肯定是大于+-的)
    为:位运算符:~(按位取反)<<(左移) >>(右移),^(也可以位运算,二进制异或)
    关系:关系运算符:> < >= <= == !=
    逻辑:逻辑运算符(除!)&& || & | ^
    三目:条件运算符A > B ? X : Y
    后:无意义,仅仅为了凑字数
    赋值:= += -= *= /= %= |= &= ^=
    说明:前优先级大于后,比如单目运算符~也是位运算符,~的优先级是单目级别的。至于赋值运算符中没有见过的自行测试

    所谓优先级,就是在表达式中的运算顺序。Java 中常用的运算符的优先级如下表所示:
    这里写图片描述

    级别为 1 的优先级最高,级别 11 的优先级最低。譬如,x = 7 + 3 * 2 得到的结果是 13 “先乘后加”嘛!

    PS:大家没必要去死记运算符的优先级顺序,实际开发中,一般会使用小括号辅助进行优先级管理。例如:

    这里写图片描述

    分析:小括号优先级最高,因此

    1、 执行 a + 18 ,结果为 30

    2、 执行( a + 18 ) % 4 取模,结果为 2

    3、 执行 a * ( ( a + 18 ) % 4 ),结果为 24

    例子1:

    public class HelloWorld {
    public static void main(String[] args) {
    int m = 5;
    int n = 7;
    int x=(m*8/(n+2))%m;
    System.out.println(“m:” + m);
    System.out.println(“n:” + n);
    System.out.println(“x:” + x);
    }
    }

    运行结果:
    m:5
    n:7
    x:4

    例子2:

    表达式( 11+ 3* 8 ) / 4 % 3 的结果是?

    第一步:计算3*8,结果为24;第二步:计算11+3*8,结果为35;第三步:计算(11 + 3 * 8) / 4,结果为8;第四步:计算(11 + 3 * 8) / 4 % 3,结果为2

    展开全文
  • Java运算符优先级序列号符号名称结合性(与操作数)目数说明1.点从左到右双目( )圆括号从左到右[ ]方括号从左到右2+正号从右到左单目-负号从右到左单目++自增从右到左单目前缀增,后缀增- -自减从右到左前缀减,后缀减...

    Java运算符优先级

    序列号

    符号

    名称

    结合性(与操作数)

    目数

    说明

    1

    .

    从左到右

    双目

    ( )

    圆括号

    从左到右

    [ ]

    方括号

    从左到右

    2

    +

    正号

    从右到左

    单目

    -

    负号

    从右到左

    单目

    ++

    自增

    从右到左

    单目

    前缀增,后缀增

    - -

    自减

    从右到左

    前缀减,后缀减

    ~

    按位非/取补运算

    从右到左

    单目

    逻辑非

    从右到左

    单目

    3

    *

    从左到右

    双目

    /

    从左到右

    双目

    整数除法:取商的整数部分,小数部分去掉,不四舍五入

    %

    取余

    从左到右

    双目

    4

    +

    从左到右

    双目

    -

    从左到右

    双目

    5

    <<

    左移位运算符

    从左到右

    双目

    >>

    带符号右移位运算符

    从左到右

    双目

    >>>

    无符号右移

    从左到右

    双目

    <=

    小于或等于

    从左到右

    双目

    >

    大于

    从左到右

    双目

    >=

    大于或等于

    从左到右

    双目

    instanceof

    确定某对象是否属于指定的类

    从左到右

    双目

    7

    ==

    等于

    从左到右

    双目

    !=

    不等于

    从左到右

    双目

    8

    &

    按位与

    从左到右

    双目

    9

    |

    按位或

    从左到右

    双目

    10

    ^

    按位异或

    从左到右

    双目

    11

    &&

    短路与

    从左到右

    双目

    12

    ||

    短路或

    从左到右

    双目

    13

    ? :

    条件运算符

    从右到左

    三目

    14

    =

    赋值运算符

    从右到左

    双目

    +=

    混合赋值运算符

    -=

    *=

    /=

    %=

    &=

    |=

    ^=

    <<=

    >>=

    >>>=

    说明:

    1、算数运算符

    + :加法

    - :减法

    * :乘法

    / :除法

    % :取余运算

    2、关系运算符

    < :只能比较基本类型数据之间的关系,不能比较对象之间的关系。

    > : (同关系运算符“

    <=: (同关系运算符“

    >=: (同关系运算符“

    == :若使用该运算符比较两个对象的引用(变量),则实质上是比较两个变量是否引用了相同的对象。所谓相同的对象是指,是否是在堆栈(Heap)中开辟的同一块儿内存单元中存放的对象。

    若比较两个对象的引用(变量)所引用的对象的内容是否相同,则应该使用equals()方法,该方法的返回值类型是布尔值。需要注意的是:若用类库中的类创建对象,则对象的引用调用equals()方法比较的是对象的内容;若用自定义的类来创建对象,则对象的引用调用equals()方法比较的是两个引用是否引用了同一个对象,因为第二种情况equals()方法默认的是比较引用。

    != :(同关系运算符“==”)

    3、逻辑运算符 (操作符只能是布尔类型的)

    &&

    ||

    !

    b6c494739269bbcf6062f4348b83cbbe.gif

    1 public class Demo {

    2 public static void main(String[] args) {

    3 // System.out.println((!'1'||'1')+5);//编译错误

    4 // System.out.println(!5);//编译错误

    5 // System.out.println(('1'||'1')+5);//编译错误

    6 // System.out.println(1||2);//编译错误

    7 // System.out.println(5-3||4-2);//编译错误

    8 System.out.println(5<3||4>3);//true

    9 }

    10 }

    b6c494739269bbcf6062f4348b83cbbe.gif

    4、位运算符

    &

    |

    ^

    ! :不可以与=联用,因为!是一元操作符;不可以对布尔类型的数据进行按位非运算

    5、移位运算符(只能处理整数运算符)

    Char、byte、short类型,在进行移位之前,都将被转换成int类型,移位后的结果也是int类型;移位符号右边的操作数只截取其二进制的后5位(目的是防止因为移位操作而超出int类型的表示范围:2的5次方是32,int类型的最大范围是32位);对long类型进行移位,结果仍然是long类型,移位符号右边的操作符只截取其二进制的后6位。

    << :

    >> :若符号位为正,则在最高位插入0;若符号位为负,则在最高位插入1

    >>> :无论正负,都在最高位插入0

    b6c494739269bbcf6062f4348b83cbbe.gif

    1 public class Demo {

    2 public static void main(String[] args) {

    3 // 0000 0000 0000 0101

    4 // 0000 0000 0000 0010

    5 System.out.println(5>>1);//2

    6 // 0000 0000 0000 1000

    7 // 0000 0000 0000 0100

    8 System.out.println(8>>1);//4

    9 System.out.println(3+5>>1);//4

    10 System.out.println(3+(5>>1));//5

    11 }

    12 }

    b6c494739269bbcf6062f4348b83cbbe.gif

    http://www.cnblogs.com/gw811/archive/2012/10/13/2722752.html

    展开全文
  • java运算符优先级.doc

    2021-11-24 19:41:42
    java运算符优先级.doc
  • 但在Java运算符中也有优先级分别,你知道都是谁先谁后吗?跟小编一起来看看吧。Java中的优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。相同优先级中,按结合顺序计算。大多数运算是...

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

    Java中的优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。

    相同优先级中,按结合顺序计算。大多数运算是从左至右计算,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。

    基本的优先级需要记住:

    指针最优,单目运算优于双目运算。如正负号。

    先乘除,后加减。

    先算术运算,后移位运算,最后位运算。请特别注意:1 << 3 + 2 & 7等价于 (1 << (3 + 2))

    & 7.

    逻辑运算最后计算。

    例如,(1+3)+(3+2)*2,这个表达式如果按加号最优先计算,答案就是 18,如果按照乘号最优先,答案则是 14。

    再如,x = 7 + 3 * 2,这里x得到13,而不是20,因为乘法运算符比加法运算符有较高的优先级,所以先计算3 * 2得到6,然后再加7。

    下面具有最高优先级的运算符在最上面,最低优先级的在底部。类别              操作符                关联性

    后缀             () [] . (点操作符)    左到右

    一元             + + - !?             右到左

    乘性          * /%                    左到右

    加性          + -                      左到右

    移位          >> >>>  <

    关系          >> = <

    相等          ==  !=                   左到右

    按位与         &                      左到右

    按位异或     ^                         左到右

    按位或         |                       左到右

    逻辑与         &&                      左到右

    逻辑或         | |                     左到右

    条件            ?:                   右到左

    赋值    = + = - = * = / =%= >> = <

    逗号    ,                             左到右

    优先级顺序看完了,我们来通过代码,加强一下:int n = 3>4 ? 100 : 200;

    这行的代码运算执行顺序我们来写一下:

    1.执行 3>4操作,得到布尔类型false的结果

    2.通过结果false,将对应的表达式2的结果200,作为运算的最终结果

    3.把200 赋值给变量n

    接下来,我们看一个比较复杂的代码:int a = 5;

    int b = 3;

    int c = 1;

    int n2 = (a>b && b>c) ? (c++) : (++c);

    这段代码运算执行顺序我们也写一下:

    1.小括号优先级高,我们先运算第一组小括号中的代码

    1.1. 比较运算符”>” 优先级大于 逻辑运算符”&&”

    先执行 a>b,得到结果true;

    再执行 b>c,得到结果true;

    最后执行 a>b的结果 && b>c的结果,即 true && true, 结果为true

    2.三元运算符中的条件判断结果为true,返回表达式1的结果 c++

    先将变量c的原有值赋值给变量n2,即n2值为1;

    再将变量c的值自增1,更新为2。

    以上就是今天的所有内容了,更多有关Java入门的知识请持续关注本网站了解吧。

    展开全文
  • java运算符优先级[整理].pdf
  • java运算符优先级[借鉴].pdf
  • java 运算符优先级

    2020-11-13 17:35:24
    java 运算符优先级 优先级1最高,14最低。
  • Java 运算符优先级

    2020-02-19 09:23:29
    Java运算符优先级 算术运算符优先级较高,关系和逻辑运算符优先级较低。 多数运算符具有左结合性,单目运算符、三目运算符、赋值运算符具有右结合性。 类别 操作符 关联性 后缀 () [] . (点操作符) ...
  • 常用对照表-Java运算符优先级[归纳].pdf
  • java代码-运算符优先级
  • 优先级口诀记忆: 单目乘除为关系,逻辑三目后赋值。(大佬总结出来的) 单目运算符:指运算所需变量为一个的运算符,即再运算中只有一个操作数,又称一元运算符 单目:!(逻辑非),~(按位取反),++ -- (自增自减...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 48,360
精华内容 19,344
关键字:

java运算符优先级

java 订阅
友情链接: ant_1.3.4.zip