Java语言支持如下运算符:
-
算数运算符:+,-,*,/,%,++,–
-
赋值运算符:=
-
府岸西运算符:>,<,>=,<=,==,!=,instanceof
-
逻辑运算符:&&,||,!
-
位运算符:&,|,^,~,>>,<< (了解!!)
-
条件运算符: ?:
-
拓展赋值运算符:+=,-=,*=,/=
long a = 123123123123L;
int b = 123;
short c = 10;
byte d = 8;
System.out.println(a+b+c+d); //long
System.out.println(b+c+d); //int
System.out.println(c+d); //int
运算中如果有一个值为 long 类型,则结果为 long 类型;
同理,如果有一个值为 double 类型,则结果为 double 类型
自增、自减、幂的运算++,-- 自增、自减 一元运算符
int a = 3;
int b = a++; //执行完这段代码,先给b赋值,再自增
System.out.println(a); //4
int c = ++a; //执行完这段代码,先自增,再给c赋值
System.out.println(a); //5
System.out.println(b); //3
System.out.println(c); //5
幂运算
计算2的3次方,Java中不能写成23,^在Java中是 异或运算符(计算对象相同为0,不同为1)
Java中的幂运算会使用一些 工具类 来 *** 作
例如计算2的3次方:
double pow = Math.pow(2,3);
System.out.println(pow); //2*2*2=8
逻辑运算符
与(and) 或(or) 非(取反)
boolean a = true;
boolean b = false;
System.out.println(a&&b); //逻辑与运算:两个变量都为真,结果才为true
System.out.println(a||b); //逻辑或运算:两个变量有一个为真,则结果才为true
System.out.println(!(a&&b)); //如果是真则变为假,如果是假则变为真
短路运算
int c = 5;
boolean d = (c<4)&&(c++<4);
System.out.println(d); //false
System.out.println(c); //5
在“&&”运算中若&&前面已经为false,则不执行&&后面,而是直接输出false
位运算符A = 0011 1100;
B = 0000 1101;
---------------
A&B = 0000 1100;
A|B = 0011 1101;
A^B = 0011 0001;
~B = 1111 0010;
“<<” 左移 ">>"右移
0000 0000 0
0000 0001 1
0000 0010 2
0000 0100 4
0000 1000 8
0001 0000 16
总结:<< 左移就是值*2;>>右移就是值/2。
优点:效率高!!
+=、-=和字符串连接符int a = 10;
int b = 20;
a+=b; //a = a+b
a-=b; //a = a-b
System.out.println(a);
System.out.println(""+a+b); //前面如果有String类型,计算机会把全部的值都当成String
System.out.println(a+b+"");
输出结果:
10
1020
30
三元运算符
x ? y : z
如果x==true,则结果为y,否则结果为z
等价于:
if(x){
return y;
}else{
return z;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)