Java语言中运算符号优先级

这篇具有很好参考价值的文章主要介绍了Java语言中运算符号优先级。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、运算符号优先级

Java语言中运算符号优先级

二、按功能区分运算符

算术运算符:+,-,*,/,%,++,--

赋值运算符:=

扩展后的赋值运算符:+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=,>>>=

关系比较运算符:>,>=,<,<=,==

逻辑运算符:&&,&,||,|,!,^

位运算符:&,|,~,^,<<,>>,>>>

其他运算符(三目运算符):? :

1、算术运算符:

(1)+(加法)

int a = 3;

int b = 2;

in sum = a+b;  /sum的值为5

(2)-(加法)

int a = 3;

int b = 2;

int sub = a-b;  //sub的值为1

(3)*(乘法)

int a = 3;

int b = 2;

int multiply = a*b;  //multiply 的值为6

(4)/(除法--取整)

int a = 8;

int b = 4;

int div = a / b;  //div的值为2

(5)%(求取--取模)

int a = 8;

int b = 5;

int div = a % b;   //div的值为3

(6)++(自增)

运算符既可以放在操作数的左边也可以放在操作数的右边。

如果把++放在左边,则先把操作数加1,然后再运算;

自加运算符放在操作数左边的代码:

int a = 2;

int b = ++a + 3; //a先自加,然后再执行算术运算

System.out.println(a);  //a的值为3

System.out.println(b);  //b 的值为6

如果把++放在右边,则先运算,然后再把操作数加1。

自加运算符放在操作数右边的代码:

int a = 2;

int b = a++ + 3; //a先执行算术运算,再自加

System.out.println(a);  //a的值为3

System.out.println(b);   //b 的值为5

(7)--(自减)(与自增相似)

也可以查看

a++与++a的区别

2、赋值运算符:=(用来为变量指定变量值;)

扩展后的赋值运算符:+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=,>>>=

(1)+=:对于a+=b,即对应于a=a+b。

(2) -=:对于a-=b,即对应于a=a-b。

(3) *=:对于a*=b,即对应于a=a*b。

(4) /=:对于a/=b,即对应于a=a/b。

(5) %=:对于a%=b,即对应于a=a%b。

(6) &=:对于a&=b,即对应于a=a&b。

(7) |=:对于a|=b,即对应于a=a|b。

(8) ^=:对于a^=b,即对应于a=a^b。

(9) <<=:对于a<<=b,即对应于a=a<<b。

(10) >>=:对于a>>=b,即对应于a=a>>b。

(11)>>>=:对于a>>>=b,即对应于a=a>>>b。

3、关系比较运算符:

>(大于),>=(大于等于),<(小于),<=(小于等于),==(等于)

4、逻辑运算符:

(1)&&(与):两个操作全为true,才返回true,反之返回false;

(2)&(不短路与):作用同&&,但不会短路;

(3)||(或):两个操作只要有一个为true,就返回true,全为false才返回false;

(4)|(不短路或):作用同 || ,但不会短路;

(5)!(非):即取反,若操作数为true,则返回false,反之;

(6)^(异或):两个操作数不同时返回true,相同时返回false;

5、位运算符:(转换为二进制进行计算)

(1)&(按位与)

按位与 规则:(全 1 为 1)

1 & 1 =1

1 & 0 =0

0 & 1 =0

0 & 0=0

(2)|(按位或)

按位或 规则:(有 1 为 1)

1 | 1 =1

1 | 0 =1

0 | 1 =1

0 | 0 =0

(3)~(按位非)

非运算规则:(将操作数的每一位(包括符号位)全部取反。)

~ 1 = 0

~ 0 = 1

(4)^(按位异或)

按位异或 规则:(相同为 0 ;相异为 1 )

(5)<<(左移运算符)

System.out.println (5<<2); //输出20

左移 2 位,也就相当于:5*2*2=20;

或是将数字转换为二进制,即5====》101

左移两位:101=====》101 00 

二进制转十进制:10100  ====》20

(6)>>(右移运算符)

System.out.println (16>>3); //输出2

右移 3 位,就相当于:16 / 2 / 2 /2 =2; 

与左移相似:

将数字转换为二进制,即16====》1000 0

右移三位:1000 0=====》10 

二进制转十进制:10  ====》2

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

(7)>>>(无符号右移运算符)

>>> 和 >> 的区别在于:
>>> 负数高位补 0;
>> 负数高位补1;

Java语言中运算符号优先级

 

6、其他运算符(三目运算符):? :

语法格式:(expression) ? if-true-statement : if-false-statement

如:String str = 6>4 ? "6大于4" : "6不大于4" ;

System.out.println(str); //输出6大于4文章来源地址https://www.toymoban.com/news/detail-443558.html

到了这里,关于Java语言中运算符号优先级的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

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

             优先级 运算符 含义 运算类型 结合方向 1 ()   [ ]   -    . ++ -- 圆括号、函数参数表 数组元素下标 指向结构体成员 引用结构体成员 后缀增1、后缀减1 —— 自左向右 2 ! ~ ++  -- - * (类型标识符) sizeof 逻辑非 按位取反 前缀增1、前缀减1 取负 间接寻址运算符

    2024年02月16日
    浏览(37)
  • Verilog运算符优先级

    0 ! ~ 1 * / % 2 + 1 3 4 = = 5 == != === !== 6 ~ 7 ^ ^~ 8 | ~| 9 10 || 11 ?: 从上至下优先级依次降低

    2024年02月16日
    浏览(37)
  • JavaScript运算符及优先级

    一、算数运算符 算术运算符(+,-, * ,/,%【重要】,++【重要】,--) 其中 + 的左边和右边有 \\\" \\\", 表示拼接 i++,表示先赋值后+1     ++i ,表示先+1后赋值  同理减法也是如此 算数运算中,+ 可以进行隐式迭代,将字符串数字转化为Number类型 二、比较算数运算符 比较运算

    2024年02月07日
    浏览(43)
  • Python 运算符 算数运算符 关系运算符 赋值运算符 逻辑运算 (逻辑运算符的优先级) 位运算 成员运算符 身份运算符 运算符的优先级

    四则运算+ - * / 取模运算 % 之所以出现1 与 2 的不同 是因为python取模计算规则为 r = p-q*floor(p/q) floor表示向下取余 **幂 **** 取整除 向下取整 ‘//’ 等于关系 == 大于 大于等于(大于||等于) 小于 小于等于(小于||等于) != 不等于 不同数据类型之间的比较,若是不同的数据类型进行比

    2024年02月04日
    浏览(68)
  • C#常用运算符的优先级

    运算符在C#编程语言中扮演着重要的角色,用于执行各种计算和操作。了解运算符的优先级是编写高效和正确代码的关键。本文将深入探讨C#中38个常用运算符的优先级划分和理解,并提供详细的说明和示例,以帮助读者更好地理解运算符的使用。 算术运算符用于执行基本的数

    2024年02月05日
    浏览(44)
  • C++所有运算符及其优先级表格

    运算符 运算符介绍 优先级 :: 范围解析 1 () [] - . 圆括号、方括号、箭头、点号 2 ++ -- 后缀递增、后缀递减 2 typeid const_cast dynamic_cast reinterpret_cast static_cast 类型名称、常量类型转换、动态类型转换、重新解释的类型转换、静态类型转换 2 ! ~ ++ -- + - * (type) sizeof new delete 非、按位

    2024年02月13日
    浏览(38)
  • C/CPP位运算优先级的坑

    做leetcode时遇到的,判断一个数某一比特位是否为0。 万万没想到 运算符的优先级是低于 == 的,debug了好久,得加上括号。 1.1 验证 输出结果为 这是在写二分的时候遇到的, l + (r-l) 1 的值永远为 r 1 应该写作 l + (r - l 2) 。 2.1 验证 输出结果为

    2024年02月17日
    浏览(30)
  • 运算符的优先级(规矩是人定的)

    什么是经典?经典就是理论不随时间变迁而变化。《东方不败》中的很多台词让人时不时想起来振聋发聩。比如 很多事情不是自己想的那样,规矩是人定的。 从小到大,我们都学过数学运算时要 先乘除后加减 ,谁定的? 舔狗说:“老师讲的都是对的,所以这样!”有思想

    2024年02月03日
    浏览(42)
  • c语言[]优先级大于*优先级

    本博文源于笔者正在学习的c语言[]优先级大于*优先级.在定义二维数组时,a+1与[]号结合后,谁的优先级更高,是本博文探讨的话题 想要看看*与[]谁的优先级更高 通过代码发现[]优先级比*号要高(a+1)[1]等价于a+2再取*号就是9了,在第二个pirintf代码中,等价于a[1][1] =6,第三个

    2024年01月20日
    浏览(60)
  • 【从零学习python 】08.Python了解位运算符, 运算符优先级

    按位运算符是把数字看作是二进制来进行计算的。 下表中变量 a 为 60, b 为 13,二进制格式如下: a b = 0000 1100 a | b = 0011 1101 a ^ b = 0011 0001 ~a = 1100 0011 位运算 描述 示例 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 (a b) 输出结果 12 ,

    2024年02月10日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包