运算符

运算符

对字面量或者变量进行操作的符号

表达式

用运算符把字面量或者变量连接起来,符合java语法的式子就可以称为表达式。
不同运算符来连接的表达式体现的是不同类型的表达式

算术运算符

      • / %(取模 取余)
        整数参与计算 结果只能得到整数
        小数参与计算,结果有可能不精确
        %(作用 应用场景)(题目operator Demo10)
        A是否可以被B整除
        可以判断A是否为偶数

隐形转换

byte<short<int<long<float<double
隐形转换(自动类型提升)
把一个取值范围小的数值,转成取值范围大的数据
int a =10;
double b = a;
byte short char三种类型的数据在运算的时候 会自动转换成在进行运算
byte a = 10;
byte b = 20 ;
c=a+b;
取值范围小的和取值范围大的进行运算的时候 小的会提升为大的 在进行运算
数据类型不一样 不能进行计算 需要转成一样的

强制转换

如果把一个取值范围大的数值,赋值给取值范围小的变量。
是不允许直接赋值的。如果一定要这么做就需要加入强制转化
格式:目标数据类型 变量名=(目标数据类型)被强转的数据
byte a = byte (c+d);

字符串和字符的加操作(operator demo12)

当"+"操作中出现字符串时 这个"+"是字符串连接符,而不是算术运算符了。会将前后的数据进行拼接,并产生一个新的字符串。
连续进行"+"操作时,从左到右逐个执行。
字符相加操作
System.out.println(1+'a');98
System.out.println('a'+"abc");//"aabc"
64-90代表A-Z 97-122代表a-z

自增自减运算符(operator demo13)

单独使用++和--无论是放在变量的前边还是后边,单独写一行结果是一样的
参与计算int a = 10;int b = a++;先用后加
int a = 10;int b = ++a;先加后用

赋值运算符和关系运算符

赋值运算符
+= 将a+b的值给a
-=将a-b的值给a
= 将ab的值给a
/= 将a/b的值给a
%=将a/b的余数给a
扩展的运算符隐藏了一个强制类型转换(operator demo14)
关系运算符/比较运算符
== 判断两个值是否相等(=(赋值运算符) ==(比较运算符))
!=判断两个值是否不相等
a>=b 判断a是否大于等于b

大于
<小于
<=小于等于
关系运算符的结果都是boolean类型 要么是ture 要么是false(operator Demo15)

四种逻辑运算符(operator demo16)

& 逻辑与(且) 并且,两边都为真,结果才是真
| 逻辑或 或者,两边都为假,结果才是假
^ 逻辑异或 相同为false,不同为true
! 逻辑非 取反

短路逻辑运算符(operator Demo17 Demo18)

&& 短路与 是短路与运算符:如果左边的操作数为 false,则不会计算右边的操作数
|| 短路或

三元运算符和运算符的优先级(operator Demo19 Demo20)

三元运算符作用 可以进行判断,根据判断的结果得到不同的内容
三元运算符需求:定义一个变量记录两个整数的较大值
(三元运算符/三元表达式)格式:关系表达式?表达式1:表达式2;
三元运算符(Ternary Operator)是一种简洁的条件表达式,允许在单行代码中根据条件判断返回两个值之一。其核心结构是:条件 ? 结果1 : 结果2。
整个三元运算符的结果必须要被使用(打印或者定义变量)
计算规则
首先计算关系表达式的值
如果值为true,表达式1的值就是运算结果
如果值为false,表达式2的值就是运算结果

优先级 运算符 名称 结合性 示例
1 () [] . :: 括号、数组下标、成员访问、方法引用 左→右 (a + b) obj.method()
2 ++ -- + - ~ ! (type) 自增/减、正负号、按位取反、逻辑非、强制类型转换 右→左 i++ -x !(a>b)
3 new instanceof 对象创建、类型检查 左→右 new ArrayList<>()
4 * / % 乘、除、取模 左→右 a * b / c
5 + - 加、减 左→右 a + b - c
6 << >> >>> 左移、带符号右移、无符号右移 左→右 n << 2 b >>> 3
7 < <= > >= 大小比较 左→右 a > b x <= 10
8 == != 相等性判断 左→右 a == b obj != null
9 & 按位与 左→右 flags & MASK
10 ^ 按位异或 左→右 a ^ b
11 按位或 左→右
12 && 逻辑与 左→右 a > 0 && b < 10
13 逻辑或
14 ?: 三元条件运算符 右→左 a > b ? a : b
15 = += -= *= /= %= 等 赋值运算符 右→左 a = b + c x *= 2

原码 反码 补码

原码
<<左移

右移

无符号右移

posted @ 2025-08-11 14:52  MAY李  阅读(11)  评论(0)    收藏  举报