0


【JavaSE】运算符

目录

📢1.什么是操作符

运算符是指对操作数进行某种操作的符号,也就是参入运算的符号

根据要操作的操作数不同,可以将它分为单目运算符(一个操作数),双目运算符(两个操作数),还有三目运算符(三个操作数)

在Java中,运算符的种类有算数运算符、关系运算符、逻辑运算符、位运算符、移位运算符、还有条件运算符

📢2.算术运算符

Java中算术运算符包括+(加)、-(减)、*(乘)、/(除)、%(取余)以及组合使用的++(自增)和--(自减)。

其中取余(%),支持小数进行取余(在C语言中只能进行整数取余)

例如:11.5%2的结果为1.5。

📢可以对负数进行取余

 public class TestDemo{
    public static void main(String[] args) {
        System.out.println(10%3);
        System.out.println(10%-3);
        System.out.println(-10%3);
        System.out.println(-10%-3);
    }
}

当被除数为正数时,取余的结果就是正数

当被除数为负数时,取余的结果就是负数

也就是说,取余的结果取决于被除数的正负,与除数无关

自增运算符包括前置++(先加加,在使用)与后置++(先使用,再加加)

不同类型的变量相加减,需要强制类型转化

short c=(short)(a+b);

但使用自增运算符,是不需要进行强制类型转换的,程序会自动转化为接收的变量类型

a+=b;

自减也一样

📢3.关系运算符

关系运算符包括 ==(判断相等) !=(判断不相等) <= >=

关系运算符在判断语句中很常见,不过前提是这些判断表达式必须是布尔表达式

也就是说,表达式的结果要么是true,要么是false

📢4.逻辑表达式

逻辑表达式包括 &&(逻辑与)、||(逻辑****或) 、!(逻辑取反)

📢**&&(逻辑与)**
表达式1表达式2结果真真真真假假假假假
📢**||(逻辑或)**
表达式1表达式2结果真真真真假真假真真假假假

📢短路求值

按位与、按位或支持短路求值(如果前面一个表达就可以判断结果,程序就不会运行第二个表达式)。

例:(10>20) && (10/0==0)

上述表达式,java程序中运行10/0表达式时,会出现报错

但前面表达式的结果为false,就不会运行第二个表达式,最终程序就不会报错

一个&、|符号也能表示逻辑与和逻辑或,如果两边的表达式不是布尔表达式的时候,就是位运算符。但是这样实现的话,就没有短路求值,也就是说,程序会运行所有的表达式。

例:(10>20) & (10/0==0)这样程序就会报错

📢5.位运算符

计算机的数据都是以二进制的形式储存的,位运算符的操作单位也是二进制。

位运算符包括 &、|、~、^

**&(按位与):**如果数字有一个为 0 则为零,否则为 1

**|(按位或):**一个是 1 结果就是 1 否则是 0

**^(按位异或):**如果数字相同则计为 0,如果不相同则计为 1

**~(按位取反):**相互取反 1->0 0->1

📢6.移位运算符

<<:左移运算符

0000 1011 11

11<<1=>00010110=22

11<<2=>00101100=44

:右移运算符(最高位补符号位)

0000 1011 11

11>>1=>0000 0101=5

:无符号右移运算符(忽略了符号位扩展,0补最高位)

📢7.条件运算符

Java中的条件运算符(?:)

<表达式1> ? <表达式2> : <表达式3>

对表达式1进行判断,如果为true,则结果取表达式2的结果

对表达式1进行判断,如果为false,则结果取表达式3的结果

📢8.运算符的优先级

Java运算符—优先级
优先级运算符1() [ ] .2 ! +(正) -(负) ~ ++ --3* / %4+(加) -(减)5<< >> >>>6< <= > >=7== !=8&(按位与)9^10|11&&12||13?:14= += -= *= /= %= &= |= ^= ~= <<= >>= >>>=
欢迎点赞收藏加关注,如若有问题可以提出来😁😁😁😁

标签: java 开发语言

本文转载自: https://blog.csdn.net/m0_64332179/article/details/123439578
版权归原作者 诚挚的乔治 所有, 如有侵权,请联系我们删除。

“【JavaSE】运算符”的评论:

还没有评论