运算符的种类
赋值运算符 | 主要用于赋值操作 |
---|---|
算数运算符 | 主要用于算数(加、减、乘、除等)运算 |
比较运算符(关系运算符) | 主要用于比较两个数的大小 |
逻辑运算符 | 主要用于逻辑运算 |
位运算符 | 用于支撑按位计算 |
一.赋值运算符
1.在声明变量之后,就在内存中分配了一块位置,但是这个位置的内容是未知的,赋值就是把这块未知的内容设为一个确定的值。
2.在Java中 基本数据类型和引用数据类型的赋值操作有着明显的不同。
赋值运算符的基本语法:
变量名 = 变量值;
“=”就是赋值运算符
3.基本数据类型的赋值
byte b = 10;
short s = 20;
int i = 30;
long l = 113246564985L;
float f = 123.456F;
double d = 456.789;
char c = '好';
boolean b = true;
3.1可以将变量赋值给变量
int a = 10;
int b = a; //b的值也是10
3.2变量可以进行各种运算,也可以将运算结果赋值给变量
int a = 10;
int b = 20;
int c = a + b;
二.算数运算符
1.Java中的算数运算符包括:
加+、减-、乘*、除/、求余%、自增++、自减- -
2.算数运算符的基本语法
2.1算数运算符“+ - * / %”和数学中的用法一致,没有任何区别。
int a = 10;
int b = 20;
int c = a + b;
c = a - b;
c = a * b;
c = a % b;
注意:对于两个数来说+运算符就是算数加法运算符。而对于两个字符串来说+运算符就是拼接字符串。
int a = 10;
int b = 20;
int c = a + b;
System.out.println(c);//结果是30将a和b相加
String a = "你好";
String b = "Java";
String c = a + b;
System.out.println(c);//结果是“你好Java”将两个字符串拼接起来
2.2算数运算符“++”“- -”是将原有的数+1或-1操作
如果不与赋值运算符连用,a++与++a没有任何区别、a- -与- -a也没任何区别;
int a = 10;
a++;//等同于a = a + 1;
System.out.println(a);//a的值为11
int a = 10;
++a;
System.out.println(a);//a的值为11
int a = 10;
a--;
System.out.println(a);//a的值为9
int a = 10;
--a;
System.out.println(a);//a的值为9
当++或- -与运算符连用时++ 、- -在前与在后就有所不同。++在前时先自增后运算,++在后是先运算后自增。- -同理。
//++在后
int a = 10;
int b = a++ + 10;//a先与10相加赋值给b然后a再自增
System.out.println(a);//结果是11
System.out.println(b);//结果是20
++在前
int a = 10;
int b = ++a + 10;//a先自增等于11与10相加然后赋值给b
System.out.println(a);//结果是11
System.out.println(b);//结果是21
自减- - 与自增++同理,不再演示
三.关系运算符
关系运算符 | 作用 | 操作类型 |
---|---|---|
> | 比较前面是否大于后面 | 整型、浮点型、字符型 |
>= | 比较前面是否大于等于后面 | 整型、浮点型、字符型 |
< | 比较前面是否小于等于后面 | 整型、浮点型、字符型 |
<= | 比较前面是否小于等于后面 | 整型、浮点型、字符型 |
== | 比较前面是否等于后面 | 基本数据类型、引用类型 |
!= | 比较前面是否不等于后面 | 基本数据类型、引用类型 |
四.逻辑运算符
• 逻辑运算符用于两个布尔的变量和常量的逻辑运算。 其结果是一个布尔值。
• 逻辑是指条件与结论之间的关系。
• 逻辑运算是指对因果关系进行分析的一种运算。
• 逻辑运算的结果并不表示数值的大小,而是表示一种逻辑概念,要么成立(true)要么不成立(false)
短路效果:逻辑或中,两个布尔值,只要有一个为true,就返回true。 因此,当程序执行到 a 时,判断a 为true, 后面的 b++>0 无论为true,还是false,其实对结果已经没有影响了,所以,直接返回true.
1.逻辑–与&
• 逻辑与,相当于生活中说的“并且”。
true 与 true 结果为 true
true 与 false 结果为false
false 与 true 结果为false
false 与 false 结果为false
int a = 10;
int b = 20;
int c = 30;
System.out.println(a > b && b > c);//结果为false
System.out.println(a > b && b < c);//结果为false
System.out.println(a < b && b > c);//结果为false
System.out.println(a < b && b < c);//结果为true
2.逻辑–或 |
• 逻辑或,相当于生活中说的“或者”。
true 或 true 结果为 true
true 或 false 结果为 true
false 或 true 结果为 true
false 或 false 结果为false
int a = 10;
int b = 20;
int c = 30;
System.out.println(a > b || b > c);//结果为false
System.out.println(a > b || b < c);//结果为true
System.out.println(a < b || b > c);//结果为true
System.out.println(a < b || b < c);//结果为true
3.逻辑运算-非
• 逻辑非,就是指本来值的反值。
非 true 结果为 false
非 false 结果为 true
int a = 10;
int b = 20;
System.out.println(!(a > b));//结果为true
System.out.println(!(a < b));//结果为false
4.逻辑运算–异或
• 逻辑异或,当两个相同时返回false,当两个不同时返回true。
true 异或 true 结果为 false
true 异或 false 结果为 true
false 异或 true 结果为 true
false 异或 false 结果为 false
int a = 10;
int b = 20;
int c = 30;
System.out.println(a > b ^ b > c);//结果为false
System.out.println(a > b ^ b < c);//结果为true
System.out.println(a < b ^ b > c);//结果为true
System.out.println(a < b ^ b < c);//结果为false