一、运算符
1.1 Java语言支持的运算符
1.2 算术运算符
1.2.1 符号
算术运算符符号:**+ , - , * , / , ++ , –**
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| package Operator;
public class Demo01 { public static void main(String[] args) { int a = 10; int b = 20; int c = 30; int d = 40; System.out.println(a+b); System.out.println(a-b); System.out.println(a*b); System.out.println(a/(double)b); System.out.println(a%b); } }
|
1.2.2 小tips
eg:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| package Operator;
public class Demo01 { public static void main(String[] args) { long a = 10; int b = 20; byte c = 30; short d = 40; System.out.println((String) (a+b)); System.out.println((String) (b+c)); System.out.println((String) (c+d)); System.out.println((String) (b+d));
} }
|
** 自增(++)、自减(–)运算符**
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| package Operator;
public class Demo03 { public static void main(String[] args) { int a = 1; int b = a++; System.out.println(a); int c = ++a; System.out.println(a); System.out.println(b); System.out.println(c); } }
|
1.3 赋值运算符
1.3.1 符号
赋值运算符符号:**=**
语法格式
1.4 关系运算符
1.4.1 符号
:关系运算符符号:**> , < , >= , <= , == , != , instanceof**
- 关系运算符返回的是 布尔值,其结果只有true和false两种情况,常用于if语句中
语法格式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| package Operator;
public class Demo02 { public static void main(String[] args) { int a = 10 ; int b = 20 ; System.out.println(a == b); System.out.println(a != b); System.out.println(a < b); System.out.println(a > b);
} }
|
1.5 逻辑运算符
1.5.1 符号
逻辑运算符符号:**&& , || , !**
1.5.2 语法格式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| package Operator;
public class Demo04 { public static void main(String[] args) { boolean a = true; boolean b = false; System.out.println("a&&b:\t"+(a && b)); System.out.println("a||b:\t"+(a || b)); System.out.println("!(a&&b):\t"+!(a && b)); int c = 5; boolean d = b && (c++ > 5); System.out.println(d); System.out.println(c); } }
|
1.6 位运算符
1.6.1 符号
位运算符符号:**& , | , ^ , ~ , >> , << , >>>**
1.6.2 语法格式
语法格式如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| package Operator;
public class Demo05 { public static void main(String[] args) {
System.out.println(2<<3); } }
|
1.7 条件运算符
1.7.1 符号
条件运算符符号:x ? y : z :
1.7.2 语法格式
语法格式如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| package Operator;
public class Demo05 { public static void main(String[] args) { int a = 10; int b = 20; System.out.println((a>b) ? 50 : 60); System.out.println((a<b) ? 50 : 60); }
}
|
1.8 扩展赋值运算符
1.8.1 符号
扩展赋值运算符符号:**+= , -= , = , /=*
1.8.2 语法格式
语法格式如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| package Operator;
public class Demo05 { public static void main(String[] args) { int a = 10; int b = 20; a+=b; System.out.println(a); a-=b; System.out.println(a);
System.out.println("" + a + b); System.out.println(b+ a + "" ); }
}
|
1.9 运算符优先级
优先级 |
运算符 |
简介 |
结合性 |
1 |
[ ] 、 . 、( ) |
方法调用,属性获取 |
从左向右 |
2 |
!、~、 ++、 – |
一元运算符 |
从右向左 |
3 |
* 、/ 、% |
乘、除、取模(余数) |
从左向右 |
4 |
+ 、 - |
加减法 |
从左向右 |
5 |
<<、 >>、 >>> |
左位移、右位移、无符号右移 |
从左向右 |
6 |
< 、<= 、>、 >=、 instanceof |
小于、小于等于、大于、大于等于, 对象类型判断是否属于同类型 |
从左向右 |
7 |
== 、!= |
2个值是否相等,2个值是否不等于。 下面有详细的解释 |
从左向右 |
8 |
& |
按位与 |
从左向右 |
9 |
^ |
按位异或 |
从左向右 |
10 |
| |
按位或 |
从左向右 |
11 |
&& |
短路与 |
从左向右 |
12 |
|| |
短路或 |
从左向右 |
13 |
?: |
条件运算符 |
从右向左 |
14 |
=、 += 、-= 、*= 、/=、 %=、 &=、 |=、 ^=、 <、<= 、>、>= 、>>= |
混合赋值运算符 |
从右向左 |
点击查看Java基础语法之注释、标识符、数据类型(一)
点击查看Java基础语法之类型转换和变量(二)