Java运算符简单介绍

文章目录

  • 1. 算术运算符
  • 2. 赋值运算符
  • 3. 比较(关系)运算符
  • 4. 逻辑运算符
  • 5. 位运算符
  • 6. 条件运算符(三元运算符)
  • 7. 运算符优先级

1. 算术运算符

  • +:加法
int a = 5;
int b = 3;
int sum = a + b; // 结果为8
  • -:减法
int c = a - b; // 结果为2
  • *:乘法
int d = a * b; // 结果为15
  • /:除法(结果为浮点数在整数除法时会被自动转换为浮点型)
double e = a / (double) b; // 强制转换其中一个为double以得到精确除法结果
  • %:取模或求余数
int remainder = a % b; // 结果为2

2. 赋值运算符

  • =:基本赋值
int x;
x = 10;
  • 复合赋值运算符如 +=, -=, *=, /=, %=:
int y = 5;
y += a; // 相当于 y = y + a;

3. 比较(关系)运算符

  • ==:等于
boolean equal = a == b; // false
  • !=:不等于
boolean notEqual = a != b; // true
  • <:小于
boolean lessThan = a < b; // false
  • >:大于
boolean greaterThan = a > b; // true
  • <=:小于等于
boolean lessThanOrEqual = a <= b; // false
  • >=:大于等于
boolean greaterThanOrEqual = a >= b; // true

4. 逻辑运算符

  • &&:逻辑与(AND)
boolean condition1 = true;
boolean condition2 = false;
boolean andResult = condition1 && condition2; // false
  • ||:逻辑或(OR)
boolean orResult = condition1 || condition2; // true
  • !:逻辑非(NOT)
boolean notResult = !condition1; // false

5. 位运算符

  • &:按位与
int bitA = 6; // 十进制表示为 0b0110
int bitB = 3; // 十进制表示为 0b0011
int bitwiseAnd = bitA & bitB; // 结果为 2 (0b0010)
  • |:按位或
int bitwiseOr = bitA | bitB; // 结果为 7 (0b0111)
  • ^:按位异或
int bitwiseXor = bitA ^ bitB; // 结果为 5 (0b0101)
  • ~:按位取反
int bitwiseNot = ~bitA; // 结果为 -7 (-0b1001)
  • <<:左移
int leftShift = bitA << 1; // 结果为 12 (0b1100)
  • >>:有符号右移
int rightShiftSigned = bitA >> 1; // 结果为 3 (0b0011)
  • >>>:无符号右移
int rightShiftUnsigned = bitA >>> 1; // 结果为 3 (0b0011),高位补零

6. 条件运算符(三元运算符)

int max = a > b ? a : b; // 如果a大于b,则max为a,否则为b

7. 运算符优先级

图1

在这里插入图片描述

图2

在这里插入图片描述

  • 运算符有不同的优先级。当表达式包含多个运算符时,优先级较高的运算符会先执行。以下是一份大致的Java运算符优先级列表(从高到低)

  • 注意:如果两个运算符具有相同的优先级,那么它们将按照从左到右的顺序结合(称为“关联性”)。若要改变运算顺序,可以使用圆括号明确指定优先级。

  • 例如,在表达式 a + b * c 中,因为乘法 (*) 的优先级高于加法 (+),所以会先计算 b * c 再加上 a。如果需要先进行加法运算,应写成 (a + b) * c。

  1. 圆括号 ():括号内的表达式总是最先执行。

  2. 一元运算符:

    • ++、--(前置)
    • +、-(作为一元运算符,如正负号)
    • !、~(逻辑非和按位取反)
  3. 乘法与除法运算符:

    • *
    • /
    • %
  4. 加法与减法运算符:

    • +
    • -
  5. 移位运算符:

    • <<
    • >>
    • >>>
  6. 关系运算符:

    • <
    • >
    • <=
    • >=
    • instanceof
  7. 等于性运算符:

    • ==
    • !=
  8. 位运算符:

    • &
  9. 按位异或运算符:

    • ^
  10. 位运算符:

    • |
  11. 逻辑与运算符:

    • &&
  12. 逻辑或运算符:

    • ||
  13. 条件运算符(三元运算符):

    • ? :
  14. 赋值运算符:

    • =
    • +=, -=,*=, /=, %=, &=, |=, ^=, <<=, >>=, >>>=
  15. 逗号运算符:

    • , (用于多个操作数的顺序求值,其结果为最后一个表达式的值)

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

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

相关文章

docker——docker compose简介和案例(部署prometheus+granfana+node-exporter)

docker compose Docker Compose 是 Docker 官⽅编排&#xff08;Orchestration&#xff09;项⽬之⼀&#xff0c;负责快速的部署分布式应⽤。 它允许⽤户通过⼀个单独的 docker-compose.yml 模板⽂件 &#xff08;YAML 格式&#xff09;来定义⼀组相关联的应⽤容器为⼀个项⽬…

基于java,springboot的论旅游管理系统设计与实现

环境以及简介 基于java,springboot的论旅游管理系统设计与实现&#xff0c;Java项目&#xff0c;SpringBoot项目&#xff0c;含开发文档&#xff0c;源码&#xff0c;数据库以及ppt 源码下载 环境配置&#xff1a; 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服…

vue生成动态表单

Vue动态表单可以根据不同的数据动态地生成表单组件&#xff0c;方便快速地实现表单的创建和处理。下面给出一个示例&#xff0c;演示如何使用Vue动态表单生成一个简单的注册表单。 <template><form submit.prevent"submitForm"><div v-for"fiel…

PDF文档转换工具箱流量主小程序开发

PDF转换小助手&#xff0c;不仅是文件格式转换的利器&#xff0c;更是一位得力的助手。它精通PDF与各类文档间的自由转换&#xff0c;如Word、Excel、PowerPoint等。 转换选项丰富多样&#xff0c;满足您对文件保护、页面设置、图像品质等细致要求。处理大量文件&#xff1f;…

翻译!翻译!AI是什么?

2023年开年以来&#xff0c;AI突然开窍&#xff0c;终于不再是以前那个上下文不能连贯的呆子了&#xff0c;变得非常智能&#xff0c;非常好用。随后AI开始井喷式爆发&#xff0c;各大厂商开始发力&#xff0c;开始发布自家的AI产品。AI也逐渐成为我们日常生活的常态。我们也能…

Unity SVN更新提交小工具

Unity SVN更新提交小工具 前言使用说明必要前提源码参数说明 感谢 前言 Unity开发时每次都要到文件夹中操作SVN&#xff0c;做了一个小工具能够在Editor中直接操作。 使用说明 必要前提 前提是要安装好SVN&#xff0c;在文件夹右键能够看到安装的SVN 源码 using System…

用友U8+CRM 逻辑漏洞登录后台漏洞复现

0x01 产品简介 用友U8 CRM客户关系管理系统是一款专业的企业级CRM软件&#xff0c;旨在帮助企业高效管理客户关系、提升销售业绩和提供优质的客户服务。 0x02 漏洞概述 用友 U8 CRM客户关系管理系统 reservationcomplete.php文件存在逻辑漏洞&#xff0c;未授权的攻击者通过…

渗透第四天 (抽空再看一天 )

网站不同的加密 ok  常用的对称加密算法有&#xff1a;DES、3DES、RC2、RC4、AES 常用的非对称加密算法有&#xff1a;RSA、DSA、ECC 使用单向散列函数的加密算法&#xff08;摘要算法&#xff09;&#xff1a;MD5、SHA 密码存储加密 md5 32位或者16位 0-9 a-f…

word表格跑到下一页,老是空很多在上一页,且与标题分离?

1、方法一 表格属性里边&#xff0c;行设置中&#xff0c;有一个“跨页断行”的选项&#xff0c;勾上应该可以解决你这个问题&#xff0c;你可以先试试&#xff1b; 2、方法二 鼠标点击表格任意位置&#xff0c;将光标定位到表格中&#xff0c;然后单击鼠标右键&#xff0c;…

第11章 GUI Page462~476 步骤二十三,二十四,二十五 Undo/Redo ②“添加操作”支持“Undo/Redo”

工程二 1.为AddAction类添加Undo() Redo() GetName()成员函数 2.实现AddAction类的Undo() Redo()函数 3.运行效果&#xff0c;但是日志窗口没有记录 原因&#xff1a;AddAction(EditAction* newAction)函数没有实现&#xff0c;另外参数是EditAction类型 所以我们还需要在基…

2023版本QT学习记录 -11- 多线程的使用(QT的方式)

———————多线程的使用(QT方式)——————— &#x1f384;效果演示 两个线程都输出一些调试信息 &#x1f384;创建多线程的流程 &#x1f384;头文件 #include "qthread.h"&#x1f384;利用多态重写任务函数 class rlthread1 : public QThread {Q_OBJE…

imgaug库指南(六):从入门到精通的【图像增强】之旅

引言 在深度学习和计算机视觉的世界里&#xff0c;数据是模型训练的基石&#xff0c;其质量与数量直接影响着模型的性能。然而&#xff0c;获取大量高质量的标注数据往往需要耗费大量的时间和资源。正因如此&#xff0c;数据增强技术应运而生&#xff0c;成为了解决这一问题的…

web期末作业动态时钟UI界面毛玻璃版

效果图 html代码奉上 <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthde…

Android Canvas图层saveLayer剪切clipRect原图对应Rect区域,Kotlin(1)

Android Canvas图层saveLayer剪切clipRect原图对应Rect区域&#xff0c;Kotlin&#xff08;1&#xff09; 上面一个ImageView&#xff0c;下面一个ImageView&#xff0c;两个ImageView同等大小。当手指在上面的ImageView滑动时候&#xff0c;在下面ImageView里面显示对应区域“…

真核微生物基因组质量评估工具EukCC的安装和详细使用方法

介绍&#xff1a; GitHub - EBI-Metagenomics/EukCC: Tool to estimate genome quality of microbial eukaryotes 安装&#xff1a; docker&#xff1a; docker pull microbiomeinformatics/eukcc 推荐conda 环境&#xff1a; conda install -c conda-forge -c bioconda …

OpenHarmony应用构建工具Hvigor的构建流程

前言 OpenHarmony 应用和服务使用 Hvigor 作为工程的构建工具。本篇文章将介绍 Hvigor 的构建流程&#xff0c;通过修改脚本配置使 Hvigor 执行自定义任务。 Hvigor 的构建流程 加载命令行参数和环境变量&#xff1b;初始化项目结构&#xff0c;创建 Project 和 Module 实例…

Guava Cache 异步刷新技巧

前言 Guava Cache是一款非常优秀的本地缓存框架&#xff0c;提供简洁易用的 API 供开发者使用。 这篇文章&#xff0c;我们聊聊如何使用 Guava Cache 异步刷新技巧带飞系统性能 。 1 基本用法 首先&#xff0c;在 Java 应用中添加 maven 依赖&#xff1a; <dependency&g…

我发现了一个还行的生成图片的网站(新人登录可领30金币)

这个网站是一个生成图片的在线工具&#xff0c;它提供了多种功能和选项&#xff0c;让用户可以轻松地创建各种风格和类型的图片。它的界面简洁易用&#xff0c;新用户登录后还可以获得30个金币的奖励。这些金币可以用来解锁更多的高级功能和特效。用户可以选择不同的背景、字体…

彻底认识Unity ui设计中Space - Overlay、Screen Space - Camera和World Space三种模式

文章目录 简述Screen Space - Overlay优点缺点 Screen Space - Camera优点缺点 World Space优点缺点 简述 用Unity中开发了很久&#xff0c;但是对unity UI管理中Canvas组件的Render Mode有三种主要类型&#xff1a;Screen Space - Overlay、Screen Space - Camera和World Spa…

mysql-数据库DDL操作

之前已经学习了安装mysql服务端还有进行了一些关于数据库安全的设置&#xff0c;现在开始学习创建数据库和数据表以及进行修改。 MySQL的DDL&#xff08;Data Definition Language&#xff09;语句用于定义或更改数据库结构&#xff0c;包括创建、修改或删除表、视图、索引等数…