java(4)之运算符

1、算术运算符

运算符含义表达式
+1+1
-1-1
*1*2
/2/1
%取余5%2

2、赋值运算符

即= 表示将右边的值赋给左边的变量

即 

int i ;

i= 1;

运算符含义

表达式

+=x = x+yx+=y
-=x = x-yx - =y
*=x = x*yx*=y
/=x = x/yx /=y
%=x = x%yx %=y

代码示例

public class Main {public static void main(String[] args) {int x,y;x=9;y=10;System.out.println("'x+=y' ="+ (x+=y));}
}

代码结果如下:

3、关系运算符

运算符含义表达式运算结果
>大于5>3true
<小于'f'<'a'true
>=大于或等于5.6>=3.2true
<=小于或等于'A'>=65true
==等于‘A’==65true
!=不等于‘A’ !=65false

运算结果是boolean型,一般运用在循环语句中的循环条件

4、逻辑运算符

运算符含义表达式运算结果
&&与,并且5>3&&2>1true
||或者5>3||2>1false
!!truefalse

&&

与,其实就是表示当他链接的两个值都为真时为真,其他时候都是假

||

或,两者中有一为真则为真,在java中常用 a>90||a<50,表示找一个大于90或者小于50的值

!

非就是反

5、位运算符

运算符含义
&按位与
|按位或
^按位异或
~按位取反
<<左移位
>>右移位
>>>无符号右移位

1、&

直接来观察代码

public class Main {public static void main(String[] args) {int x,y;x=9;y=10;System.out.println("'x&y' ="+ (x&y));}
}

既然是按位与也就是将数字转换为二进制数在此代码中也就是

9 =1001   10 = 1010在&运算之后就是1000 也就是8

查看代码结果

2、|按位或

也是一样直接看代码(我并不会将代码更改大部分,这里只是想要去理解如何算,而不是去大量计算)

public class Main {public static void main(String[] args) {int x,y;x=9;y=10;System.out.println("'x|y' ="+ (x|y));}
}

已知:1001 ,1010则结果为11(1|0 = 1 ,0|1 = 1, 1|1 = 1 ,0|0 =0)

查看代码结果

3、按位或^

这里的^ 跟前面的||很像但是是按位运算(1|1 = 0,0|0 = 0 ,1|0 = 1, 0|1 = 1)

public class Main {public static void main(String[] args) {int x,y;x=9;y=10;System.out.println("'x^y' ="+ (x^y));}
}

结果如下:

4、按位取反~

public class Main {public static void main(String[] args) {int y;//x=9;x,y=10;System.out.println("'~y' ="+ (~y));}
}

结果如下:

5、右移位,左移位,无符号右移位

代码示例如下

public class Main {public static void main(String[] args) {int y;//x=9;x,y=10;System.out.println("'y<<1' ="+ (y<<1));System.out.println("'y>>1' = "+ (y>>1));System.out.println("'y>>>1' = " + (y>>>1));}
}

无符号和正常右移位的唯一不同是不考虑原数的正负

代码结果如下:

6、三元运算符

三元运算符就是?

语法如下:

逻辑表达式 ? 表达式1 : 表达式2 

代码示例如下:

public class Main {public static void main(String[] args) {int x,y,i;x=9;y=10;i =x>y?++x:++y;System.out.println(y);System.out.println(x);System.out.println(i);}
}

结果如下:

为啥呢,因为这里的x>y为false所以会实现y++ 所以会出现y = y+1 所以等于11

所以 i =11

7、自增自减运算符

而自增自减其实就是 ++y 其实就是y = y+1 而且是先加后用 也就是输出是y +1 而不是y 。y++ 是先输出y后变为y+1

代码示例如下

public class Main {public static void main(String[] args) {int x,y,i;x=9;y=10;System.out.println(x++);System.out.println(++y);}
}

结果如下:

也从侧面证明了 y ++是先用后加 ,++y是先加后用

8、运算符的优先级

运算符的越高越优先执行

下面是顺序

运算符优先级描述结合性
[]().,;1分隔符
++ -- !2自增,自减,逻辑非从右到左
* / %3算术乘除取余运算从左到右
+ - 4算术加减从左到右
>> << >>>5移位运算从左到右
< <= > >=6大小关系运算从左到右
== !=7相等关系运算从左到右
8按位与运算从左到右
^9按位异或运算从左到右
|10按位或运算从左到右
&&11逻辑与运算从左到右
||12逻辑或运算从左到右
?:13三元运算从左到右
=14赋值运算从右到左

其实优先级不需要怎样去牢记,只是要在解决问题去解决正常情况下都可以使用()来解决问题因为这样才是最符合逻辑的

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

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

相关文章

DXP学习3-单片机时钟显示系统的层次原理图设计

目录 一&#xff0c;自上而下的子母图设计 1&#xff0c;绘制层次式电路母图 1)工程及原理图创建和保存 2)开始绘制层次式母图main.SchDoc 2&#xff0c;绘制图纸符号 1&#xff09;properties选项卡 2&#xff09;designator标号 3&#xff09;filename文件名 4&…

Kafka、ActiveMQ、RabbitMQ和RocketMQ都有哪些区别?

一、问题解析 Kafka、ActiveMQ、RabbitMQ和RocketMQ都是常见的消息中间件&#xff0c;它们都提供了高性能、高可用、可扩展的消息传递机制&#xff0c;但它们之间也有以下一些区别&#xff1a; 1、消息传递模型&#xff1a;Kafka主要支持发布-订阅模型&#xff0c;ActiveMQ、R…

什么是人工智能物联网(AIoT)?

过去十年&#xff0c;从医疗设备、家庭和楼宇自动化到工业自动化等各个领域&#xff0c;物联网 (IoT) 设备的数量呈爆炸式增长。设备包括可穿戴设备、传感器、电器和医疗监视器——所有这些设备都相互连接&#xff0c;收集和共享大量数据。国际数据公司 (IDC) 预测&#xff0c;…

蓝桥杯c++递归与递推

数字三角形 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm>using namespace std; const int N 110; int map[N][N]; int n;int main() {cin >> n;for(int i0;i<n;i){for(int j0;j<i;j){cin >> map[i]…

做好自动化测试必备的5大技能,懂一个就超过了99%的人

或许还有一些人认为软件测试的门槛很低&#xff0c;低到任何人都可以做&#xff0c;随便点点就可以了。这里需要澄清一下&#xff0c;不管哪一类测试岗位&#xff0c;如果做深做精都需要下功夫&#xff0c;只是精通的方向不同。试问一下如果让一个什么都不懂、一点业务基础都没…

Linux之ssh服务

目录 一、ssh简介 ssh组件 二、配置文件 三、相关的命令 ssh scp 四、密钥认证 一、ssh简介 远程登陆linux用的就是ssh服务 ssh服务特点就是数据会机密传输 ssh组件 组件&#xff1a;openssh 服务器&#xff1a;sshd 默认端口&#xff1a;22 二、配置文件 /etc/ssh/ss…

【题目】【网络系统管理】2021年全国职业院校技能大赛模块B--样题(三)

2021年全国职业院校技能大赛 网络系统管理&#xff08;样题3&#xff09;模块B&#xff1a;Windows环境 全国职业院校技能大赛执委会.技术专家组 2021年03月 目录 一、赛题说明 3 &#xff08;一&#xff09;竞赛介绍 3 &#xff08;二&#xff09;密码 3 &#xff08;三…

springboot注解及GET、POST接口写法

一、注解 springboot提供了Contrller和RestController。 Controller&#xff1a;返回页面和数据 RestController&#xff1a;返回数据 RestMapping注解&#xff1a;主要做路径映射url value&#xff1a;请求URL的路径。 method&#xff1a;HTTP请求方法。 RestMapping(va…

理解 SQL 数据添加:从基础到实践

引言&#xff1a; 在现代软件开发中&#xff0c;数据库是不可或缺的一部分。而 SQL 作为结构化查询语言的代表&#xff0c;广泛应用于数据库管理系统中&#xff0c;为我们提供了强大的数据管理和查询能力。 主题&#xff1a; 我们将从基础的 SQL INSERT INTO 语句开始&…

【智能家居项目】RT-Thread版本——DHT11获取温湿度 | MQTT上传到服务器 | 服务器控制外设

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《智能家居项目》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; 这篇文章中&#xff0c;本喵将使用RT-Thread Studio来实现这个智能家居的项目&#xff0c;最终…

【智能算法】帝企鹅优化算法(EPO)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2018年&#xff0c;G Dhiman等人受到自然界中帝企鹅群体社会行为启发&#xff0c;提出了帝企鹅优化算法&#xff08;Emperor Penguin Optimizer, EPO&#xff09;。 2.算法原理 2.1算法思想 EPO模…

每日OJ题_队列_宽搜bfs④_力扣515. 在每个树行中找最大值

目录 力扣515. 在每个树行中找最大值 解析代码 力扣515. 在每个树行中找最大值 515. 在每个树行中找最大值 难度 中等 给定一棵二叉树的根节点 root &#xff0c;请找出该二叉树中每一层的最大值。 示例1&#xff1a; 输入: root [1,3,2,5,3,null,9] 输出: [1,3,9]示例2…

Vue--------父子/兄弟组件传值

父子组件 子组件通过 props 属性来接受父组件的数据&#xff0c;然后父组件在子组件上注册监听事件&#xff0c;子组件通过 emit 触发事件来向父组件发送数据。 defineProps接收 let props defineProps({data: Array, }); defineModel接收 let bb defineModel("sit…

1.1 操作系统特性

操作系统特性 &#xff08;一&#xff09;并发性 并发性是指两个或两个以上的活动和事件在同一时间间隔内发生。 电脑里的多个程序或任务&#xff0c;它们看起来是同时进行的&#xff0c;但实际上是交替使用CPU的时间片来执行。 简单解释&#xff1a;想象你正在进行一场接力…

AI 时代来临我们要如何面对?

人工智能&#xff08;AI&#xff09;已经引领了人类社会进入了全新的时代&#xff0c;开启了科技进步的崭新篇章。在过去几十年&#xff0c;人工智能技术迅猛发展&#xff0c;并已经逐步融入到我们的日常生活和职场中。 随着科技的不断进步&#xff0c;人工智能已成为社会发展…

2024.2.23力扣每日一题——二叉树中的第 K 大层和

2024.2.23 题目来源我的题解方法一 层序遍历排序 题目来源 力扣每日一题&#xff1b;题序&#xff1a;2583 我的题解 方法一 层序遍历排序 先使用层序遍历计算每一层的和&#xff0c;然后将每一层的和进行排序。 时间复杂度&#xff1a;O(nlogn)。其中 n 是树中的节点数。广…

竞赛常考的知识点大总结(二)基础算法

简单字符串处理 简单字符串处理是指对字符串进行基本操作的一系列技术&#xff0c;这些操作通常包括字符串的创建、复制、比较、查找、替换和分割等。简单字符串处理的特点是操作直观、易于实现&#xff0c;并且在各种编程语言中都有广泛的应用。 特点&#xff1a; 1.操作直…

渐变颜色作图

clear clc close all % 生成 x 值 x linspace(0, 5, 1000); % 计算对应的 y 值&#xff08;二次函数分布&#xff09; y x .^ 2; % 添加一些随机噪声 y y randn(size(y)); clinspace(1,10,length(x)); arry1[x,y]; arry2sortrows(arry1,2,descend); arry3[arry2,c]…

基于单片机和Wi-Fi 技术的家电远程控制系统设计

摘要:根据家用电器的智能开关控制需求,提出基于单片机和Wi-Fi 技术的家电远程控制系统的设计。从硬件与软件两部分对单片机电路、Wi-Fi 电路、继电器电路,及其程序进行设计。设计的家电远程控制系统,经Tlink 物联网平台模拟测试,信号反应无误,为进一步实际应用提供了基础…

C++ 学习10大网站推荐(Bjarne Stroustrup)

(1) Sourceforge(sourceforge.net),这是最著名、历史最悠久、规模最大的开源项目管理网站。 (2)Googlecode(code.google.com),它的访问速度快,是开源项目管理网站的后起之秀。 (3)C++创始人Bjarne Stroustrup的个人网站www2.research.att.com/~bs/applications.html,其中罗…