2.3 Java中的运算符

news2024/12/24 22:14:51

运算符,是表示各种不同运算的符号。

运算符按功能分为算术运算符、逻辑运算符、关系运算符、赋值运算符、位运算符等。

1. 算术运算符

算术运算符一般用于对整型数和浮点型数运算。

运算符

运算

范例

结果

+

正号

+3

3

-

负号

b=4;-b

-4

+

5+5

10

-

6-4

2

*

3*4

12

/

5/5

1

%

取模(即算术中的求余数)

7%5

2

(1)自增运算符

“++”表示加1,可以在变量前面或后面,在变量前面表示变量加1再使用变量,在变量后面表示先使用变量再加1。

x = 1;
①y = x++;     结果:x = 2  y = 1
②y = ++x;     结果:x = 2  y = 2

(2)自减运算符

“--”表示减1,可以在变量前面或后面,在变量前面表示变量减1再使用变量,在变量后面表示先使用变量再减1。

x = 1;
①y = x--;     结果:x = 0  y = 1
②y = --x;     结果:x = 0  y = 0

2. 赋值运算符

赋值运算符的作用就是将常量、变量或表达式的值赋给某一个变量。Java中的赋值运算符及用法具体如下表所示。

运算符

运算

范例

结果

=

赋值

a=3;b=2;

a=3;b=2;

+=

加等于

a=3;b=2;a+=b;

a=5;b=2;

-=

减等于

a=3;b=2;a-=b;

a=1;b=2;

*=

乘等于

a=3;b=2;a*=b;

a=6;b=2;

/=

除等于

a=3;b=2;a/=b;

a=1;b=2;

%=

模等于

a=3;b=2;a%=b;

a=1;b=2;

简单赋值运算符“=”,对于基本类型数据是新值赋给变量,对于引用数据类型是将引用值(地址)赋给变量。

除了“=”,其他的都是特殊的赋值运算符,例如y += x等价于y = y + x。

3. 关系运算符

比较运算符用于对两个数值或变量进行比较,比较运算结果是一个布尔值,即true或false。Java中的比较运算符及用法具体如下表所示。

运算符

运算

范例

结果

==

等于

4 == 3

false

!=

不等于

4 != 3

true

<

小于

4 < 3

false

>

大于

4 > 3

true

<=

小于或等于

4 <= 3

false

>=

大于或等于

4 >= 3

true

4. 逻辑运算符

逻辑运算符的对象只能是布尔类型,且运算结果也是布尔类型。

逻辑运算符包括非(!)、逻辑与(&)、逻辑或(|)、逻辑异或(^)、短路与(&&)、短路或(||)。

逻辑运算符运算规则如下:

(1)逻辑与(&)和短路与(&&)区别,使用短路与运算x && y时,若x值为false,就可以判断整个表达式为false,不再进行y值的求解;而逻辑与运算x & y时,即使x值为false,也会继续进行y值的求解,最后计算整个表达式的结果。

int x = 0;
int y = 0;
①boolean a = (x > 0) && (y++ > 0);  //y的值为0
②boolean b = (x > 0) & (y++ > 0);   //y的值为1

(2)逻辑或(|)和短路或(||)区别,使用短路或运算x || y时,若x值为true,就可以判断整个表达式为true,不再进行y值的求解;而逻辑或运算x | y时,即使x值为true,也会继续进行y值的求解,最后计算整个表达式的结果。

int x = 1;
int y = 1;
①boolean a = (x > 0) || (y++ > 0);   //y的值为1
②boolean b = (x > 0) |(y++ > 0);     //y的值为2

5. 位运算符

位运算符在整数的二进制位上进行的运算,分为位逻辑运算符和移位运算符。

(1)位逻辑运算符

位逻辑运算符共有4个,分别是按位取反(~)、按位与(&)、按位或(|)、按位异或(^)。

位逻辑运算符的运算规则如下:

(2)移位运算符

移位运算符共有3个,分别是左移运算符(<<)、右移运算符(>>)、无符号右移运算符(>>>)。

6. 运算符的优先级

复杂的表达式进行运算时,要明确表达式中所有运算符参与运算的先后顺序,通常把这种顺序称作运算符的优先级。

运算符优先级作为了解,编写代码过程中对于优先级使用圆括号,圆括号的优先级最高。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

恒运资本:开盘时间是几点到几点?

开盘时刻是指各种商场的正式开端生意时刻&#xff0c;包括股票商场、外汇商场、商品期货商场等。关于出资者来说&#xff0c;了解开盘时刻是十分重要的&#xff0c;由于它直接关系到生意的时刻和机会。本文将从多个角度分析开盘时刻的重要性、不同商场的开盘时刻以及对出资者带…

linux环境部署jmeter并执行测试

下载jmeter和jdk jmeter官网和java-jdk官网下载压缩包文件 jmeter下载地址&#xff1a;点此下载 jmeter Apache JMeter - Download Apache JMeter java-jdk下载地址&#xff1a;点此下载 jdk Java Downloads | Oracle 安装包根据Linux配置进行选择。 上传文件到Linux并解压文…

大厂案例 - 海量分类业务设计的一些思考

文章目录 业务背景描述方案演进v1 扩展字段扩展性需求查询需求 v2 垂直拆分拆分方案存在的问题 v3 三大中心服务 &#xff08;业界最佳实践&#xff09;统一帖子中心服务统一类目属性服务统一检索服务 小结 业务背景描述 一个分类信息平台&#xff0c;有很多垂直品类&#xff…

LeetCode(力扣)47.全排列 IIPython

LeetCode47.全排列 II 题目链接代码 题目链接 https://leetcode.cn/problems/permutations-ii/ 代码 class Solution:def permuteUnique(self, nums):nums.sort() # 排序result []self.backtracking(nums, [], [False] * len(nums), result)return resultdef backtrackin…

【Python】多线程

进程、线程 现代操作系统比如Mac OS X&#xff0c;UNIX&#xff0c;Linux&#xff0c;Windows等&#xff0c;都是支持“多任务”的操作系统。 进程&#xff1a;就是一个程序&#xff0c;运行在系统之上&#xff0c;那么便称之这个程序为一个运行进程&#xff0c;并分配进程ID…

JavaScript学习笔记02

JavaScript笔记02 数据类型详解 字符串 在 JavaScript 中正常的字符串都使用单引号 或者双引号" "包裹&#xff1a;例&#xff1a; 转义字符 在 JavaScript 字符串中也可用使用转义字符&#xff08;参考&#xff1a;详解转义字符&#xff09;&#xff1a;例&…

电工什么是电动势

什么是电动势&#xff1f;及电源电动势计算公式与方向确定 前面我们讲到在基本电路中的电流和电压的基础知识&#xff0c;而本文要讲的电动势和电压是一个很类似的概念。那么什么是电动势&#xff1f;电源电动势的计算公式是什么&#xff1f;它的方向如何确定及与电压有什么区…

【C语言】找单身狗问题

一.找单身狗问题初阶 1.问题描述 一个数组中只有一个数字是出现一次,其他所有数字都出现了两次.编写一个函数,找出这个只出现一次的数字. 例如: 有数组的元素是:1,2,3,4,5,1,2,3,4 只有5出现了一次,要找出5. 2.解题思路 常规思路: 在常规思路中,我们首先想到的肯定是使用两层…

腾讯云新用户有哪些优惠政策和专属活动?

腾讯云作为中国领先的云计算服务提供商&#xff0c;一直在为用户提供优质、高效且具有竞争力的服务。对于新用户&#xff0c;腾讯云更是诚意满满&#xff0c;推出了一系列优惠政策和专属活动。本文将详细介绍腾讯云新用户的优惠政策和专属活动&#xff0c;帮助大家更好地了解如…

ArcGIS 10.6安装教程!

软件介绍&#xff1a;ArcGIS是一款专业的电子地图信息编辑和开发软件&#xff0c;提供一种快速并且使用简单的方式浏览地理信息&#xff0c;无论是2D还是3D的信息。软件内置多种编辑工具&#xff0c;可以轻松的完成地图生产全过程&#xff0c;为地图分析和处理提供了新的解决方…

android注解之APT和javapoet

前言 前面我们已经讲过注解的基本知识&#xff0c;对于注解还不太了解的&#xff0c;可以去看一下之前的文章&#xff0c; android 注解详解_袁震的博客-CSDN博客。 之前我们在讲注解的时候&#xff0c;提到过APT和JavaPoet&#xff0c;那么什么是APT和JavaPoet呢&#xff1…

pprof火焰图性能优化

pprof火焰图性能优化 火焰图&#xff08;flame graph&#xff09;是性能分析的利器,在go1.1之前的版本我们需要借助go-torch生成,在go1.1后go tool pprof集成了此功能,今天就来说说如何使用其进行性能优化 在你启动http server的地方直接加入导入: _ “net/http/pprof” 获取…

如何在 7 分钟内黑掉 40 个网站

这将详细讲述我如何侵入托管 40 个(这是一个确切数字)网站的服务器以及我的发现。 注意:需要一些必备的 CS 知识才能理解本文的技术部分。 一位朋友给我发消息说他的网站发现了XSS 漏洞,希望我进一步查看。这是一个重要的阶段,因为我倾向于要求他正式表示我已获得他的许可…

Mojo 摸脚语言,似乎已经可以安装

文章原地址&#xff1a;https://i.scwy.net/it/2023/090821-mojo/ Mojo 吹得很凶&#xff0c;面向AI编程&#xff0c;甩Python几十条街&#xff0c;融资上亿.... 但无缘一试&#xff0c;在Win和Ubuntu上试都不能通过。 由 LLVM 和 Swift 编程语言的联合创始人 Chris Lattner…

荣耀崛起阵容推荐,荣耀崛起最强阵容

今天给大家带来的荣耀崛起阵容推荐是新手阵容推荐&#xff0c;以核心输出为点&#xff0c;由点及面&#xff0c;来展开叙述阵容&#xff01; 关注【娱乐天梯】&#xff0c;获取荣耀崛起0.1折内部福利号 荣耀崛起最强阵容兽族战神流&#xff1a; 此阵容是以战士为核心&#xff0…

pycharm使用

在使用pycharm时&#xff0c;有时一个回车或者一个tab键&#xff0c;缩进的长度不符合预期可以调整设置tab键缩进的长度&#xff1a; 平时工作中&#xff0c;不同的人在编辑代码缩进的时候&#xff0c;有的人喜欢按四个或者六个空格&#xff0c;有的人喜欢按tab键&#xff0c;而…

网络变压器/网络滤波器(脉冲变压器)选型/定制要明确的要求

Hqst盈盛&#xff08;华强盛&#xff09;电子导读&#xff1a;1,做电路板项目开发的工程师有时会遇到开发标的的空间限制&#xff0c;要对电子元器件的占用空间进行优化&#xff0c;同样电性参数的产品有的产品选择性比较小,只有部分产品有可选择性,这就给工程师进行板子空间优…

OJ练习第167题——单词接龙

单词接龙 力扣链接&#xff1a;127. 单词接龙 题目描述 字典 wordList 中从单词 beginWord 和 endWord 的 转换序列 是一个按下述规格形成的序列 beginWord -> s1 -> s2 -> … -> sk&#xff1a; 每一对相邻的单词只差一个字母。 对于 1 < i < k 时&…

ES快速学习

ES 用于&#xff1a;存储、分析、检索 的工具 组成及与类比到mysql组成 倒排索引

Redis 介绍安装

数据库 关系型数据库 关系型数据库是一个结构化的数据库&#xff0c;创建在关系模型&#xff08;二维表格模型&#xff09;基础上&#xff0c;一般面向于记录。 SQL 语句&#xff08;标准数据查询语言&#xff09;就是一种基于关系型数据库的语言&#xff0c;用于执行对关系型…