java基础——常见运算符
1. 算术运算符
算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。
(1)+ 加法 - 相加运算符两侧的值
(2)- 减法 - 左操作数减去右操作数
(3)* 乘法 - 相乘操作符两侧的值
(4)/ 除法 - 左操作数除以右操作数
(5)% 取余 - 左操作数除以右操作数的余数
(6)++ 自增: 操作数的值增加1
(7)-- 自减: 操作数的值减少1
public class Test {
public static void main(String[] args) {
int a = 1;
int b = 2;
int c = 3;
int d = 4;
System.out.println("a + b = " + (a + b) );
System.out.println("a - b = " + (a - b) );
System.out.println("a * b = " + (a * b) );
System.out.println("b / a = " + (b / a) );
System.out.println("b % a = " + (b % a) );
System.out.println("c % a = " + (c % a) );
System.out.println("a++ = " + (a++) );
System.out.println("a-- = " + (a--) );
System.out.println("d++ = " + (d++) );
System.out.println("++d = " + (++d) );
}
}
运行结果如下
自增(++)自减(–)运算符是一种特殊的算术运算符,在算术运算符中需要两个操作数来进行运算,而自增自减运算符是一个操作数。前加加和后加加的优先级别不同引起的!!!!!,前加加的优先级别非常高,仅次于括号,后加加的优先级别非常非常低,甚至比赋值符都低
例如:
public class Test01{
public static void main(String[] args){
int a = 3;
int b = ++a;
int c = 3;
int d = --c;
System.out.println("自增运算后等于"+b);
System.out.println("自减运算后等于"+d);
}
}
2. 关系运算符
== 检查如果两个操作数的值是否相等,如果相等则条件为真。
!= 检查如果两个操作数的值是否相等,如果值不相等则条件为真。 > 检查左操作数的值是否大于右操作数的值,如果是那么条件为真。 。< 检查左操作数的值是否小于右操作数的值,如果是那么条件为真。 >= 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。 <= 检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。
例如:
public class Test02 {
public static void main(String[] args) {
int a = 1;
int b = 2;
System.out.println("a == b = " + (a == b) );
System.out.println("a != b = " + (a != b) );
System.out.println("a > b = " + (a > b) );
System.out.println("a < b = " + (a < b) );
System.out.println("b >= a = " + (b >= a) );
System.out.println("b <= a = " + (b <= a) );
}
}
3. 位运算符
Java定义了位运算符,应用于整数类型(int),长整型(long),短整型(short),字符型(char),和字节型(byte)等类型。位运算是计算机底层本质是二进制(半导体)运算。
& 如果相对应位都是1,则结果为1,否则为0 (A&B),得到12,即0000 1100
| 如果相对应位都是 0,则结果为 0,否则为 1 (A | B)得到61,即 0011 1101
^ 如果相对应位值相同,则结果为0,否则为1 (A ^ B)得到49,即 0011 0001
〜 按位取反运算符翻转操作数的每一位,即0变成1,1变成0。 (〜A)得到-61,即1100 0011
<< 按位左移运算符。左操作数按位左移右操作数指定的位数。 A << 2得到240,即 1111 0000
. >> 按位右移运算符。左操作数按位右移右操作数指定的位数。 A >> 2得到15即 1111
. >>> 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。
例如:
A = 0011 1100
B = 0000 1101
-----------------
A&B = 0000 1100
A | B = 0011 1101
A ^ B = 0011 0001
~A= 1100 0011
4. 逻辑运算符
连接多个条件的关联关系的
与 && & // 表示的是并且关系,全部为真则为真,否则为假
或 || | // 表示或者的关系,只要一者为真则为真,全部为假才为假
非 ! // 否定,取反
例如:
public class Test03 {
public static void main(String[] args) {
boolean a = true;
boolean b = false;
System.out.println("a && b = " + (a&&b));
System.out.println("a || b = " + (a||b) );
System.out.println("!(a && b) = " + !(a && b));
}
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/202107082132458.png)
5. 赋值运算符
(1)= 简单的赋值运算符,将右操作数的值赋给左侧操作数 C = A + B将把A + B得到的值赋给C
(2)+ = 加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数 C + = A等价于C = C + A
(3)- = 减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数 C - = A等价于C = C - A
(4)* = 乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数 C * = A等价于C = C * A
(5)/ = 除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数 C / = A,C 与 A 同类型时等价于 C = C / A
(6)(%)= 取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数 C%= A等价于C = C%A
6. 三目运算符
表达式 ? 值1: 值2
int a = 10;
int b = 20;
int c = a > b ? 100 : 200;