IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> Java c++运算符 及优先级 -> 正文阅读

[C++知识库]Java c++运算符 及优先级


Java语言中提供了很多运算符来操作变量,现总结以下七种:

  1. 赋值运算符
  2. 算术运算符
  3. 关系运算符
  4. 逻辑运算符
  5. 位运算符
  6. 三目运算符
  7. instanceof运算符

一、赋值运算符

赋值符号 " = "
语法:变量名 = 表达式;
可以和算术运算符结合成复合赋值运算符,例如" += "" -= "" *= "" /= "" %= "
示例:"int a = 8"" b += 18"" m *= 5"

二、算术运算符

运算符含义示例结果
+加法运算2+35
-减法运算5-23
*乘法运算2*36
/除法运算8/32
%取余运算5%32
++自增运算i=2;  j=i++i=3;  j=2
--自减运算i=2;  j=i--i=1;  j=2

符号 " + "" - "" * "" / "" % "" ++ "" -- "
几点注意:

  1. 除法运算,两个操作数是整型的,结果也会是整型的,舍弃掉小数部分;如果有一个数是浮点数,结果将自动转型为浮点型
  2. 取余运算,两个操作数是整型的,结果也会是整型的,如果有一个数是浮点数,结果将自动转型为浮点型
  3. 自增自减运算,a++ 相当于 a = a + 1, a++ 是先运用在计算,++a 先计算在运用

三、关系运算符

运算符含义示例结果
==等于2==3false
!=不等于5!=2true
<小于2<3true
>大于8>3true
<=小于等于5<=3false
>=大于等于5>=3true

几点注意:

  1. " = "是赋值运算," == "是等于运算
  2. " > "" < "" >= "" <= "只支持数值类型的比较," == "" != "支持所有数据类型的比较
  3. 关系表达式的运算结果是布尔值

四、逻辑运算符

运算符含义运算规则
&逻辑与两个操作数都是true,结果才是true;左边取值无论真假,右边都会运算
|逻辑或两个操作数一个是true,结果就是true;左边取值无论真假,右边都会运算
^逻辑异或两个操作相同,结果是false;两个操作不相同,结果是true
!逻辑非操作数是true,结果是false;操作数是false,结果是true
&&短路与两个操作数都是true,结果才是true;左边取值是false,右边不会运算
||短路或两个操作数一个是true,结果就是true;左边取值是true,右边不会运算

几点注意:

  1. 操作数只能是布尔型,操作结果也是布尔型
  2. &&& 的区别: && 左边是false时,不计算右边的表达式,左假即假; & 无论左边真假都会计算右边的表达式

五、位运算符

运算符含义运算规则
&按位与两个操作数都为1,结果为1
|按位或两个操作数一个为1,结果为1
^按位异或两个操作数相同为0,不同为1
~按位取反操作数为1,结果为0;操作数为0,结果为1
<<左移右边空位补0
>>右移左边空位补最高位,即符号位
>>>无称号右移左边空位补0

示例: a和b是两个整数,下面是按位计算的形式

a = 0011 1100 ;    
b = 0000 1101 ;

a & b = 0000 1100 ;
a | b = 0011 1101 ;
a ^ b = 0011 0001 ;
~a = 1100 0011 ;
a<<2  = 1111 0000 ;
a>>2  = 1111 ;
a>>>2 = 0000 1111 ;

六、三目运算符

也叫三元运算符,或是条件运算符,是Java语言中唯一需要三个操作数的运算符
符号: 表达式1 ? 表达式2 : 表达式3
如果表达式1为true,则返回表达式2的值,如果表达式1为false,则返回表达式3的值
示例:

int m,n;
m = 5<10 ? 10 : 20;  //先判断5<7,为真,则m = 10
n = 5>10 ? 10 : 20;  //先判断5<7,为假,则n = 20

七、instanceof运算符

instanceof运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型),结果返回一个布尔值
示例:

String name = "张三";
boolean flag = name instanceof String;  //name是String类型的,返回true

运算符号的优先级

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

当多个运算符出现在一个表达式中,谁的优先级别高,就先执行谁。在一个多运算符的表达式中,运算符优先级不同会导致最后得出的结果完全不一样。
有一个口诀可以帮助记忆:

单算移关与,异或逻条赋

括号级别最高,逗号级别最低,单目 > 算术 > 位移 > 关系 > 逻辑 > 三目 > 赋值。



作者:Jason_M_Ho
链接:https://www.jianshu.com/p/9d2204712097
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

单目>算数运算符>移位>比较>按位>逻辑>三目>赋值

单目运算符(一元运算符,即一个变量):+,-,++,--

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

移位运算符:<<,>>

关系运算符:>,<,>=,<=,==,!=

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

逻辑运算符:&&,||

三目运算符:表达式1?表达式2:表达式3;

赋值运算符:=等

位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算

int a=129;

int b=128;

int c=a&b;

“a”的值是129,转换成二进制就是10000001,而“b”的值是128,转换成二进制就是10000000。根据与运算符的运算规律,只有两个位都是1,结果才是1,可以知道结果就是10000000,即128



位运算与逻辑运算的区别:
(|)和(||)成立的条件是只要一侧表达式为真,结果就为真,在(|)运算时,无论左侧的表达式的值为真还是为假,都要判断右侧的表达式的值的真假,而(||)在运算时,只要左侧表达式的值为真,就不再判断右侧表达式的值了


C语言运算符及其优先级汇总表口诀 圆下箭头一顿号 非凡增减富强针地长 三乘除,四加减,五移位 千万别把鱼忘记,它在盛饭的厨子里 小灯大灯灯灯不等 爸喂鱼,舅疑惑,裸鸡也疑惑 十三姨,十四父,十五逗,兜到低 “圆下箭头一顿号”指的是第15级的运算符。其中圆指的是运算符(),下指的是下标运算符[],箭头指的是指向结构体成员运算符->,顿号指的是结构体成员运算符、 “非凡增减富强针地长”指的是第14级的运算符。其中非指的是逻辑运算符!,凡指的是按位取反运算符~,增减指的是自增和自减运算符++和--,富指的是负号运算符-,强指的是类型转换运算符(类型),针指的是指针运算符*,地指的是地址运算符&,长指的是长度运算符Sizeof “三乘除,四加减,五移位” 指的是第13级到第11级的运算符。其中三四五并无实际意义,只是起区分级别而已。也可以想象三指的是第13级运算符。乘除指的是乘法运算符*和除法运算符/,加减指的是加法运算符+和减法运算符-,移位指的是左移运算符<<和右移运算符>> “千万别把鱼忘记,它在盛饭的厨子里”指的是求余运算符%,它位于盛饭的厨子里,即指和乘法运算符、除法运算符在一起。 “小灯大灯灯灯不等” 指的是第10级到第9级的运算符。其中小灯大灯指的是关系运算符<、<=、>和>=,灯灯指的是等于运算符==,不等指的是不等于运算符!= “爸喂鱼,舅疑惑,裸鸡也疑惑”指的是第8级到第4级的运算符。其中,爸喂鱼之指的是第8级的按位与运算符&,舅疑惑指的是第7级的按位异或运算符^和第6级的按位或运算符||,裸鸡也疑惑指的是第5级、第4级的逻辑与运算符&&和逻辑或运算符|| “十三姨,十四父,十五逗,兜到低”指的是第3级到第1级的运算符。其中,十三姨指的是条件运算符?: (三有双重含义,即指?:的优先级别是三,它的运算符类型也是三目,?难道不是姨即疑惑吗?),十四父的十四没有实际意义,父指的是赋值运算符=、+=、-=、*=、/=、%=、>>=、<<=、&=、^=和|= ,十五逗指的是第1级的运算符,兜到低指的是15级运算符以,结束。
  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-09-01 11:44:21  更:2021-09-01 11:46:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年4日历 -2025/4/22 9:49:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码