Java学习笔记 - 运算符
赋值运算符
名称 | 符号 | 意义 |
加赋值 | += | 变量等于变量自身加上等号右边的数据 |
减赋值 | -= | 变量等于变量自身减去等号右边的数据 |
乘赋值 | *= | 变量等于变量自身乘以等号右边的数据 |
除赋值 | /= | 变量等于变量自身除以等号右边的数据 |
求余赋值 | %= | 变量等于变量自身对等号右边的数据求余 |
赋值 | = | 将等号右边的数据赋给变量 |
例:
class Test01
{
public ststic void main(String[] args)
{
int i = 10;//赋值,i的值为10
i += 10;//加赋值,i的值变成20
i -= 10;//减赋值,i的值变成10
i *= 10;//乘赋值,i的值变成100
i /= 10;//除赋值,i的值变成10
i %= 3;//求余赋值,i的值变成1
}
}
比较运算符
名称 | 符号 | 意义 |
大于 | > | 左边大于右边则为真,否则为假 |
小于 | < | 左边小于右边则为真,否则为假 |
大于等于 | >= | 左边大于等于右边则为真,否则为假 |
小于等于 | <= | 左边小于等于右边则为真,否则为假 |
恒等于 | == | 左边等于右边则为真,否则为假 |
不等于 | != | 左边不等于右边则为真,否则为假 |
例:
int a = 1, b = 2, c = 1;
//a > b 为假
//b > a 为真
//a > c 为假
//a < b 为真
//b < a 为假
//a < c 为假
//a >= b 为假
//b >= a 为真
//a >= c 为真
//a <= b 为真
//b <= a 为假
//a <= c 为真
//a == b 为假
//a == c 为真
//a != b 为真
//a != c 为假
注:不管是在基本数据类型,还是在后期面向对象。 ==永远比的是两个变量(常量)当中所存储的那个数据的地址。
常量时在常量池中的地址;对象是在堆内存中的地址运算结果一定是一个boolean类型
逻辑运算符
名称 | 符号 | 意义 |
与 | & | 同真则真,遇假则假 |
或 | | | 有真则真,同假则假 |
非 | ! | 非真就是假,非假就是真 |
异或 | ^ | 相同为假,不同为真 |
1.与运算
分为单与(&)和双与(&&)。&&的话,左边一旦为假,右边无论真假,结果都是假,所以右边可以不运行,提高程序运行效率。
2.或运算
分为单或(|)和双或(||)。||的话,左边一旦为真,右边无论真假,结果都是真,所以右边可以不运行,提高程序运行效率。
注:逻辑运算的运算结果肯定是一个boolean类型
三目运算符
三目运算符的结构:" (逻辑运算式)?语句1:语句2;"
- 逻辑运算式即运算结果为boolean类型的语句
- 语句1在逻辑运算式为真时运行,此时语句1的结果为整个三目运算符的结果
- 语句2在逻辑运算式为假时运行,此时语句2的结果为整个三目运算符的结果
三目运算符相当于一种简单的条件语句。
例:
class OperateDemo
{
public static void main(String[] args)
{
int x = 3 ;
int y ;
y = x < 10 ? 100 : 200; //因为x < 10 为真,运行语句1,所以y = 100
System.out.println("y="+y);
}
}
class OperateDemo//
{
public static void main(String[] args)
{
int a = 3 ;
int b = 5 ;
int max ;
max = a < b ? b : a;//因为a < b 为真,运行语句1,所以max = b
System.out.println("max="+max);
}
}