运算符

 double a=50;
int b=6;
short c=3;
byte d=1;
System.out.println(a+b+c+d);//double类型
System.out.println(c+d);//int类型

运算 short 、byte相互运算,结果都转化为int类型

 

 

运算 operater

转换 cast

 

关系运算符:>,<,>=,<=,!= 比较,返回对错,Boolean,为true或false。

 

++与--运算符区别

++ -- 自增 自减 是个一元运算符(与自身加减)

int a=1

int b=a++ 先赋值,再自身加1 b=1,a=2

int b=++a 先自身加1,再赋值 a=2,b=2

 int a=1;
int b=a++;//先b=a,再a=a+1
System.out.println(a);//2
int c=++a;//先a=a+1,再c=a
System.out.println(a);//3
System.out.println(b);//1
System.out.println(c);//3

 

 

很多运算可以可以用工具类来运算

1.幂运算 :如2^3

Math.pow(2,3)

public static double pow(double a, double b)

 

 

 

位运算(运算效率极高)

&(按位与,符号两边都为1,结果才是1)

|(按位或,符号两边都为0,结果才是0)

^(按位异或,符号两边都是0或都是1,结果为0,否则为1)

~(按位非,即按位取反)

<<(左移,被移除的高位丢弃,低位补0) *2 原数乘2乘位移数

>>(右移,被移出的低位丢弃,并用0或1补充左边的高位(被操作数是正数时全部用0补充,负数时全部用1补充)) /2 原数除2除位移数

>>>(无符号右移,被操作数无论是正数还是负数,高位全部用0补充)

例子:

int A=0011 1100

int B=0000 1101

A&B=0000 1100

A|B=0011 1101

A^B=0011 0001

~A=1100 0011

高效率求2*2 2<<1

2*8 2<<3

 

 

 

偷懒运算符

 

a-=b 就是 a=a-b;

a+=b 就是a=a+b;

 

 

三元运算符

X?Y:Z

如果X==true,则结果为Y;否则为Z

 int score=88;
String result=score<60?"不及格":"及格";
System.out.println(result);//及格

 

posted @ 2020-04-19 14:00  DannyBoy~  阅读(105)  评论(0编辑  收藏  举报