前言
计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。我们可以把运算符分成以下几组:
算术运算符
赋值运算符
比较运算符(关系运算符)
逻辑运算符
位运算符
三元运算符
其他运算符
算术运算符
算术运算符包括通常的加(+)、减(-)、乘(*)、除(/)、取余(%),完成整数型和浮点型数据的算术运算
另外各个环境下%运算符的含义不同,比如c/c++,java 为取余,而python则为取模。
特别说明:
1.(前)++:先自增1,后运算;
(后)++:先运算,后自增1
2.(前)–:先自减1,后运算 ;
(后)–:先运算,后自减1
3.连接符 + :只能使用在string与其他数据类型变量之间来使用
赋值运算符
赋值运算符的作用就是将常量、变量或表达式的值赋给某一个变量。
一般有:=、+=、-=、*=、/=、%=
public class fuzhi {
public static void main(String[] args) {
int a = 9;
int b = 6;
int c = 0;
c = a + b;
System.out.println("c = a + b = " + c );//c = a + b = 15
c += a ;
System.out.println("c += a = " + c );//c += a = 24
c -= a ;
System.out.println("c -= a = " + c );//c -= a = 15
c *= a ;
System.out.println("c *= a = " + c );//c *= a = 135
a = 10;
c = 15;
c /= a ;
System.out.println("c /= a = " + c );//c /= a = 1
a = 10;
c = 15;
c %= a ;
System.out.println("c %= a = " + c );//c %= a = 5
}
}
比较运算符(关系运算符)
关系运算符有6种关系,分别为小于(<)、大于(>)、小于等于(<=)、大于等于(>=)、等于(==)、不等于(!=)
特别说明:
1.比较运算符的结果是boolean型
2.>、< =、>=:只能使用在数值类型的数据之间。
3. == :不仅可以使用在数值类型数据之间,还可以使用在其他引用类型变量之间。
逻辑运算符
逻辑运算符包括逻辑与(&&)、逻辑或(||)和逻辑非(!)。前两个是二元运算符,后一个是一元运算符。
位运算符
位运算符用来对二进制位进行操作,包括按位与(&)、按位或(|)、异或(^)、按位取反(~)、左移(<<)、右移(>>)和无符号右移(>>>)。位运算符只能对整数型和字符型数据进行操作。
public class PO {
public static void main(String[] args) {
int a = 60; /* 60 = 0011 1100 */
int b = 13; /* 13 = 0000 1101 */
int c = 0;
c = a & b; /* 12 = 0000 1100 */
System.out.println("a & b = " + c );
c = a | b; /* 61 = 0011 1101 */
System.out.println("a | b = " + c );
c = a ^ b; /* 49 = 0011 0001 */
System.out.println("a ^ b = " + c );
c = ~a; /*-61 = 1100 0011 */
System.out.println("~a = " + c );
c = a << 2; /* 240 = 1111 0000 */
System.out.println("a << 2 = " + c );
c = a >> 2; /* 15 = 1111 */
System.out.println("a >> 2 = " + c );
c = a >>> 2; /* 15 = 0000 1111 */
System.out.println("a >>> 2 = " + c );
}
}
编译结果:
三元运算符
条件运算符也被称为三元运算符。该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。
运算符优先级
在对一个表达式进行计算时,如果表达式中含有多种运算符,则要安运算符的优先次序一次从高向低进行。运算符的优先次序如下: