Java基础
三、运算符
1. 算数运算符
+ 、- 、* 、/ 、% 、++ 、–
+:注意字符串的拼接;
例:
int num = 1;
String sr1 = "I'";
String st2 = "m";
String str3 = str1 + str2 + num;
System.out.println (str3);//结果为 I'm1
/ :若除法运算符左右数字均为整型,则为整除;
++ 、-- :自增自减运算符,在前先加减后运行,在后先运行再加减。
例:
int a = 1;
System.out.println (a++);// 打印结果为 1
int b = 1;
System.out.println (++b);// 打印结果为 2
2. 逻辑运算符
& 、| 、^ 、! 、&& 、||
&& :短路与运算符,若左侧为 false ,则右侧不运行,返回结果 false;
|| :短路或运算符,若左侧为 true ,则右侧不运行,返回结果 true。
3. 关系运算符
①赋值运算符
= 、+= 、-= 、*= 、/= 、%=
除了 = 外,其他赋值运算符都自带迁至转换功能。
例:
char a = 123;
int b = 2;
System.out.println(a%=b);// 打印结果 ,为字符型
② 比较运算符
== 、!= 、> 、>= 、< 、<=
4. 三元运算符
格式:关系表达式 ? 表达式1 : 表达式2;
5. 位运算符
移位运算符
<< 、>> 、>>>
① << :左移 引起指定值中的所有二进制位向左移动一个位置,同时在右端补 0;
② >> :右移 引起指定值中的所有二进制位向右移动一个位置,同时保持符号位不变;
③ >>>:无符号右移 不保持符号位,在左端补 0.。
通常把整数值的高阶位设置为 0 表示正数,1 表示负数,所以在移位的过程中要考虑符号位是否保留的问题。
其他位运算
本质上逻辑运算符属于位运算符。
逻辑运算符
& 、| 、^ 、~
~ :1 的补码(及 !) 。
每种位运算的运算运算结果:
p | q | p&q | p|q | p^q | ~p |
---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 1 |
1 | 0 | 0 | 1 | 1 | 0 |
0 | 1 | 0 | 1 | 1 | 1 |
1 | 1 | 1 | 1 | 0 | 1 |