Java基础——运算符

简介: Java提供的一组丰富的算术和逻辑运算符

运算符用于连接值,Java提供了一组丰富的算术运算符和逻辑运算符以及数学函数。

算术运算符

在Java中,使用算术运算符 + - * / 表示加、减、乘、除运算。

特别注意的是,当参与/ 运算的两个操作数都是整数时,表示整数除法;否则,表示浮点除法。

整数的求余操作(取模)用% 表示。

注意:整数被0除会报出一个异常,而浮点数被0除将会得到无穷大或NaN的结果。

自动类型转换

我们经常需要将一种数值类型转换成另一种数值类型。

image-20230220201127037.png

图中的6个实现箭头表示无信息丢失的转换,另外有三个虚线箭头,表示可能有精度损失的转换。

强制类型转换

在需要的时候,int类型会自动的转换成double类型。但有时候也需要将double类型转换成int,这种转换可能会丢失一些信息,这就要通过强制类型转换来完成了。

强制类型转换的语法是在圆括号中给出想要转换的目标类型,后面紧跟着带转换的变量名

double pi = 3.14;
int i = (int)pi;
如果试图将一个数值从一种类型强制转换成另一种类型,而又超出了目标类型的表示范围,结果就会截断成一个完全不同的值。

赋值运算符

可以在赋值中使用二元运算符,这是一种很方便的简写形式。

image-20230217123709120.png

自增自减运算符

众所周知,加1、减1是数值变量最常见的操作。在Java中,也提供了自增自减运算符:n ++ 就可以将变量n的当前值加1,n -- 则是将n的值减1

int n = 10;
n ++ ;  // n == 11
这种运算有两种形式,前缀和后缀

前缀:先执行加减,在执行表达式

后缀:先执行表达式,在执行加减

int x = 5;
System.out.println(x ++ );        // 5, 先输出x,在对x进行加1, x == 6
System.out.println( ++ x);        // 7,先对x进行加以1,在对x进行输出

关系和boolean运算符

Java中包含丰富的关系运算符

image-20230217123727566.png

除此之外,Java中还提供了逻辑运算符

image-20230217123752726.png

同时, &&||运算符是按照“短路”的方式运算的

当第一个操作数已经可以确定表达式的值,第二个操作数就不用在计算了

除此之外,Java支持三元运算符:条件?表达式1:表达式2;

当条件为true时,表达式就是第一个表达式的值,否则为第二个表达式的值

x < y ? x : y;         // 返回x和y中较小的一个数

位运算符

处理整数类型时,可以直接对组成整数的各个位完成操作。这意味着可以使用掩码技术得到整数中的个位。

image-20230217123820138.png

应用在布尔值时,& 和 | 运算符也会得到一个布尔值。

不过& 和 | 不采用“短路”的方式来求值,也就是左右两个表达式都要进行运算

运算符优先级

如果不使用括号,就按照给出的运算符优先级依次进行计算,同一级别的运算符按照从左到右的次序进行计算。

image-20230217123920612.png


目录
相关文章
|
3月前
|
Java
Java运算符
Java运算符
54 12
|
4月前
|
Java 测试技术 数据处理
Java零基础教学(17):Java运算符详解
【8月更文挑战第17天】Java零基础教学篇,手把手实践教学!
78 4
|
2月前
|
算法 Java 测试技术
🌟Java 零基础 | 详解 单目运算符
【10月更文挑战第14天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
51 7
|
2月前
|
Java 测试技术 开发者
🌟Java 零基础 | 深入理解三目运算符
【10月更文挑战第13天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
54 3
|
2月前
|
Java 测试技术 开发者
🌟Java零基础-Lambda运算符详解 🌟
【10月更文挑战第12天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
27 1
|
2月前
|
Java
JAVA易错点详解(数据类型转换、字符串与运算符)
JAVA易错点详解(数据类型转换、字符串与运算符)
57 4
|
2月前
|
安全 Java 测试技术
🌟 Java 零基础 | 详解 instanceof 运算符
【10月更文挑战第1天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
50 1
|
2月前
|
存储 Java C语言
【一步一步了解Java系列】:了解Java与C语言的运算符的“大同小异”
【一步一步了解Java系列】:了解Java与C语言的运算符的“大同小异”
44 3
|
3月前
|
Java 测试技术 程序员
Java零基础(23) - Java赋值运算符,了解一下!
【9月更文挑战第2天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
65 11
|
4月前
|
Java 测试技术 计算机视觉
Java零基础(18) - Java运算符,了解一下!
【8月更文挑战第18天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
46 5
下一篇
DataWorks