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;三…

理解 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…

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

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

渐变颜色作图

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]…

求组合背包II(acwing)

题目描述&#xff1a; 给定n组循问&#xff0c;每组询问给定两个整数a&#xff0c;b&#xff0c;请你输出Ca^b mod (1e9 7)的值&#xff0c;。 输入格式&#xff1a; 第一行包含整数n。 接下来2行&#xff0c;每行包含一组a和b。 输出格式&#xff1a; …

类的函数成员(三):拷贝构造函数

一.什么是拷贝构造函数&#xff1f; 1.1 概念 同一个类的对象在内存中有完全相同的结构&#xff0c;如果作为一个整体进行复制或称拷贝是完全可行的。这个拷贝过程只需要拷贝数据成员&#xff0c;而函数成员是共用的&#xff08;只有一份拷贝&#xff09;。 在建立对象…

深入详解MongoDB索引的数据组织结构

MongoDB&#xff0c;作为最受欢迎的NoSQL数据库之一&#xff0c;以其灵活的数据模型和强大的性能而著称。其中&#xff0c;索引是提高MongoDB查询性能不可或缺的一部分。本文将更加深入地探讨MongoDB索引的数据组织结构&#xff0c;揭示其背后的工作原理和优化策略。 目录 一、…

ngrok使用心得记录

1&#xff0c;官网 https://ngrok.com/ 注册(Sign up for free)账号&#xff0c;这里我使用邮箱注册&#xff0c;本来使用github账号登录的&#xff0c;不过需要一个二次短信确认&#xff0c;而且发短信前要先选择国家&#xff0c;国家列表里没有China86&#xff0c;所以只能选…

每天学点儿Python(3) -- for循环

for循环结构格式如下 for 循环变量 in 遍历对象:语句块 举例一、 for i in "Hello"print(i) 执行结果如下 举例二、 #打印100-999之间的水仙花数 #注意&#xff1a;Python中 / 除法&#xff0c;运输后为浮点数, // 为取除法后的整数&#xff0c;而不是C/C中的注释…

Java与Go的并发世界:理解Work Sharing与Work Stealing

概述 最近在理解Golang中的Per P概念&#xff0c;于是我就去Go的源码中挖呀挖&#xff0c;结果挖到了Go的调度器设计。 Golang的调度器设计文档提到了Go中的P(OS线程)调度器使用的是work-stealing调度算法论文。 论文中提到了两个多线程调度算法&#xff1a;work sharing和wor…

电力设备热设计原理(二)

本篇为西安交通大学本科课程《电力设备设计原理》的笔记。 本篇为这一单元的第二篇笔记。上一篇传送门。 电力设备传导换热 主要讨论稳态导热的计算。 通过单层和多层平壁的传导 如上图所示的大平板是一维传导问题&#xff0c;流过平板的热流量和平板两侧温度和平板厚度之间…