Java支持的运算符
-
算数运算符:+、-、*、/、%(取余——模运算)、++、--
-
赋值运算符:=(int a = 10;)
-
关系运算符:>、<、>=、<=、==(等于)、!=instanceof(不等于)
-
逻辑运算符:与&&、或||、非 !
-
位运算符:&、|、^、~、>>、<<、>>>
-
条件运算符:? :
-
扩展赋值运算符:+=、-=、*=、/=
算术运算符的使用
public class Demo01 {
public static void main(String[] args) {
//二元运算符
int a = 10;
int b = 20;
int c = 30;
int d = 40;
System.out.println(a+b); //30
System.out.println(a-b); //-10
System.out.println(a*b); //200
System.out.println(a/(double)b); //0.5
int c = 21; //模运算
System.out.println(c%a); // 1
}
}
在a/b程序中,若不使用double则输出结果为0,使用double强制转换后输出0.5
public class Demo02 {
public static void main(String[] args) {
long a =121231321321l;
int b = 123;
short c = 10;
short e = 10;
byte d = 8;
double f = 127.333;
System.out.println(a+b+c+d);//Long
// 如果有一个数是Long,结果就为Long类型
System.out.println(b+c+d);//Int
//如果有一个数是Int,结果就为Int
System.out.println(c+d);//Int
System.out.println(e+f);//Double
//如果有一个数为double,结果为double
}
}
在长串运算运行中,如果有一个数据为Long,则结果为Long;如果有一个数据为Int,结果为Int;short + byte 结果也为Int;有一个double,结果就为double。
public class Demo04 {
public static void main(String[] args) {
//++ 自增 -- 自减 一元运算符
int a = 3;
int b = a++;
//a = a + 1
System.out.println(a);//4
int c = ++a;
//++a等于a = a + 1
System.out.println(a);//5
System.out.println(b);//3
System.out.println(c);//5
//幂运算
double pow = Math.pow(9, 3);
System.out.println(pow); //729
//很多运算需要使用工具类来操作
}
}
-
++自增
-
--自减
a++和++a的区别:
a++ 解释为:执行完代码后,先给b 赋值,再自增
-
例:a = 4 b = a++ 先将a的值赋予b,再将a的值加1变成5,此时a = 5,b = 4
++a 解释为:执行完代码后,先自增,再给b赋值
-
例:a = 4 b = ++a 先将a的值加1,再赋值给b,此时a = 5 ,b = 5
二者区别在于赋值执行时机不同。
幂运算了解。
关系运算符的使用
public class Demo03 {
public static void main(String[] args) {
int a = 10;
int b = 10;
System.out.println(a>b);//false
System.out.println(a<b);//false
System.out.println(a==b);//ftrue
System.out.println(a>=b);//true
System.out.println(a!=b);//不等于 false
}
}
关系运算符的返回结果为布尔值(boolean)true \ false