【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);        			// 24System.out.println("年龄为:" + 23);		// 年龄为:23System.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=13a++;			// a=14b = 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.mzph.cn/diannao/8065.shtml

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

相关文章

Selenium——获取元素和操纵元素的方法

1、获取元素的方法 1、通过id获取 element wd.find_element(By.ID,"id")2、通过classname获取 elements wd.find_elements_by_class_name("plant") for element in elements:print(element.text)3、通过tagname获取元素 elements wd.find_elements_…

nacos核心源码深度剖析

文章目录 一、nacos1.4.1版本&#xff1a;服务注册与发现架构原理1、基本原理2、Nacos&Ribbon&Feign核心微服务架构图3、Nacos架构图4、核心功能点5、核心功能源码分析&#xff08;1&#xff09;客户端注册逻辑&#xff08;2&#xff09;服务端注册接口&#xff08;3&a…

python:机器学习特征优选

作者&#xff1a;CSDN _养乐多_ 在Python中进行机器学习特征选择的方法有很多种。以下是一些常用的方法&#xff1a; 过滤法&#xff08;Filter Methods&#xff09;&#xff1a;通过统计方法或者相关性分析来评估每个特征的重要性&#xff0c;然后选择最相关的特征。常用的…

Linux内核--设备驱动(七)媒体驱动框架整理--HDMI框架(2)

目录 一、引言 二、drm框架 ------>2.1、画布( FrameBuffer ) ------>2.2、绘图现场(CRTC) ------>2.3、输出转换器(Encoder ) ------>2.4、连接器 (Connector ) ------>2.5、显示面(Planner) 三、VOP部分详解 ------>3.1、dts ------>3.2、v…

【0DAY】瑞友天翼应用虚拟化系统index.php接口处存在SQL注入漏洞导致程RCE

免责声明&#xff1a;文章来源互联网收集整理&#xff0c;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;所产生的一切不良后果与文章作者无关。该…

04-程序控制结构

1. 控制结构介绍 决定程序是如何执行的。 三大流程结构 顺序结构选择结构循环结构 顺序结构 程序从上到下依次执行&#xff0c;中间没有任何判断和跳转。 简单示例 public class Main {public static void main(String[] args) {System.out.println("这是第一行&qu…

每日算法之路径总和

题目描述 给定一个二叉树的根节点 root &#xff0c;和一个整数 targetSum &#xff0c;求该二叉树里节点值之和等于 targetSum 的 路径 的数目。 路径 不需要从根节点开始&#xff0c;也不需要在叶子节点结束&#xff0c;但是路径方向必须是向下的&#xff08;只能从父节点到…

和comate一起,用JavaScript实现一个简易版五子棋小游戏

前言 五子棋起源于中国&#xff0c;是全国智力运动会竞技项目之一&#xff0c;是一种两人对弈的纯策略型棋类游戏。双方分别使用黑白两色的棋子&#xff0c;下在棋盘直线与横线的交叉点上&#xff0c;先形成五子连珠者获胜。 这次和Baidu Comate智能代码助手共同完成这个小游戏…

HarmonyOS NEXT应用开发之多模态页面转场动效实现案例

介绍 本示例介绍多模态页面转场动效实现&#xff1a;通过半模态转场实现半模态登录界面&#xff0c; 与全屏模态和组件转场结合实现多模态组合登录场景&#xff0c;其中手机验证码登录与账号密码登录都为组件&#xff0c; 通过TransitionEffect.move()实现组件间转场达到近似页…

在Python中获取当前线程的名字

多线程编程是一种常见的编程范式&#xff0c;它允许程序同时执行多个任务。在Python中&#xff0c;​​threading​​模块提供了对多线程编程的支持。了解和管理当前运行的线程是多线程编程中的一个重要方面。本技术博客将介绍如何在Python中获取当前线程的名字&#xff0c;并提…

Linux入门攻坚——22、通信安全基础知识及openssl、CA证书

Linux系统常用的加解密工具&#xff1a;OpenSSL&#xff0c;gpg&#xff08;是pgp的实现&#xff09; 加密算法和协议&#xff1a; 对称加密&#xff1a;加解密使用同一个秘钥&#xff1b; DES&#xff1a;Data Encryption Standard&#xff0c;数据加密标准&…

meshlab: pymeshlab保存物体的横截面(compute planar section)

一、关于环境 请参考&#xff1a;pymeshlab遍历文件夹中模型、缩放并导出指定格式-CSDN博客 二、关于代码 本文所给出代码仅为参考&#xff0c;禁止转载和引用&#xff0c;仅供个人学习。 # pymeshlab需要导入&#xff0c;其一般被命名为ml import pymeshlab as ml# 本案例所…

05.添加自定义触发器

添加自定义触发器 在系统中找到一个用户登录数量的监控项&#xff0c;用该监控项作为参考实例 测试监控项取值&#xff0c;2代表为登录系统终端数量 创建触发器 表达式设置条件&#xff0c;选择对应的监控项&#xff0c;根据对应的功能函数&#xff0c;在选择触发的结果 添…

简洁大气APP下载单页源码

源码介绍 简洁大气APP下载单页源码&#xff0c;源码由HTMLCSSJS组成&#xff0c;记事本打开源码文件可以进行内容文字之类的修改&#xff0c;双击html文件可以本地运行效果&#xff0c;也可以上传到服务器里面 效果截图 源码下载 简洁大气APP下载单页源码

Jenkins +配置邮件 centos8.5 安装部署 运维系列一

1 jenkins的war包下载地址: Download and deploy 2 xftp 等方式上传到服务器 #安装jdk tar zxvf jdk-11.0.8_linux-x64_bin.tar.gz mv jdk-11.0.8/ /usr/local/jdk vim /etc/profile export JAVA_HOME/usr/local/jdk export PATH$JAVA_HOME/bin:$PATH CLASSPATH.:$JAVA_…

中国居民消费新特征:中枢回落,即时满足,去地产化

随着收入预期和财富效应的转变&#xff0c;居民更倾向于通过短期集中式的消费来获得即时满足的快乐&#xff0c;服务消费表现出了更强的韧性。服务消费强于商品消费、消费去地产化、汽车挑大梁的特征延续。 特征一&#xff1a;消费倾向高于2020-22年&#xff0c;低于2017-19年…

传递给组件

React 组件使用 props 相互通信。每个父组件都可以通过为其子组件提供道具来将一些信息传递给子组件。Props 可能会让您想起 HTML 属性&#xff0c;但您可以通过它们传递任何 JavaScript 值&#xff0c;包括对象、数组和函数。 Props 是传递给 JSX 标签的信息。例如&#xff0…

libcity笔记:详细流程(以DeepMove为例)

1 主调用 python run_model.py --task traj_loc_pred --model DeepMove --dataset gowalla --batch_size5有task、dataset、model三个必须命令行参数batch_size一个可选命令行参数没有confg_file 1.1 libcity/utils/argument_list.py/str2bool 将字符串表示的布尔值转换为 Pyt…

结合kimi chat的爬虫实战思路

背景 想钻研一下项目组件&#xff0c;找找之后的学习方向。不能自以为是&#xff0c;所以借着网开源项目网站上公布的项目内容看一下&#xff0c;那些是我可以努力去学习的&#xff08;入门的&#xff09;。首先需要获取相关内容&#xff0c;于是爬取整理。 任务1&#xff1a…

操作系统实战(二)(linux+C语言)

实验内容 通过Linux 系统中管道通信机制&#xff0c;加深对于进程通信概念的理解&#xff0c;观察和体验并发进程间的通信和协作的效果 &#xff0c;练习利用无名管道进行进程通信的编程和调试技术。 管道pipe是进程间通信最基本的一种机制,两个进程可以通过管道一个在管道一…