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赋值运算从右到左

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

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

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

相关文章

芒果YOLOv5改进89:卷积SPConv篇,即插即用,去除特征图中的冗余,FLOPs 和参数急剧下降,提升小目标检测

芒果专栏 基于 SPConv 的改进结构,改进源码教程 | 详情如下🥇 👉1. SPConv 结构、👉2. CfSPConv 结构 💡本博客 改进源代码改进 适用于 YOLOv5 按步骤操作运行改进后的代码即可 即插即用 结构。博客 包括改进所需的 核心结构代码 文件 YOLOv5改进专栏完整目录链接:…

环境配置——已解决ModuleNotFoundError: No module named ‘cv2’(python)

一、报错代码 在网上搜到不少用Python处理图形的代码&#xff0c;于是复制别人的代码直接运行却报错&#xff0c;得到的结果却是&#xff1a;已解决ModuleNotFoundError: No module named ‘cv2’。&#xff08;当时心里瞬间凉了一大截&#xff0c;最后顺利解决了&#xff0c;顺…

配置文件乱码

1、改UTF-8 &#xff08;1&#xff09;已经创建的项目 (2)新项目也改一下

皓学IT:WEB07_ JSP

一、Jsp基础语法 1.1. JSP模板元素 JSP页面中的HTML内容称之为JSP模版元素。 JSP模版元素定义了网页的基本骨架&#xff0c;即定义了页面的结构和外观。 1.2. JSP脚本片段 JSP脚本片断用于在JSP页面中编写多行Java代码&#xff08;在<%%>不能定义方法&#xff09;。…

动手机器学习支持向量机+习题

非参数化模型&#xff0c;当数据集规模增大时&#xff0c;其参数量也相应变多 希望从这无数个可以分隔两个点集的超平面中&#xff0c;挑选出与任意一点间隔&#xff08;margin&#xff09;的最小值最大的平面 支持向量机的数学描述 对上式来说&#xff0c;当w和b的大小同时变…

鸿蒙OS开发实例:【ArkTS类库多线程CPU密集型任务TaskPool】

CPU密集型任务是指需要占用系统资源处理大量计算能力的任务&#xff0c;需要长时间运行&#xff0c;这段时间会阻塞线程其它事件的处理&#xff0c;不适宜放在主线程进行。例如图像处理、视频编码、数据分析等。 基于多线程并发机制处理CPU密集型任务可以提高CPU利用率&#x…

学习大数据之JDBC(使用JAVA语句进行SQL操作)(2)

文章目录 PreparedStatement预处理对象sql注入的问题以解决方法&#xff08;预处理对象&#xff09;使用预处理对象(PreparedStatement)实现操作使用预处理对象&#xff08;PreparedStatement&#xff09;实现查询操作使用预处理对象&#xff08;PreparedStatement&#xff09;…

瑞吉外卖实战学习--11、分类管理的列表分页查询

分类管理的列表分页查询 前言1、创建接口2、基于分页组件来实现的 前言 通过前端接口可以看到请求和传递的参数&#xff0c;本文章是基于mybatisPlus的分页插件来实现的 1、创建接口 GetMapping("/page")public R<Page> page(int page,int pageSize){ // …

AI图像重绘解决方案

高质量的图像素材往往成本高昂且制作周期长&#xff0c;给企业带来了不小的困扰。美摄科技凭借其领先的AI图像重绘解决方案&#xff0c;为企业提供了一种高效、便捷且成本可控的图像优化途径&#xff0c;助力企业重塑视觉形象&#xff0c;引领市场新风尚。 美摄科技的AI图像重…

求组合数I(acwing)

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

FPGA设计_加法器

文章目录 前言补充&#xff1a;各种门电路符号一、半加器二、全加器三、串行进位加法器3.1、verilog代码设计 四、超前进位加法器4.1、verilog代码设计 五、进位链CARRY4 前言 在之前一篇介绍7系列FPGA底层资源的时候&#xff0c;我们提到过每一个slice当中有一个CARRY4&#…

2024.3.26学习总结

一&#xff0c;正则匹配 正则匹配是用来搜索&#xff0c;匹配&#xff0c;替换的一种字符串模式&#xff0c;使用正则匹配可以让搜索匹配的语句更加简洁&#xff0c;在php中会使用一些函数来处理正则匹配 常用的语法&#xff1a; 字符类 [abc]: 匹配单个字符a、b或c[^abc]: 匹…

为什么跟着高手还是亏损?fpmarkets10秒解答

各位投资者&#xff0c;不知道你们有没有遇见这样的情况&#xff1f;不管是别人能够持续盈利的技术指标&#xff0c;还是业内知名的行业专家&#xff0c;只要是我们这些普通的投资者一旦使用持续盈利的技术指标&#xff0c;或者跟随专家顾问的信号同时在同一个方向建仓&#xf…

Go-Gin-Example 第八部分 优化配置接口+图片上传功能

文章目录 前情提要本节目标 优化配置结构讲解落实修改配置文件优化配置读取及设置初始化顺序第一步 验证 抽离file 实现上传图片接口图片名加密封装image的处理逻辑编写上传图片的业务逻辑增加图片上传的路由 验证实现前端访问 http.FileServerr.StaticFS修改文章接口新增、更新…

基于单片机智能数字温度采集报警器系统设计

**单片机设计介绍&#xff0c;基于单片机智能数字温度采集报警器系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机智能数字温度采集报警器系统设计的核心目标是通过单片机实现温度的实时采集、显示以及超温报警…

琴童投稿发表论文

《琴童》是由国家新闻出版总署批准&#xff0c;中文天地出版传媒集团股份有限公司主管、百花洲文艺出版社有限责任公司主办的一本音乐素质教育期刊。本刊的办刊宗旨为&#xff1a;为中小学生普及音乐知识、提高音乐教育水平、促进素质教育服务。2008年、2010年、2014年、2015年…

镭速如何解决UDP传输不通的问题

我们之前有谈到过企业如果遇到UDP传输不通的情况&#xff0c;常见的一些解决方式&#xff0c;同时也介绍了一站式企业文件传输方式-镭速相关优势&#xff0c;如果在实际应用中&#xff0c;若镭速UDP传输出现不通的情况&#xff0c;需要按照网络通信的一般性排查方法以及针对镭速…

ESP32学习---ESP-NOW

ESP32学习---ESP-NOW 基于Arduino IDE环境获取mac地址单播通讯一对多通讯多对一通讯多对多通讯模块1代码模块2模块3 广播通讯 基于ESP-IDF框架 乐鑫编程指南中关于ESP-NOW的介绍&#xff1a;https://docs.espressif.com/projects/esp-idf/zh_CN/v5.2.1/esp32/api-reference/net…

探秘开发公司内部,开发小程序只要几百块?

做一个微信小程序大概需要多少钱&#xff1f; 在考虑开发微信小程序之前&#xff0c;许多商家和企业都会关心开发费用这个问题&#xff0c;并且可能会对比多家公司的报价。那么&#xff0c;开发一个微信小程序大概需要多少费用呢&#xff1f;下面我们简单介绍一下小程序开发的…

思考:开启MMU瞬间可能出现的多种问题以及多种解决方案

快速链接: 【精选】ARMv8/ARMv9架构入门到精通-[目录] &#x1f448;&#x1f448;&#x1f448; (说明本文的介绍都是基于armv8-aarch64或armv9硬件架构) 在mmu未开启阶段&#xff0c;PC操作的都是物理地址执行程序&#xff0c;这样看起来一切正常&#xff0c;没啥问题。 例如…