运算符的介绍(java版)

本文详细介绍了Java中的运算符,包括算术运算符(如+、-、*、/)、关系运算符、逻辑运算符、位运算符以及特殊运算符如三元运算符和lambda表达式。此外,还涵盖了运算符的优先级及其在实际编程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java的运算符(也称为操作符)的写法和功能与C语言基本一致,本文章介绍java的运算符

java的运算符包括:算术运算符、关系运算符、逻辑运算符、位运算符和其他运算符

1.算术运算符

算术运算符包括一元运算符、二元运算符、算术赋值运算符

1.1一元运算符

一元运算符有:-、++、--

一元运算符的名称作用和例子在表格中显示

运算符名称功能例子
-取反符号取反运算a=-a
++自加1先用后加,先加后用a++,++a
--自减1先用后减,先减后用a--,--a

取反符号是把变量等的符号位取反。

先用后加意思是我最先用它,最后再加1。先加后用意思是我最先加1,最后再用它。

先用后减,先减后用和上一句话同理。先用后减意思是我最先用它,最后再减1。先减后用意思是我最先减1,最后再用它。

因为++和--的运算符优先级很高仅次于引用号(.)和中小括号,所以不用担心因为优先级的原因而等不到想要的结果。文章最后面会介绍运算符的优先级顺序,本作者会把列表列出来。

1.2二元运算符

二元运算符:+、-、*、/、%

二元运算符的名称作用和例子在表格中显示

运算符名称功能例子
+用于求a+b的和,还可以用于String类型,进行字符串的连接操作a=a+b
-用于求a-b的差a=a-b
*用于求a*b的积a=a*b
/用于求a/b的商a=a/b
%求余

用于求a/b的余数

a=a%b

上面的加减乘除相当于数学的四则运算,'+'有点儿特殊,它可以用于字符串之间的连接。这种运算符在大多数编程中都可以用于字符串的连接,比如像C语言比较特殊。C语言是要先引用<string.h>头文件,再使用strcat函数把两者的字符串连接起来。而且strcpy函数只能一次性连接两个字符串。C语言的 '+' 运算符只能用于求和,不能用于字符串连接。

求余运算符是求a/b的余数

例子:10%3 <==> 10/3 ····· 余1

求余的值就是1.

1.3算术赋值运算符

算术运算符:+=、-=、*=、/=、%=

算术运算符的名称作用和例子在表格中显示

运算符名称功能例子
+=加赋值相当于a=a+ba+=b
-=减赋值相当于a=a-ba-=b
*=乘赋值相当于a=a*ba*=b
/=除赋值相当于a=a/ba/=b
%=取余赋值相当于a=a%ba%=b

算术运算符只是一种简写,一般用于变量自身的变化。

2.关系运算符

关系运算符:==、!=、>、<、>=、<=、

关系运算符的名称作用和例子在表格中显示

运算符名称功能例子
==等于a等于b时返回true,否则返回false。可以用于基本数据类型和引用数据类型a==b
!=不等于a不等于b时返回true,否则返回false。只能用于基本数据类型a!=b
>大于a大于时返回true,否则返回false。只能用于基本数据类型a>b
<小于a小于b时返回true,否则返回false。只能用于基本数据类型a<b
>=大于等于a大于等于b时返回true,否则返回false。只能用于基本数据类型a>=b
<=小于等于a小于等于b时返回true,否则返回false。只能用于基本数据类型a<=b

3.逻辑运算符

逻辑运算符:!、&、|、&&、||

逻辑运算符的名称作用和例子在表格中显示

运算符名称功能例子
!逻辑非a为true时,为false;a为false时,为true!a
&逻辑与ab都为true,结果true,否则falsea&b
|逻辑或ab都为false,结果false,否则truea|b
&&短路与ab都为true,结果true,否则都为false.&&和&的区别:如果a为false,不计算ba&&b
||短路或ab都为false,结果false,否则都为true.||和|的区别:如果a为true,不计算ba||b

短路与(&&)和短路或(||)能够采用最优化的计算方式,是因为短路与(&&)如果a为false,不计算b和短路或(||)如果a为true,不计算b。减少一些没有必要的计算,从而更快的效率。在实际生产中尽量使用一些像短路与(&&)和短路或(||)的运算符等方法,提高效率,减少一些多余的成本。

4.位运算符

位运算符:~、&、|、^、>>、<<、>>>、&=、|=、^=、<<=、>>=、>>>=

位运算符的名称作用和例子在表格中显示

运算符名称功能例子
~位反将x的值按为取反~x
&位与x与y进行位与运算x&y
|位或x与y进行位或运算x|y
^位异或x与y进行位异或运算x^y
>>有符号右移x右移y位,高位用符号位补位x>>y
<<左移x左移y位,低位用0补位x<<y
>>>无符号右移x右移y位,高位用0补位x>>>y
&=位与等于相当于x=x&yx&=y
|=位或等于相当于x=x|yx|=y
^=位异或等于相当于x=x^yx^=y
<<=左移等于相当于x=x<<yx<<=y
>>= 有符号右移等于相当于x=x>>yx>>=y
>>>=无符号右移等于相当于x=x>>>=yx>>>=y

注意:无符号右移(>>>)运算符只能用在int类型和long类型,如果用于byte和short这两个类型,则数据位移前,先转换为int类型再进行位移计算。

5.其他运算符

其他运算符的名称作用和例子在表格中显示

运算符名称功能例子
? :三元运算符(也称三目操作符)三元运算符的格式如下:表达式1?表达式2:表达式3。如果满足表达式1运行表达式2否则运行表达式3max=(x>y)?x:y
()小括号

起到改变表达式运算顺序的作用,它的优先级最高

[]中括号是数组的下标arr[10]
引用号(.)引用号对象调用实例变量或实例方法的操作符,也是类调用静态变量或静态方法的操作符
=赋值给x赋值x=10;
instanceof判断某个对象是否属于某个类
new对象内存分配运算符
->箭头java8新增加的,用于声明Lambda表达式
::双冒号java8新增加的,用于Lanmbda表达式中方法的引用

6、运算符优先级

运算符的优先级如下:

优先级运算符
1引用号(.)、中括号 、小括号
2

++、--、-(取反)、~(位反)、!(逻辑非)、类型转换小括号

3*、/、%
4+、-
5<<、>>>、>>
6<、>、<=、>=、instanceof
7==、!=
8&(逻辑与和位与)
9^(位异或)
10|(逻辑或、位或)
11&&
12||
13?:
14->
15=、*=、/=、%=、+=、-=、<<=、>>=、>>>=、&=、^=、|=

运算符优先级的总结:从高到底是算术运算符>位运算符>关系运算符>逻辑运算符>赋值运算符

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值