【QA】Java常见运算符

前言

本文主要讲述Java常见的运算符

运算符的概念

两个基本概念:

  • 运算符:对字面量或者变量进行操作的符号

  • 表达式:用运算符把字面量或者变量连接起来符合java语法的式子就可以称为表达式

示例:

int a = 10;
int b = 20;
int c = a + b;

/*
	+:是运算符,并且是算术运算符
	a + b:是表达式,由于+是算术运算符,所以这个表达式叫算术表达式
*/

常见的运算符

算数运算符

符号意义
+
-
*
/
%取余

示例:

public class Test {
    public static void main(String[] args) {
    	// 同类别算数运算符,从左到右依次参与运算
        
        System.out.println(1 + 23);        			// 24
        System.out.println("年龄为:" + 23);		// 年龄为:23
        System.out.println(1 + 99 + "年黑马");		// 100年黑马
        System.out.println("练习时长" + 1 + 1.5 + '年');		// 练习时长11.5年(当碰到字符串后,+就变成了字符串连接符,而不是算数运算符)
        System.out.println("练习时长" + (1 + 1.5) + '年');		// 练习时长2.5年
    }
}

自增自减运算符

public class Test {
    public static void main(String[] args) {
    	// 单独使用
        int a = 10;
        a++		// a=11
        ++a		// a=12
        
        // 组合使用
        int b;
        b = ++a;		// a=13, b=13
       	a++;			// a=14
        b = a++;		// a=15,b=14
    }
}

// --运算符计算逻辑同理

赋值运算符

符号意义
=赋值
+=相加后赋值
-=相减后赋值
*=相乘后赋值
/=相除后赋值
%=相取余后赋值

赋值运算符中,隐含着强制类型转换

关系运算符

符号补充
==(可以比较任意基本数据类型)对于基本数据类型,比较的是数值是否一致;对于引用数据类型,比较的是地址值是否一致
!=比较除了boolean类型外的任意基本数据类型
>比较除了boolean类型外的任意基本数据类型
>=比较除了boolean类型外的任意基本数据类型
<比较除了boolean类型外的任意基本数据类型
<=比较除了boolean类型外的任意基本数据类型

关系运算符处理的结果都是boolean数据类型,结果是true或false

逻辑运算符

符号意义补充
&结果:有false就是false;特点:多个表达式进行与操作,前边有false,也会进行后边的运算判断
&&结果:有false就是false;特点:多个表达式进行与操作,前边有false,就不会进行后边的运算判断常用
|结果:有true就是true;特点:多个表达式进行或操作,前边有true,也会进行后边的运算判断
||结果:有true就是true;特点:多个表达式进行或操作,前边有true,就不会进行后边的运算判断常用
true即false,false即true常用
^异或运算符:相同为false,不同为true

三元运算符

public class test {
    public static void main(String[] args) {
        int a = 2;
        int v = a == 1 ? 1 : 10;
        System.out.println(v);  // v=10
    }
}

移位运算符

有三种移位运算符:左移运算符、右移运算符、无符号右移运算符。

左移运算符:<<左移n位。高位丢弃,低位补0不溢出的情况下,等于将数字扩大2^n倍
右移运算符:>>右移n位。低位丢弃,高位:符号位(正数补0,负数补1),其余位(补0)等于将数组缩小1/2^n倍
无符号右移:>>>右移n位。低位丢弃,高位:统一补0(忽略符号位)

常见运算符的优先级

image-20231006202712315

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

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

相关文章

上证50etf期权到底该怎么玩?

今天期权懂带你了解上证50etf期权到底该怎么玩&#xff1f;ETF期权是一种股票市场上的金融衍生品&#xff0c;它是在交易所上市交易的期权合约&#xff0c;其标的资产是某个特定的交易所交易基金&#xff08;ETF&#xff09;&#xff0c;如上证50指数ETF或沪深300指数ETF等。 上…

2023黑马头条.微服务项目.跟学笔记(五)

2023黑马头条.微服务项目.跟学笔记 五 延迟任务精准发布文章 1.文章定时发布2.延迟任务概述 2.1 什么是延迟任务2.2 技术对比 2.2.1 DelayQueue2.2.2 RabbitMQ实现延迟任务2.2.3 redis实现3.redis实现延迟任务4.延迟任务服务实现 4.1 搭建heima-leadnews-schedule模块4.2 数据库…

品深茶的抗癌功能是否涉及虚假宣传?

品深茶说到底&#xff0c;本质还是中国传统茶叶&#xff0c;茶叶本就是一种含有多种成分的饮品&#xff0c;包括茶多酚、生物碱、氨基酸、有机酸等。这些成分对人体有一定的益处&#xff0c;如抗氧化、抗炎、抗菌等作用。 一些研究表明&#xff0c;茶叶中的某些成分如茶多酚、…

以中国为目标的DinodasRAT Linux后门攻击场景复现

概述 在上一篇《以中国为目标的DinodasRAT Linux后门剖析及通信解密尝试》文章中&#xff0c;笔者对DinodasRAT Linux后门的功能及通信数据包进行了简单剖析&#xff0c;实现了对DinodasRAT Linux后门心跳数据包的解密尝试。 虽然目前可对DinodasRAT Linux后门的通信数据包进…

关于在Conda创建的虚拟环境中安装好OpenCV包后,在Pycharm中依然无法使用且import cv2时报错的问题

如果你也掉进这个坑里了&#xff0c;请记住opencv-python&#xff01;opencv-python&#xff01;&#xff01;opencv-python&#xff01;&#xff01;&#xff01; 不要贪图省事直接在Anaconda界面中自动勾选安装libopencv/opencv/py-opencv包&#xff0c;或者在Pycharm中的解…

FPGA学习笔记(3)——正点原子ZYNQ7000简介

1 ZYNQ-7000简介 ZYNQ 是由两个主要部分组成的&#xff1a;一个由双核 ARM Cortex-A9 为核心构成的处理系统&#xff08;PS&#xff0c;Processing System&#xff09;&#xff0c;和一个等价于一片 FPGA 的可编程逻辑&#xff08;PL&#xff0c;Programmable Logic&#xff0…

github提交不了的问题

开了VPN提交的时候提示这个报错 是需要这两个端口号一致&#xff0c;就能提交了

智慧应急三维电子沙盘系统

深圳易图讯科技有限公司&#xff08;www.3dgis.top&#xff09;自主研发的智慧应急三维电子沙盘系统依托大数据融合物联网、云计算、移动互联、5G、BIM、三维GIS等新一代信息技术&#xff0c;集成了高清卫星影像、地形数据、实景三维模型、现场环境数据、物联感知信息、人口、建…

KAN: Kolmogorov–Arnold Networks

KAN: Kolmogorov–Arnold Networks 论文链接&#xff1a;https://arxiv.org/abs/2404.19756 代码链接&#xff1a;https://github.com/KindXiaoming/pyKAN 项目链接&#xff1a;https://kindxiaoming.github.io/pyKAN/intro.html Abstract 受Kolmogorov-Arnold表示定理的启…

常用算法汇总

作者&#xff1a;指针不指南吗 专栏&#xff1a;算法篇 &#x1f43e;算法思维逻辑&#x1f43e; 文章目录 1.判断闰年2.计算从某天到某天的天数3.二分4. 前缀和5.差分6.图论6.1dfs6.2走迷宫 7.最短路7.1dijkstra7.2foly 8.并查集9.数论9.1gcd lcm9.2判断素数(质数)9.3分解质因…

python学习笔记-02

变量和数据类型 程序中运用变量存储数据&#xff0c;python是一门强类型语言&#xff0c;赋值时不需要指定数据类型。 1.变量的定义 语法格式&#xff1a;变量名数据 a10 print(a) a哈哈 print(a)python中基本数据类型&#xff1a; 数字(num)&#xff1a;int(有符号整数)、lo…

网站安全大揭秘:十大常见攻击方式与应对策略

随着互联网的普及&#xff0c;恶意内容攻击事件屡见不鲜。当一个网站遭遇恶意内容攻击时&#xff0c;不仅会影响用户体验&#xff0c;还可能对用户数据和隐私造成严重威胁&#xff0c;那么&#xff0c;网站都存在哪些形式的恶意攻击呢&#xff1f; 每种攻击的应对策略又是什么&…

如何练英语口语?三个简单练习方法

如何练英语口语&#xff1f;在全球化日益加速的今天&#xff0c;英语已经成为了一种必不可少的交流工具。对于很多人来说&#xff0c;尤其是那些想要在国际舞台上崭露头角的人&#xff0c;流利的英语口语更是必不可少的技能。但是&#xff0c;很多人也面临着一个问题&#xff1…

搭建Springboot的基础开发框架-01

本系列专题虽然是按教学的深度来定稿的&#xff0c;但在项目结构和代码组织方面是按公司系统的要求来书定的。在本章中主要介绍下基础开发框架的功能。后续所有章节的项目全是在本基础框架的基础上演进的。 工程结构介绍 SpringbootSeries&#xff1a;父工程&#xff0c;定义一…

男士内裤品牌哪个好?口碑最好的男士内裤汇总

许多男士选内裤可能比较随意&#xff0c;但实际上作为长时间贴合身体皮肤的贴身衣物&#xff0c;经常会出很多汗。而普通的内裤会吸附很多汗水却不易干&#xff0c;导致细菌含量超标&#xff0c;摩擦力增强&#xff0c;容易造成破皮感染从而影响健康。 但是现在的男士内裤种类和…

Sentinel-Dashboard安装

1. Docker官方镜像 找到跟你版本相对于的镜像进行拉取&#xff1a; &#xfeff;https://hub.docker.com/r/bladex/sentinel-dashboard # 运行容器 Sentinel默认端口 8858 docker run --name sentinel-dashboard -p 8858:8858 -d bladex/sentinel-dashboard:1.8.6 &#xfeff…

【智能优化算法】野狗智能优化算法(Dingo Optimization Algorithm DOA)

野狗智能优化算法(Dingo Optimization Algorithm DOA)是期刊“MATHEMATICAL PROBLEMS IN ENGINEERING”的2021年智能优化算法 01.引言 野狗智能优化算法(Dingo Optimization Algorithm DOA)该算法的灵感来自野狗的狩猎策略&#xff0c;即迫害攻击&#xff0c;分组策略和清除行…

代码随想录算法训练营DAY46|C++动态规划Part8|139.单词拆分、多重背包理论基础、背包问题总结篇

文章目录 139.单词拆分思路CPP代码 多重背包理论基础处理输入把所有个数大于1的物品展开成1个开始迭代&#xff0c;计算dp数组代码优化 背包问题总结篇 139.单词拆分 力扣题目链接 文章讲解&#xff1a;139.单词拆分 视频讲解&#xff1a;你的背包如何装满&#xff1f;| LeetCo…

暗区突围联机不了联机失败无法联机的极速解决方法

暗区突围联机不了/联机失败/无法联机的极速解决方法 《暗区突围》是由腾讯魔方工作室群开发的第一人称射击类手游&#xff0c;于2021年8月17日进行先锋测试&#xff0c;并在2022年7月13日正式公测。《暗区突围》提供了双模式玩法&#xff0c;包括战术行动和伪装潜入&#…

QGraphicsView实现简易地图10『自适应窗口大小』

前文链接&#xff1a;QGraphicsView实现简易地图9『层级缩放显示底图』 自适应窗口大小 当地图窗口放大或缩小的时候&#xff0c;需要地图能够动态覆盖整个视口。 1、动态演示效果 2、核心代码 注&#xff1a;WHMapView继承自MapViewvoid WHMapView::resize() {if (m_curLev…