当前位置: 首页 > news >正文

[java基础揉碎]关系运算符(比较运算符)逻辑运算符赋值运算符三元运算符运算符的优先级

 关系运算符一览

细节说明 

1) 关系运算符的结果都是boolean型,也就是要么是true,要么是false。

2) 关系运算符组成的表达式,我们称为关系表达式。a > b

3) 比较运算符"=="不能误写成"=''


 逻辑运算符

 用于连接多个条件(多个关系表达式),最终的结果也是一个boolean值。

逻辑运算符一览

1)短路与&&,短路或||,取反!

2)逻辑与&,逻辑或|,^逻辑异或

逻辑运算规则

1.a&b:& 叫逻辑与:规则:当a和b同时为true,则结果为true,否则为false

2.a&&b:&&叫短路与:规则:当a和b同时为true,则结果为true,否则为false

3.a|b:|叫逻辑或,规则:当a和b,有一个为true,则结果为true,否则为false

4.a||b:‖ 叫短路或,规则:当a和b,有一个为true,则结果为true,否则为false

5.!a:叫取反,或者非运算。当a为true,则结果为false,当a为false是,结果为true

6.a^b:叫逻辑异或,当a和b不同时,则结果为true,否则为false

示例:

&&和& : 

短路与: 如果第一个就为false后面不会判断, 可看到自增没有生效

逻辑与: 如果第一个为false后面仍然会判断, 可看到自增生效

||和| : 

短路或: 如果第一个就为true后面不会判断, 可看到自增没有生效

逻辑或: 如果第一个为true后面仍然会判断, 可看到自增生效

 

^异或: 

异或关系表达式时:

左边为true, 右边为true  结果为true异或就为fasle 

左边为true, 右边为false  结果为false异或就为true


 赋值运算符

 赋值运算符就是将某个运算后的值,赋给指定的变量。

两种: 

基本赋值运算符 int a=10;

复合赋值运算符 +=,-=,*=,/=,%=等。

 

赋值运算符特点

1)运算顺序从右往左 int num=a + b+ c;

2)赋值运算符的左边只能是变量,右边可以是变量、表达式、常量值 int num3 = a; int num2= 78 * 34 - 10 ;int num = 20;

3)复合赋值运算符等价于下面的效果 比如:a+=3;等价于a=a+3;

4)复合赋值运算符会进行类型转换。 byte b = 2; b+=3; b++;


三元运算符

基本语法 条件表达式?表达式1:表达式2;

运算规则:

1.如果条件表达式为true,运算后的结果是表达式1;

2.如果条件表达式为false,运算后的结果是表达式2; 

 细节:

注意类型: 

可以嵌套使用(但是可读性差,因为嵌套执行三次判断效率差):

 


运算符的优先级
 

1.运算符有不同的优先级,所谓 优先级就是表达式运算中的运算顺序。如下表,上一行运算 符总优先于下一行。

 

2.只有单目运算符(如++a只对一个值进行操作运算称之为单目运算)、赋值运算符 是从右向左运算的。 

 

 

梳理小结:

1)(),{}等

2)单目运行 ++ --

3)算术运算符

4)位移运算符

5)比较运算符

6)逻辑运算符

7)三元运算符

8)赋值运算符 

相关文章:

  • tag 标签
  • 服务器与普通电脑的区别,普通电脑可以当作服务器用吗?
  • 线性表的顺序存储实现
  • nodejs学习计划--(三)http协议和IP介绍
  • 户外用品一站式采购,一手优质货源,产品种类多,就在2024深圳户外展
  • pyDAL一个python的ORM(终) pyDAL的一些性能优化
  • 【QT+QGIS跨平台编译】之二:【zlib+Qt跨平台编译】(一套代码、一套框架,跨平台编译)
  • Electron中苹果支付 Apple Pay inAppPurchase 内购支付
  • vue3中Fragment特性的一个bug,需要留意的注意事项
  • redis-exporter grafana面板配置
  • linux SSH/Telnet/Shell/CMD终端软件之WindTerm
  • 定时获取微博热搜数据
  • 《WebKit 技术内幕》之五(1): HTML解释器和DOM 模型
  • 深度学习模型之yolov8实例分割模型TesorRT部署-python版本
  • Dell戴尔XPS 8930笔记本电脑原装Win10系统 恢复出厂预装OEM系统
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • C++入门教程(10):for 语句
  • cookie和session
  • css布局,左右固定中间自适应实现
  • ECS应用管理最佳实践
  • Git初体验
  • Python学习笔记 字符串拼接
  • React Native移动开发实战-3-实现页面间的数据传递
  • 浮现式设计
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 构造函数(constructor)与原型链(prototype)关系
  • 关于Java中分层中遇到的一些问题
  • 那些被忽略的 JavaScript 数组方法细节
  • 前端自动化解决方案
  • 入口文件开始,分析Vue源码实现
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • 从如何停掉 Promise 链说起
  • ​ArcGIS Pro 如何批量删除字段
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • #在 README.md 中生成项目目录结构
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (1)STL算法之遍历容器
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (3)(3.5) 遥测无线电区域条例
  • (arch)linux 转换文件编码格式
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • (转)Mysql的优化设置
  • .htaccess配置重写url引擎
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .NET/C# 推荐一个我设计的缓存类型(适合缓存反射等耗性能的操作,附用法)
  • .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验