【JavaSE】运算符

2年前 (2022) 程序员胖胖胖虎阿
325 0 0

 目录

🍋1.什么是操作符

🍋2.算术运算符

🍋3.关系运算符

🍋4.逻辑表达式

🍋短路求值

🍋5.位运算符

🍋6.移位运算符

🍋7.条件运算符

🍋8.运算符的优先级


📢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);
    }
}

【JavaSE】运算符

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

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

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

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

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

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 = += -= *=  /= %= &= |= ^= ~= <<=  >>=  >>>=

欢迎点赞收藏加关注,如若有问题可以提出来😁😁😁😁

版权声明:程序员胖胖胖虎阿 发表于 2022年10月26日 上午4:56。
转载请注明:【JavaSE】运算符 | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...