java运算符
计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。我们可以把运算符分成以下几组:
-
算术运算符
-
关系运算符
-
位运算符
-
逻辑运算符
-
赋值运算符
-
其他运算符
-
常用运算符介绍:
算术运算符:算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。
实例:
public class Test {
public static void main(String[] args) {
int a = 10;
int b = 20;
int c = 25;
int d = 25;
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++) ); //操作符“++”:自增: 操作数的值增加1
System.out.println("a-- = " + (a--) ); //操作符“\--”:自减: 操作数的值减少1
}
}
// 运行实例,编译结果:
a + b = 30 //A + B 等于 30
a - b = -10 //A – B 等于 -10
a * b = 200 //A * B等于200
b / a = 2 //B / A等于2
b % a = 0 //B%A等于0
c % a = 5 //c%a等于5
a++ = 10 // a++ 或 ++a 等于 21(区别详见下文)
a-- = 11 //a-- 或 --a 等于 19(区别详见下文)
自增自减运算符
1、自增(++)自减(–)运算符是一种特殊的算术运算符,在算术运算符中需要两个操作数来进行运算,而自增自减运算符是一个操作数。
实例:
public class selfAddMinus{
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);
}
}
运行结果为:
进行自增运算后的值等于4 进行自减运算后的值等于2
解析:
int b = ++a; 拆分运算过程为: a=a+1=4; b=a=4, 最后结果为b=4,a=4
int d = –c; 拆分运算过程为: c=c-1=2; d=c=2, 最后结果为d=2,c=2
2、前缀自增自减法(++a,–a): 先进行自增或者自减运算,再进行表达式运算。
3、后缀自增自减法(a++,a–): 先进行表达式运算,再进行自增或者自减运算 。
总结:
不管自增写在变量前面还是变量后面变量的值都会增加1。区别是取值时不一样
作为后缀的自增,如果对其取值是在增加1之前取值
作为前缀的自增,如果对其取值是在增加1之后取值
关系运算符
逻辑运算符
实例:
public class Test {
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) );
//操作符“!”:称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false
System.out.println("!(a && b) = " + !(a && b));
}
}
实例编译运行结果如下:
a && b = false //(A && B)为假
a || b = true //(A | | B)为真。
!(a && b) = true //!(A && B)为真。