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


目录
相关文章
|
16天前
|
Java
Java运算符
Java运算符
44 12
|
2月前
|
Java 测试技术 数据处理
Java零基础教学(17):Java运算符详解
【8月更文挑战第17天】Java零基础教学篇,手把手实践教学!
46 4
|
4月前
|
Java C++
Java基础之运算符
Java运算符包括算术、赋值、关系、逻辑、条件和类型等,如加减乘除、自增自减(前缀++n/后缀n++)、赋值(+/-/*/=等)、比较(==/!=/&gt;/&lt;等)、逻辑(&&/||/!)和三元运算符。自增前后缀的区别在于赋值顺序。初面常问:=与==的区别(赋值vs比较),==与equals()(引用vs内容比较),&&与&(短路逻辑与vs按位与)。
26 2
|
1月前
|
Java 测试技术 程序员
Java零基础(23) - Java赋值运算符,了解一下!
【9月更文挑战第2天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
45 11
|
2月前
|
Java 测试技术 计算机视觉
Java零基础(18) - Java运算符,了解一下!
【8月更文挑战第18天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
31 5
|
2月前
|
Java
【Java 第三篇章】注释、数据类型、运算符
【8月更文挑战第2天】 Java支持三种注释:单行(`//`)、多行(`/*...*/`)及文档注释(`/**...*/`)。它定义了八种基本数据类型,包括四种整数类型(`byte`、`short`、`int`、`long`),两种浮点类型(`float`、`double`),一种字符类型(`char`)和一种布尔类型(`boolean`)。数据类型之间可以自动转换或通过强制转换改变,但后者可能导致精度损失。Java中的运算符涵盖算术(如`+`、`-`)、赋值(如`=`)、比较(如`==`)、逻辑(如`&&`)和三目运算符等。例如,算术运算可用于执行基本数学计算,而逻辑运算符用于组合条件判断。
17 1
|
2月前
|
存储 Java
02 Java基础语法(变量+数据类型+运算符)(下)
02 Java基础语法(变量+数据类型+运算符)
23 5
|
1月前
|
Java 测试技术 开发者
Java零基础(24) - Java条件运算符,了解一下!
【9月更文挑战第3天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
22 0
|
2月前
|
存储 Java
02 Java基础语法(变量+数据类型+运算符)(上)
02 Java基础语法(变量+数据类型+运算符)
42 4
|
3月前
|
安全 Java 测试技术
day16:Java零基础-instanceof 运算符
【7月更文挑战第16天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
46 8