- 加号
(+)
:两个数相加,如:x+y
,可以和=
组成=+
- 减号
(-)
:两个数相减,如:x-y
,可以和=
组成=-
- 乘号
(*)
:两个数相乘,如:x*y
,可以和=
组成=*
- 除号
(/)
:两个数相除,如:x/y
,可以和=
组成=/
- 赋值
(=)
:给变量赋值,如:x=y
,可以和=
组成==
- 取余
(%)
:两变量取余,如:x%y
,可以和=
组成=%
上述的操作符的运算规则是先乘除,后加减,也就是说优先级乘除较高,加减次之,赋值最小。例子如下:
public class Demo
{
public static void main(String[] args){
int x=6,y=4;
int a=x+y;//10
int b=x-y;//2
int c=x*y;//24
int d=x/y;//下取整 1
int e=x%y;//取余 2
int f=x+y*y;//22
int g=(x+y)*y;//40
System.out.println(a+" "+b+" "+c+" "+d+" "+e+" "+f+" "+g);
}
}
自增分为前缀自增和后缀自增,自减分为前缀自减和后缀自减,例子如下:
public class Demo
{
public static void main(String[] args){
int i=2;
System.out.println("i++:" + i++);//2
System.out.println("++i:" + ++i);//4
System.out.println("i--:" + i--);//4
System.out.println("--i:" + --i);//2
}
}
- 小于
(<)
:if(a<b){}
- 大于
(>)
:if(a>b){}
- 等于
(==)
:if(a==b){}
- 小等
(<=)
:if(a<=b){}
- 大等
(>=)
:if(a>=b){}
- 不等
(!=)
:if(a!=b){}
- 与
(&&)
:if(a>b&&b>c)
:存在短路,第一个条件是false就不判断第二个了 - 或
(||)
:if(a>b||b>c)
:存在短路,第一个条件为true 就不判断第二个了 - 非
(!)
:if(!(a>b))
:不存在短路
- 与
(&)
:两个数的二进制按位与(同1是1,否则0):双目 - 或
(|)
:两个数的二进制按位或(有1是1,同0是0):双目 - 非
(~)
:一个数的二进制按位反(1变0,0变1):单目 - 异或
(^)
:两个数的二进制按位异或(不同0,相同1):双目 - 左移
(<<)
一个数的二进制左移一位,高位舍弃,低位补零:单目 - 右移
(>>)
一个数的二进制右移一位,低位舍弃,高位补零:单目
- 连接
(+)
:连接两个字符串 - 连接赋值
(+=)
:连接连个字符串并将结果赋值给第一操作数
例子:
public class Demo
{
public static void main(String[] args){
int x=0,y=1,z=2;
String s="x, y, z";
System.out.println(s+x+y+z);
System.out.println(x+" "+s);
s+="(summed) = ";
System.out.println(s+(x+y+z));
System.out.println(""+x);
}
}
output:
x, y, z012
0 x, y, z
x, y, z(summed) = 3
0