0062-Java运算符

文章目录

  • 1.运算符介绍
  • 2.算术运算符
    • 2.1 介绍
    • 2.2 细节说明
  • 3.关系运算符(比较运算符)
    • 3.1 介绍
    • 3.2 细节说明
  • 4.逻辑运算符
    • 4.1 介绍
    • 4.2 逻辑运算规则
    • 4.3 && 和 & 基本规则
    • 4.4 && 和 & 使用区别
    • 4.5 || 和 | 基本规则
    • 4.6 || 和 | 使用区别
  • 5. ! 取反 基本规则
  • 6. ^ 逻辑异或
  • 7. 赋值运算符
    • 7.1 介绍
    • 7.2 赋值运算符的分类
    • 7.3 赋值运算符特点
  • 8.三元运算符
    • 8.1 基本语法
    • 8.2 使用细节
  • 9.运算符优先级

1.运算符介绍

运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。

  1. 算术运算符
  2. 赋值运算符
  3. 关系运算符 [比较运算符]
  4. 逻辑运算符
  5. 位运算符 [需要二进制基础]
  6. 三元运算符

2.算术运算符

2.1 介绍

算术运算符是对数值类型的变量进行运算的,在 Java 程序中使用的非常多。

在这里插入图片描述

在 Java 中,使用算术运算符 +、-、 *、/ 表示加、减、 乘、除运算。 当参与 / 运算的两个操作数都是整数时, 表示整数除法;否则, 表示浮点除法。 整数的求余操作(有时称为取模)用 % 表示。例如,15/2 等于 7,15%2 等于 1 , 15.0/2 等于 7.50需要注意, 整数被 0 除将会产生一个异常, 而浮点数被 0 除将会得到无穷大或 NaN 结果。
在这里插入图片描述

2.2 细节说明

在这里插入图片描述
针对第2点的案例:

在这里插入图片描述

3.关系运算符(比较运算符)

3.1 介绍

  1. 关系运算符的结果都是 boolean 型,也就是要么是 true,要么是 false
  2. 关系表达式 经常用在 if 结构的条件中或循环结构的条件中
    在这里插入图片描述

3.2 细节说明

  1. 关系运算符的结果都是 boolean 型,也就是要么是 true,要么是 false。
  2. 关系运算符组成的表达式,我们称为关系表达式。 a > b
  3. 比较运算符"==“不能误写成”="

4.逻辑运算符

4.1 介绍

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

  1. 短路与 && , 短路或 ||,取反 !
  2. 逻辑与 &,逻辑或 |,^ 逻辑异或
    在这里插入图片描述

4.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

4.3 && 和 & 基本规则

名称语法特点
短路与&&条件 1&&条件 2两个条件都为 true,结果为 true,否则 false
逻辑与&条件 1&&条件 2两个条件都为 true,结果为 true,否则 false

4.4 && 和 & 使用区别

  1. &&短路与:如果第一个条件为 false,则第二个条件不会判断,最终结果为 false,效率高
  2. & 逻辑与:不管第一个条件是否为 false,第二个条件都要判断,效率低
  3. 开发中, 我们使用的基本是使用短路与&&, 效率高

4.5 || 和 | 基本规则

名称语法特点
短路或||条件 1&&条件 2两个条件中只要有一个成立,结果为 true,否则为 false
逻辑与|条件 1&&条件 2只要有一个条件成立,结果为 true,否则为 false

4.6 || 和 | 使用区别

  1. ||短路或:如果第一个条件为 true,则第二个条件不会判断,最终结果为 true,效率高
  2. | 逻辑或:不管第一个条件是否为 true,第二个条件都要判断,效率低
  3. 开发中,我们基本使用 ||

5. ! 取反 基本规则

名称语法特点
! 非(取反)!条件如果条件本身成立,结果为 false,否则为 true

6. ^ 逻辑异或

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

7. 赋值运算符

7.1 介绍

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

7.2 赋值运算符的分类

基本赋值运算符 =

  • int a = 10;

复合赋值运算符

  • += ,-= ,*= , /= ,%= 等

7.3 赋值运算符特点

  1. 运算顺序从右往左 int num = a + b + c;
  2. 赋值运算符的左边 只能是变量,右边 可以是变量、表达式、常量值
    int num = 20; int num2= 78 * 34 - 10; int num3 = a;
  3. 复合赋值运算符等价于下面的效果
    比如:a+=3;等价于a=a+3;其他类推
  4. 复合赋值运算符会进行类型转换。
    byte b = 2; b+=3; b++;

8.三元运算符

8.1 基本语法

条件表达式 ? 表达式 1: 表达式 2;
运算规则:

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

口诀: [一灯大师:一真大师]

8.2 使用细节

  1. 表达式 1 和表达式 2 要为可以赋给接收变量的类型(或可以自动转换)
  2. 三元运算符可以转成if--else语句
    int res = a > b ? a++ : --b;
    //上下等价
    if ( a > b) res = a++;
    else res = --b;
    

9.运算符优先级

  1. 运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序。如右表,上一行运算符总优先于下一行。
  2. 只有单目运算符、赋值运算符是从右向左运算的。
  3. 一览表, 不要背,使用多了,就熟悉了。
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/258032.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Logback简介与配置详解

在开发和维护Spring Boot应用程序时,一个强大而灵活的日志框架是至关重要的。Spring Boot默认集成了Logback,一个高性能的Java日志框架。本文将介绍如何配置Logback以满足你的日志记录需求。 Logback简介 官方网址:https://logback.qos.ch/ …

Kafka核心参数(带完善)

客户端 api Kafka提供了以下两套客户端API HighLevel(重点)LowLevel HighLevel API封装了kafka的运行细节,使用起来比较简单,是企业开发过程中最常用的客户端API。 而LowLevel API则需要客户端自己管理Kafka的运行细节,Partition&#x…

RocketMQ系统性学习-SpringCloud Alibaba集成RocketMQ以及消费收发实战

文章目录 Spring Cloud Alibaba 集成 RocketMQ 最佳实践集成依赖DashBoard消息收发实战 Spring Cloud Alibaba 集成 RocketMQ 最佳实践 SpringBoot 相对于 SSM 来说已经很大程度上简化了开发,但是使用 SpringBoot 集成一些第三方的框架,还是需要花费一些…

Node.js 工作线程与子进程:应该使用哪一个

Node.js 工作线程与子进程:应该使用哪一个 并行处理在计算密集型应用程序中起着至关重要的作用。例如,考虑一个确定给定数字是否为素数的应用程序。如果我们熟悉素数,我们就会知道必须从 1 遍历到该数的平方根才能确定它是否是素数&#xff…

搭建知识付费平台?明理信息科技为你提供全程解决方案

明理信息科技saas知识付费平台 在当今数字化时代,知识付费已经成为一种趋势,越来越多的人愿意为有价值的知识付费。然而,公共知识付费平台虽然内容丰富,但难以满足个人或企业个性化的需求和品牌打造。同时,开发和维护…

Python Pandas Excel/csv文件的保存与读取(第14讲)

Python Pandas Excel/csv文件的读取于保存(第14讲)         🍹博主 侯小啾 感谢您的支持与信赖。☀️ 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔…

在 Kubernetes 上部署 Python 3.7、Chrome 和 Chromedriver(版本 114.0.5735.90)的完整指南

一、构建基础镜像 docker build -f /u01/isi/DockerFile . -t thinking_code.com/xhh/crawler_base_image:v1.0.2docker push thinking_code.com/xhh/crawler_base_image:v1.0.2 二、K8s运行Pod 三、DockerFile文件 # 基于镜像基础 FROM python:3.7# 设置代码文件夹工作目录…

【论文解读】Comparing VVC, HEVC and AV1 using Objective and Subjective Assessments

时间:2020 级别:IEEE 机构: IEEE 组织 摘要: 对3种最新的视频编码标准HEVC (High Efficiency video Coding)测试模型HM (High Efficiency video Coding)、amedia video 1 (AV1)和Versatile video Coding测试模型 (VTM)进行了客观和…

关于“Python”的核心知识点整理大全25

目录 10.3.4 else 代码块、 10.3.5 处理 FileNotFoundError 异常 alice.py 在这个示例中,try代码块引发FileNotFoundError异常,因此Python找出与该错误匹配的 except代码块,并运行其中的代码。最终的结果是显示一条友好的错误消息&#x…

抖音直播间websocket礼物和弹幕消息推送可能出现重复的情况,解决办法

在抖音直播间里,通过websocket收到的礼物消息数据格式如下: {common: {method: WebcastGiftMessage,msgId: 7283420150152942632,roomId: 7283413007005207308,createTime: 1695803662805,isShowMsg: True,describe: 莎***:送给主播 1个入团卡,priority…

速学数据结构 | 二叉树堆的实现详解篇

🎬 鸽芷咕:个人主页 🔥 个人专栏:《速学数据结构》 《C语言进阶篇》 ⛺️生活的理想,就是为了理想的生活! 📋 前言 🌈hello! 各位宝子们大家好啊,二叉树的概念大家都了解了那么我们…

自动驾驶学习笔记(十九)——Planning模块

#Apollo开发者# 学习课程的传送门如下,当您也准备学习自动驾驶时,可以和我一同前往: 《自动驾驶新人之旅》免费课程—> 传送门 《Apollo 社区开发者圆桌会》免费报名—>传送门 文章目录 前言 Planning作用 Planning内容 Plannin…

uni-app ucharts中饼图与圆环图区别

项目情况: uni-app的用于移动端H5项目,包使用uni_modules目录存放。 图表引用ucharts中的echarts配置的组件方式 区别1 饼图与圆环图在echarts使用的配置都是pie类型。但是配置raduis使用: radius: [40%, 70%] 区别2 组件type指明&#xf…

保护您的Android应用程序:Android应用程序安全一览

保护您的Android应用程序:Android应用程序安全一览 我们都知道Android是为所有人设计的——开放、面向开发者、面向用户,这种开放性为今天和明天的移动技术提供了很多便利。然而,开放性也带来了需要妥善处理的安全风险。 安全是我们所有人都…

广州华锐互动VRAR:利用VR开展新能源汽车触电安全演练,降低培训成本和风险

随着新能源汽车行业的快速发展,相关的安全培训也变得越来越重要。其中,触电急救培训对于保障驾驶员和乘客的安全具有重要意义。传统培训方式存在一些不足,而利用VR技术进行培训则具有很多优势。 利用VR技术开展新能源汽车触电安全演练可以在模…

ansible模块 (7-13)

模块 7、hostname模块: 远程主机名管理模块 ansible 192.168.10.202 -m hostname -a nameliu 8、copy模块: 用于复制指定的主机文件到远程主机的模块 常用参数: dest: 指出要复制的文件在哪,必须使用绝对路径。如果源目标是…

fastjson1.2.24 反序列化漏洞(CVE-2017-18349)分析

FastJson在< 1.2.24 版本中存在反序列化漏洞&#xff0c;主要原因FastJson支持的两个特性&#xff1a; fastjson反序列化时&#xff0c;JSON字符串中的type字段&#xff0c;用来表明指定反序列化的目标恶意对象类。fastjson反序列化时&#xff0c;字符串时会自动调用恶意对…

运维知识点-Kubernetes_K8s

Kubernetes RBAC配置不当攻击场景攻击过程 RBAC配置不当 Service Account本质是服务账号&#xff0c;是Pod连接K8s集群的凭证。 在默认情况下&#xff0c;系统会为创建的Pod提供一个默认的Service Account&#xff0c; 用户也可以自定义Service Account&#xff0c;与Service…

【软件安全实验】使用Find Security Bugs工具静态分析WebGoat

文章目录 实验要求实验步骤一、在IntelliJ上安装插件配置规则库二、下载WebGoat源代码三、Find Security Bugs工具静态分析WebGoat 实验要求 用Find Security Bugs(http://find-sec-bugs.github.io)工具静态分析WebGoat。WebGoat是OWASP组织研制出的用于进行Web漏洞实验的应用…

C语言—每日选择题—Day52

第一题 1. 执行c程序代码&#xff0c;a,b,c,d的值分别为&#xff08;&#xff09; int a 1; int b 0; int c 0; int d (a) * (c 1); A&#xff1a;2&#xff0c;0&#xff0c;1&#xff0c;2 B&#xff1a;1&#xff0c;0&#xff0c;1&#xff0c;1 C&#xff1a;2&…