运算符
1.算数运算符
加(+), 减(-), 乘(*), 除(/)
在进行乘除时,要注意想要得到的结果的精度。如果结果应为小数,但类型为int时候,得到的结果会近似到整数。
int n_1=15+20;
int n_2=15-20;
int n_3=15*20;
int n_4=15/20;
double n_5=15/((double)20);
System.out.println(n_1);//output:35
System.out.println(n_2);//output:-5
System.out.println(n_3);//output:300
System.out.println(n_4);//output:0
System.out.println(n_5);//output:0.75
当进行整数之间的计算时候,如果包括long类型,则结果为long类型,如果不包括long类型,则结果均为int类型。
byte n_byte=1;
short n_short=100;
int n_int=1000;
long n_long=10_0000_0000L;
System.out.println(n_byte+n_short);
//output类型是int
System.out.println(n_byte+n_short+n_int);
//output类型是int
System.out.println(n_byte+n_short+n_int+n_long);
//output类型是long
摩(%)
摩运算就是取余数
例如:22除以4等于5余2(22/4=5……2)
int num=22%4;
System.out.println(num);
//output: 2
幂运算(次方运算)
幂运算要用到Math.pow(x,y), 所得到的数是x的y次方。
double num=Math.pow(3,2);//3的2次方
System.out.println(num);
//output: 9.0
自增(++),自减(- -)
自增自减运算是一元运算符。a++;
意味着a=a+1;
, a--;
则意味着a=a-1;
。但++和- -所在位置的不同会影响结果。
int a =5;
int A =5;
int b =a++;
int B =++A;
System.out.println(a);//output:6
System.out.println(A);//output:6
System.out.println(b);//output:5
System.out.println(B);//output:6
- 当运算符在变量后面时候:
int b=a++;
是执行完这行代码后,先给b赋值,a再自增。 - 当运算符在变量后面时候:
int B=++A;
是执行完这行代码前,A先自增,再给B赋值。
2.赋值运算符:等于(=)
等于号意味着将等号后面的值赋给等号前的变量。当进行本身计算时可以简写。
a+=10;//相当于:a=a+10;
b-=10;//相当于:a=a-10;
c*=10;//相当于:a=a*10;
d/=10;//相当于:a=a/10;
3.关系运算符
大于(>), 小于(<), 大于等于(>=), 小于等于(<=),恒等于(==), 不等于(!=), instanceof
关系运算符返回的结果只有true和false。
int a=10;
int b=20;
System.out.println(a>b);//output:false
System.out.println(a<b);//output:true
System.out.println(a>=b);//output:false
System.out.println(a>=b);//output:false
System.out.println(a==b);//output:false
System.out.println(a!=b);//output:true
4.逻辑运算符
与(&&), 或(||), 非(!)
- 逻辑与运算(&&):两个变量都是true,结果才为true。
- 逻辑或运算(||):两个变量有一个为ture,结果才为true。
- 逻辑非运算(!):如果是true则变false,如果是false则变true。
boolean t=true;
boolean f=false;
System.out.println(t&&f);//output:false
System.out.println(t||f);//output:true
System.out.println(!t);//output:false
System.out.println(!f);//output:true
5.位运算符
与(&), 或(|), 亦或(^), 非(~)
参加运算的两个数据,按二进制位进行运算。
- 与(&):必须同时为1,则结果为1。
- 或(|):只要有一位为1,则结果为1。
- 亦或(^):只有一个为1,则结果为1。
- 非(~):如果是1则变0,如果是0则变1。
A= 0011 1100
B= 0000 1101
-----------------
A&B= 0000 1100
A|B= 0011 1101
A^B= 0011 0001
~A = 1100 0011
~B = 1111 0010
左移(<<), 右移(>>)
- 左移(<<):二进制数字整体向左移动一位,会导致数值被乘2.
- 右移(<<):二进制数字整体向右移动一位,会导致数值被除以2.
//<<或>>前面是要进行计算的数字
//<<或>>后面是要移动的位数
System.out.println(2<<1);//output:4
System.out.println(2<<2);//output:8
System.out.println(2<<3);//output:16
System.out.println(16>>2);//output:4
System.out.println(16>>3);//output:2
System.out.println(15>>1);//output:7
6.三元运算符(? :)
x ? y : z 表示如果x==true,则结果为y,否则为z
int score =59;
String type =(score<60) ? "不及格" : "及格" ;
System.out.println(type);
//output: 不及格
7.字符串连接符
加号(+)作为字符串连接符,连接字符串和其他数据。当字符串出现在连接符的前方或者后方,所得到的结果是不一样的。
- 当字符串出现在连接符的前方,连接符后方的数据被直接默认为字符串。
- 当字符串出现在连接符的前方,连接符前方的数据则不受影响。
int a=10;
int b=15;
System.out.println("Total number is "+a+b);
//output:Total number is 1015
System.out.println(a+b+" is total number");
//output:25 is total number
推荐java学习平台:狂神说Java