java(4)之运算符

news2024/11/28 14:34:30

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.coloradmin.cn/o/1562480.html

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

相关文章

免费图片转excel方案大全

随着信息技术的发展&#xff0c;我们经常会遇到需要将图片中的数据转换成Excel表格的情况。这种需求在数据分析、报表制作、信息整理等领域尤为常见。然而&#xff0c;许多人在面对这一任务时感到困惑&#xff0c;不知道如何进行。本文将为大家介绍几种免费的图片转Excel方案&a…

软考 - 系统架构设计师 - 数据流图案例题

阅读以下关于系统数据分析与建模的叙述&#xff0c;在答题纸上回答问题1至问题3。 【说明】 某公司正在研发一套新的库存管理系统。系统中一个关键事件是接收供应商供货。项目组系统分析员小王花了大量时间在仓库观察了整个事件的处理过程&#xff0c;并开发出该过程所执行活动…

美食分享(源码+文档)

美食分享系统&#xff08;小程序、ios、安卓都可部署&#xff09; 文件包含内容程序简要说明含有功能项目截图客户端主页注册界面美食详细及教程界面搜索菜谱分类美食制作上传我的资料登录界面 管理端登录界面关键词管理用户管理分类管理历史管理菜谱管理 文件包含内容 1、搭建…

SSM框架学习——SqlSession以及Spring与MyBatis整合

SqlSession以及Spring与MyBatis整合 准备所需要的JAR包 要实现MyBatis与Spring的整合&#xff0c;很明显需要这两个框架的JAR包&#xff0c;但是只是使用这两个框架中所提供的JAR包是不够的&#xff0c;还需要配合其他包使用&#xff1a; Spring的JAR包MyBatis的JAR包Spring…

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

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

LuaJIT源码分析(二)数据类型

LuaJIT源码分析&#xff08;二&#xff09;数据类型 LuaJIT支持的lua数据类型和官方的lua 5.1版本保持一致&#xff0c;它的源文件中也有一个lua.h&#xff1a; // lua.h /* ** basic types */ #define LUA_TNONE (-1)#define LUA_TNIL 0 #define LUA_TBOOLEAN 1 #define L…

将 Three 带到 Vue 生态系统,TresJs 中文文档上线

将 Three 带到 Vue 生态系统&#xff0c;TresJs 中文文档上线 中文文档上线入门指南 ThreeJS 在创建 WebGL 3D 网站方面是一个奇妙的库&#xff0c;同时他也是一个保持不断更新的库&#xff0c;一些对其封装的维护者&#xff0c;如 TroisJS&#xff0c;往往很难跟上其所有的更…

在js中本地存储的数组如何转成对象

一、此方法仅适用一维数组&#xff1b; 二、效果图 使用后 三、js代码。 function gong(s){console.log(s);let data;let kk1;// 检查ask_id是否不为空 if (s.ask_id null ) { kk1}else{kk2let dd;dds.data;sessionStorage.setItem(wenda,JSON.stringify(dd[0]))window.l…

个人简历主页搭建系列-05:部署至 Github

前面只是本地成功部署网站&#xff0c;网站运行的时候我们可以通过 localhost: port 进行访问。不过其他人是无法访问我们本机部署的网站的。 接下来通过 Github Pages 服务把网站部署上去&#xff0c;这样大家都可以通过特定域名访问我的网站了&#xff01; 创建要部署的仓库…

【Go】十三、面向对象:方法

文章目录 1、面向对象2、结构体实例的创建3、结构体之间的转换4、方法5、结构体值拷贝6、方法的注意点7、方法和函数的区别8、跨包创建结构体实例 1、面向对象 Go的结构体struct ⇒ Java的Class类Go基于struct来实现OOP相比Java&#xff0c;Go去掉了方法重载、构造函数和析构函…

[Java基础揉碎]枚举

目录 先看一个需求 枚举介绍: 枚举实现的方式: >自定义类实现枚举实例: >使用enum关键字实现枚举 ​编辑 enum关键字实现枚举注意事项 enum常用方法 enum细节 先看一个需求 要求创建季节(Season)对象&#xff0c;请设计并完成。 // 传统的方法建造一个类: clas…

企业能耗数据分析有哪些优势?怎样进行分析?

随着互联网技术的发展&#xff0c;企业在运营中会出现大量的用能数据&#xff0c;但却做不了精准的用能数据分析&#xff0c;导致数据没有得到有效利用&#xff0c;以及产生能源浪费现象。 为什么企业用能分析总是难&#xff1f; 一、用能分析过程复杂 由于用能分析过于复杂…

websocketpp上手笔记-Windows安装

WebSocketpp是什么 最近手上有一个c项目&#xff0c;需要用websocket从服务器端收内容。于是网上找了圈&#xff0c;发现WebSocketpp库可以做websocket的客户端。 WebSocketpp也叫WebSocket&#xff0c;github地址是&#xff1a;https://github.com/zaphoyd/websocketpp&…

每天五分钟深度学习:神经网络和深度学习有什么样的关系?

本文重点 神经网络是一种模拟人脑神经元连接方式的计算模型&#xff0c;通过大量神经元之间的连接和权重调整&#xff0c;实现对输入数据的处理和分析。而深度学习则是神经网络的一种特殊形式&#xff0c;它通过构建深层次的神经网络结构&#xff0c;实现对复杂数据的深度学习…

商标名称的词性:因形近不良而驳回!

近期看到业内有许多因不良驳回的案例&#xff0c;有些是直接因为不良而驳回&#xff0c;普推知产老杨发现一个因形近而驳回的案例&#xff0c;2022年5月申请的“乡巴佬”通过初审下证了&#xff0c;2022年10月申请“乡巴饶”因形近“乡巴佬”不良而驳回&#xff0c;而且还做过驳…

打造安全医疗网络:三网整体规划与云数据中心构建策略

医院网络安全问题涉及到医院日常管理多个方面&#xff0c;一旦医院信息管理系统在正常运行过程中受到外部恶意攻击&#xff0c;或者出现意外中断等情况&#xff0c;都会造成海量医疗数据信息的丢失。由于医院信息管理系统中存储了大量患者个人信息和治疗方案信息等&#xff0c;…

Word、Excel、PPT文件转PDF文件(C#)

一、添加依赖 为wpf项目引用Microsoft.Office.Interop.Excel、Microsoft.Office.Interop.PowerPoint、Microsoft.Office.Interop.Word、Office&#xff0c;依赖文件已经打到源代码包里了。 二、先定义一些命名空间 using Word Microsoft.Office.Interop.Word;using Excel M…

Vue2.x安装Tinymce依赖冲突解决

Vue2.x安装Tinymce依赖冲突原因 使用vue整合tinymce富文本编辑器&#xff0c;安装依赖时报错 报错的原因是下载版本与vue的版本对不上vue2.x版本应该使用如下指定版本依赖更合适 npm install --save "tinymce/tinymce-vue^3.1"额外依赖为 npm install --save &quo…

ssm013小型企业办公自动化系统的设计和开发+vue

小型企业办公自动化系统的设计与实现 摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对小型企业办公信息管理混乱&am…

流行的API架构学习

几种流行的API架构风格图 SOAP&#xff08;Simple Object Access Protocol&#xff09; 优点&#xff1a;SOAP 是一种基于 XML 的通信协议&#xff0c;具有良好的跨平台和跨语言支持。它提供了丰富的安全性和事务管理功能&#xff0c;并支持复杂的消息交换模式。 缺点&#xf…