算术运算符
一、算术运算符
1、算术运算符的种类:+ - * / % ++ --
注意:Java运算中,整数使用以上运算符,无论怎么计算,也不会得到小数
2、“+”在Java中的用法
-
- 做加法运算
- 数值的正号
- 字符串的连接符
3、++和--的用法
-
- 独立运算:
在变量前后没有区别,均为自身数值加一
例:i++;j--
++i;--j
-
- 混合运算:
在变量前面时:先自身加一,再参与其他计算
在变量前面时:先参与其他计算,最后再自身加一
例如int a = 0,b = 5;
int c,d;
c = a++; //先把a的值赋值给c再自增1变成1
System.out.printfln(“a=”a);
System.out.printfln(“c=”c);
得到的结果为:a=1 c=0
d = --b;//先自减1变成4然后再赋值给d
System.out.printfln(“b=”b);
System.out.printfln(“d=”d);
得到的结果为:b = 4 c = 4
二、赋值运算符
1、赋值运算符种类:= += -= *= /= %=
= 将“=”左边的数值赋值给"="右边的变量
a +=2等价于a=a+2
三、比较运算符
< > == != <= >=
比较运算符,是两个数据之间进行比较的运算,运算结果都是布尔值 true 或者 false
四、逻辑运算符
&:有一个true最后结果则为true
|:有一个false最后结果则为false
^:有一个false和一个true则为true
!:有false则为true,有true则为false
&&:短路与:符号左边是false时,右边不再运算
||:短路或:符号左边是true时,右边不再运算
五、位运算符
~:按位取反:
&:按位与
|:按位或
<<:左移,左边最高位丢弃,右边补齐0
>>:带符号右移,如果是正数则在高位补零,负数则补1
>>>:无符号右移,在高位补零
(1)代码验证区分>>与>>>(以补码的形式显示)
public class Operator { public static void main(String[] args) { byte a = -0x7f; System.out.println(Integer.toBinaryString(a)); System.out.println(Integer.toBinaryString(a>>2)); System.out.println(Integer.toBinaryString(a>>>2)); } }
输出结果
11111111111111111111111110000001
11111111111111111111111111100000
111111111111111111111111100000(最高位两个0舍去)
(2)异或符号的特点:对一个数异或两次,该数本身报持不变
public class Demo01 { public static void main(String[] args) { int a = 356,b = 549; System.out.println("a="+a); System.out.println("b="+b); System.out.println("**********开始转换**********"); a = a ^ b; b = a ^ b; a = a ^ b; System.out.println("a="+a); System.out.println("b="+b); } }
输出结果
a=356
b=549
**********开始转换**********
a=549
b=356
六、三目运算符
数据类型 变量名 = 布尔类型表达式?结果1:结果2
布尔类型表达式结果是true,三元运算符整体结果为结果1,赋值给变量。
布尔类型表达式结果是false,三元运算符整体结果为结果2,赋值给变量。
例:int a = 25,b=32;
int c = b < a? b:a;
该表达式功能:比较a和b的大小,将最小值送给c