java 中的运算符

Java 中的运算符分为以下几类,每类运算符都有特定的用途和规则。
1. 算术运算符
算术运算符用于执行基本的数学运算,包括加、减、乘、除和取模等。算术运算符可以用于基本数据类型(如 int、double 等)和它们的包装类(如 Integer、Double 等)。
- 加法运算符 +:用于两个数值相加。例如,5 + 3 的结果是 8。
- 减法运算符 -:用于两个数值相减。例如,10 - 2 的结果是 8。
- 乘法运算符 *:用于两个数值相乘。例如,5 * 3 的结果是 15。
- 除法运算符 /:用于两个数值相除。例如,10 / 2 的结果是 5。在整数除法中,结果为整数,小数部分会被舍去。
- 取模运算符 %:用于两个数值相除,并返回余数。例如,7 % 3 的结果是 1,因为 7 除以 3 的余数是 1。
2. 关系运算符
关系运算符用于比较两个数的大小,返回 true 或 false。关系运算符包括:
- 大于运算符 >:用于比较两个数值的大小,如果第一个数值大于第二个数值,则返回 true。例如,5 > 3 的结果是 true。
- 小于运算符 <:用于比较两个数值的大小,如果第一个数值小于第二个数值,则返回 true。例如,3 < 5 的结果是 true。
- 大于等于运算符 >=:用于比较两个数值的大小,如果第一个数值大于或等于第二个数值,则返回 true。例如,5 >= 3 的结果是 true。
- 小于等于运算符 <=:用于比较两个数值的大小,如果第一个数值小于或等于第二个数值,则返回 true。例如,3 <= 5 的结果是 true。
- 等于运算符 ==:用于比较两个数值是否相等,如果两个数值相等,则返回 true。例如,5 == 5 的结果是 true。
- 不等于运算符 !=:用于比较两个数值是否不相等,如果两个数值不相等,则返回 true。例如,5 != 5 的结果是 false。
3. 逻辑运算符
逻辑运算符用于组合和判断布尔条件,包括且、或和非。逻辑运算符包括:
- 且运算符 &&:用于连接两个布尔表达式,如果两个表达式都为 true,则返回 true。例如,true && true 的结果是 true。
- 或运算符 ||:用于连接两个布尔表达式,如果其中一个表达式为 true,则返回 true。例如,true || false 的结果是 true。
- 非运算符 !:用于反转布尔值,如果布尔值为 true,则返回 false;如果布尔值为 false,则返回 true。例如,!true 的结果是 false,!false 的结果是 true。
4. 赋值运算符
赋值运算符用于将值赋予变量。赋值运算符的例子包括:
- 赋值运算符 =:用于将右侧的值赋给左侧的变量。例如,x = 10 的结果是 x 变为 10。
- 加赋值运算符 +=:用于将右侧的值加到左侧变量的当前值上。例如,x += 3 的结果是 x 变为 13。
- 减赋值运算符 -=:用于将右侧的值从左侧变量的当前值中减去。例如,x -= 3 的结果是 x 变为 7。
- 乘赋值运算符 *=:用于将右侧的值乘以左侧变量的当前值。例如,x *= 3 的结果是 x 变为 30。
- 除赋值运算符 /=:用于将左侧变量的当前值除以右侧的值。例如,x /= 3 的结果是 x 变为 10。
- 取模赋值运算符 %=:用于将左侧变量的当前值除以右侧的值,并返回余数。例如,x %= 3 的结果是 x 变为 1。
5. 位运算符
位运算符用于对二进制位进行运算。位运算符包括:
- 按位与运算符 &:用于对两个数值的二进制位进行按位与运算。例如,5 & 3 的结果是 1,因为二进制表示为 101 & 001。

或运算符 |:用于对两个数值的二进制位进行按位或运算。例如,5 | 3 的结果是 7,因为二进制表示为 101 | 001。
- 按位取反运算符 ~:用于对一个数值的二进制位进行按位取反。例如,~5 的结果是 -6,因为二进制表示为 11111111 11111111 11111111 11111111 对应十进制的 -6。
- 按位异或运算符 ^:用于对两个数值的二进制位进行按位异或运算。例如,5 ^ 3 的结果是 6,因为二进制表示为 101 ^ 001。
- 左移运算符 <<:用于将一个数值的二进制位左移指定的位数。例如,5 << 2 的结果是 20,因为二进制表示为 101 左移 2 位得到 10100。
- 右移运算符 >>:用于将一个数值的二进制位右移指定的位数。例如,5 >> 2 的结果是 1,因为二进制表示为 101 右移 2 位得到 001。
6. 条件(三元)运算符
条件运算符是一个简写版的 if-else 语句,用于根据条件返回不同的值。条件运算符的语法是:
```java
condition ? expression1 : expression2
```
如果 condition 为 true,则表达式 1 的值将被返回,否则返回表达式 2 的值。例如:
```java
int result = (5 > 3) ? 5 : 3;
```
在这个例子中,如果条件 `5 > 3` 为 true,则 `result` 的值为 5,否则为 3。
7. 实例of运算符
实例of运算符用于检查一个对象是否是特定类的实例。它的语法是:
```java
instance instanceof classType
```
如果 instance 是 classType 的实例,则返回 true,否则返回 false。例如:
```java
String s = "Hello World";
if (s instanceof String) {
    System.out.println("s 是 String 类型的实例");
}
```
在这个例子中,如果 `s` 是 `String` 类型的实例,则打印出相应的消息。
8. 增强for循环(for-each循环)
增强for循环是 Java 5 引入的一种简化版的 for 循环,用于遍历数组或集合。它的语法是:
```java
for (type variable : collection) {
    // 循环体
}
```
例如,遍历一个整数数组:
```java
int[] numbers = {1, 2, 3, 4, 5};
for (int number : numbers) {
    System.out.println(number);
}
```
在这个例子中,循环体会遍历 `numbers` 数组中的每个元素,并执行打印操作。
9. 数组和字符串初始化
Java 提供了简化的数组和字符串初始化语法,使得初始化数组和字符串变得更加方便。例如:
```java
// 初始化数组
int[] numbers = {1, 2, 3, 4, 5};
// 初始化字符串
String s = "Hello World";
```
在这两个例子中,数组 `numbers` 和字符串 `s` 都是在声明时进行初始化的。
10. 泛型
Java 5 引入了泛型,允许在编写类、接口和方法时使用类型参数,从而创建可重用的、类型安全的代码。泛型方法允许在运行时使用具体类型来替换类型参数。例如:
```java
public class Box<T> {
    private T t;
    public void set(T t) {
        this.t = t;
    }
    public T get() {
        return t;
    }
}
// 使用泛型
Box<Integer> integerBox = new Box<Integer>();
integerBox.set(10);
int number = integerBox.get();
```
在这个例子中,`Box` 类是一个泛型类,它有一个类型参数

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

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

相关文章

职业生涯第一课---“Redis分布式锁优化:确保唯一性与效率“

前言 最近因为刚入职公司开启自己的实习生涯&#xff0c;工作和毕设论文同步进行&#xff0c;导致有段时间没更新博客了&#xff0c;今天来分享一下最近学到的一些知识。 场景介绍 BOSS让我写一些接口&#xff0c;他提出这样一个需求&#xff0c;该接口的参数有多个&#xf…

C++并发:构建线程安全的队列

正文 线程安全队列的完整的类定义&#xff0c;其中采用了条件变量&#xff1a; #include <condition_variable> #include <memory> #include <mutex> #include <queue> template <typename T> class threadsafe_queue {private:mutable std::m…

谈谈 HTTP 的方法

目录 方法及其作用 扩展方法 GET 和 POST 的区别 PUT 和 POST 都是给服务器发送新增资源&#xff0c;有什么区别&#xff1f; PUT和PATCH都是给服务器发送修改资源&#xff0c;有什么区别&#xff1f; 方法及其作用 HTTP/0.9 只有1种请求方法&#xff1a;GETHTTP/1.0 新增…

【Linux】线程周边001之多线程

&#x1f440;樊梓慕&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》《算法》 &#x1f31d;每一个不曾起舞的日子&#xff0c;都是对生命的辜负 目录 前言 1.线程的理解 2.地址…

Github 2024-05-16 开源项目日报 Top10

根据Github Trendings的统计,今日(2024-05-16统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目4TypeScript项目2C++项目1Go项目1HTML项目1CSS项目1Cuda项目1ChatGPT/Gemini UI: 跨平台聊天应用 创建周期:433 天开发语言:TypeSc…

吴恩达深度学习笔记:优化算法 (Optimization algorithms)2.8

目录 第二门课: 改善深层神经网络&#xff1a;超参数调试、正 则 化 以 及 优 化 (Improving Deep Neural Networks:Hyperparameter tuning, Regularization and Optimization)第二周&#xff1a;优化算法 (Optimization algorithms)2.8 Adam 优化算法(Adam optimization algor…

短视频批量剪辑,智能素材文案生成,多账号授权私信回复与矩阵发布素材功能合集系统,短视频矩阵助手源码搭建部署源码开源部署方案。

目录 一、短视频矩阵助手系统是什么&#xff1f; 二、短视频矩阵助手系统可以为企业解决什么问题&#xff1f; 短视频矩阵助手可以解决哪些问题&#xff1f; 三、短视频矩阵助手系统功能有哪些&#xff1f; 四、总结 一、短视频矩阵助手系统是什么&#xff1f; 短视频矩阵…

提升MySQL性能的秘密:了解表压缩功能的使用及其对性能的影响。

在MySQL数据库的使用中&#xff0c;对于字段类型设计大家可能都有一些思路和方式&#xff0c;但是针对存储方面的设计&#xff0c;在表结构设计之初可能就没考虑过&#xff0c;只有当业务发展到一定规模才意识到它所带来的问题严重性。而物理存储主要是考虑是否要启用表的压缩功…

如何把一张图片分割为网页布局

将一张图片分割为适合网页布局的步骤主要涉及使用图像编辑软件&#xff0c;如Adobe Photoshop&#xff0c;进行切片操作。以下是详细的步骤指导&#xff1a; 1. 准备图片 确保你有一张想要分割的图片&#xff0c;并且已经打开了Adobe Photoshop。 2. 选择切片工具 在工具栏…

环保科普馆如何互动化加深观众环保认知?

如今&#xff0c;多媒体技术的广泛应用&#xff0c;已经为环保、天文、生物等各类主题展厅注入了新的活力&#xff0c;在这些展馆中&#xff0c;它凭借独特的互动体验&#xff0c;以及深入浅出的教育方式&#xff0c;赢得了广大观众的热烈追捧。今天&#xff0c;我们就一同探讨…

阿里巴巴发布最新财报,营收重回增长轨道

KlipC报道&#xff1a;5月14日&#xff0c;阿里巴巴集团发布2024财年及第四财季最新财报&#xff0c;财报显示第四财季收入2218.74亿元&#xff0c;同比增长7%&#xff0c;超出市场预期。2024财年收入同比增长8%&#xff0c;达9411.68亿元。 第四财季净利润244.2亿元人民币&am…

【设计模式】JAVA Design Patterns——Aggregator Microservices(聚合器微服务模式)

&#x1f50d;目的 用户对聚合器服务进行一次调用&#xff0c;然后聚合器将调用每个相关的微服务。 &#x1f50d;解释 真实世界例子 网络市场需要有关产品及其当前库存的信息。 它调用聚合服务&#xff0c;聚合服务依次调用产品信息微服务和产品库存微服务&#xff0c;返回组合…

制作coco类型数据集

COCO格式数据集简介 COCO数据集是一个大型的、丰富的物体检测&#xff0c;分割和字幕数据集。这个数据集以scene understanding&#xff08;场景理解&#xff09;为目标&#xff0c;主要从复杂的日常场景中截取&#xff0c;图像中的目标通过精确的segmentation&#xff08;分…

道路运输驾驶员从业资格报考条件

根据《中华人民共和国道路运输条例》、交通运输部《道路运输从业人员管理规定》和上级交通运输部门的管理要求&#xff0c;参加道路运输从业资格培训时应遵守以下规定&#xff1a; 1、年龄不超过60周岁。 2、驾驶员要取得相应的机动车驾驶证&#xff08;C4以上&#xff09;。…

一步步教您轻松搭建YOLO训练环境(视频教程)

一步步教您轻松搭建YOLO训练环境 YOLO&#xff08;You Only Look Once&#xff09;是一种流行的实时目标检测算法。为了安装和部署YOLO的训练环境&#xff0c;你需要按照以下步骤进行操作&#xff1a; 一、前期准备 确定硬件要求&#xff1a;YOLO通常在具有GPU的计算机上运行…

不懂技术可以当项目经理吗?看完这篇你就知道了

项目经理作为项目的核心负责人&#xff0c;主要负责项目的规划、组织、协调和控制。 如果你不懂技术&#xff0c;但具备出色的项目管理技能&#xff0c;你仍然可以成功地管理项目。你可以通过与技术团队建立紧密的合作关系&#xff0c;明确项目需求&#xff0c;并依赖技术团队…

远程医疗系统

在远程医疗系统中&#xff0c;为了充分发挥其推动医疗科技创新的作用&#xff0c;系统可以包含以下功能点&#xff0c;并服务于不同类型的用户&#xff1a; 一、系统功能点 远程会诊系统&#xff1a; 实时视频会诊&#xff1a;医生与患者或医生与医生之间的实时视频交流。 病…

IntelliJ IDEA - 查看项目工程代码量统计

首先安装一个统计插件——Statistic 接着在左下角可以看到 Statistic Logo 插件&#xff0c;点击即可看到统计面板

SCSS详解

SCSS&#xff08;Sassy CSS&#xff09;是Sass 3引入的新语法&#xff0c;完全兼容CSS3&#xff0c;并且继承了Sass的强大功能。与原始的Sass语法不同&#xff0c;SCSS语法使用了和CSS一样的块语法&#xff0c;即使用大括号“{}”将不同的规则分开&#xff0c;使用分号“;”将具…

正则表达式和sed

一、正则表达式 主要用来匹配字符串&#xff08;命令结果&#xff0c;文本内容&#xff09;&#xff0c; 通配符匹配文件&#xff08;而且是已存在的文件&#xff09; 基本正则表达式 扩展正则表达式 1.元字符 . 匹配任意单个字符&#xff0c;可以是一个汉字 […