什么是运算符:对变量进行操作的符号。
运算符的分类:算术运算符,赋值运算符,比较运算符,逻辑运算符,三元运算符。
+ | 加法运算,字符串拼接 |
- | 减法运算 |
* | 乘法运算 |
/ | 除法运算 |
% | 取模运算,两个数字相除取余数 |
++、-- | 自增自减运算 |
%取余面试题:
System.out.println(5%3);//2
System.out.println(-5%3);//-2
System.out.println(-5%-3);//-2
System.out.println(5%-3);//2
注意:取余结果符号与左边符号相同
自增自减面试题
//面试题
int a=10;
int b=10;
int c=10;
a=b++;
//a=10,b=11
c=--a;
//a=9,c=9
b=++a;
//a=10,b=10
a=c--;
//a=9,c=8
//请分别计算出a,b,c的值?
= | 赋值 |
+= | 加后赋值 |
-= | 减后赋值 |
*= | 乘后赋值 |
/= | 除后赋值 |
%= | 取模后赋值 |
== | 比较符号两边数据是否相等,相等结果是true |
< | 比较符号左边的数据是否小于右边的数据,如果小于结果是true |
> | 比较符号左边的数据是否大于右边的数据,如果大于结果是true |
<= | 比较符号左边的数据是否小于或者等于右边的数据,如果小于或等于结果是true |
>= | 比较符号左边的数据是否大于或者等于右边的数据,如果大于或等于结果是true |
!= | 不等于符号,如果符号两边的数据不相等,结果是true |
运算符 | 运算规则 | 范例 | 结果 |
& | 与 | false & true | false |
| | 或 | false | true | ture |
^ | 异或 | true ^ false | ture |
! | 非 | ! ture | false |
&& | 短路与 | false && true | false |
|| | 短路或 | false || true | ture |
&& 短路与,|| 短路或 案例代码
public static void main(String[] args){
// &&和&结果是一样,左边是false右边不执行
System.out.println(false && false); //false
System.out.println(false && false); //false
System.out.println(true && false); //false
System.out.println(true && true); //false
System.out.println("-----------");
// ||和|结果是一样,左边是ture右边不执行
System.out.println(false || false); //false
System.out.println(false || true); //true
System.out.println(true || false); //true
System.out.println(true || true); //true
int i=3;
int j=4;
System.out.println(i == j && ++i>2); //false
System.out.println(i); //3
System.out.println(j); //4
System.out.println(i !=j || ++i>2); //true
System.out.println(i); //3
System.out.println(j); //4
}
|
数据类型 变量名 = 布尔类型表达式? 结果1:结果2; |
三元运算符计算方式:
布尔类型表达式结果是true,三元运算符整体结果为结果1,赋值给变量。
布尔类型表达式结果是false,三元运算符整体结果为结果2,赋值给变量。
public static void main(String[] args){
int a = 30;
int b = 20;
int c = a > b ? 100:20;
System.out.println(c); //100
}