运算符
Posted zgmzbhqa
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运算符相关的知识,希望对你有一定的参考价值。
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);//及格
以上是关于运算符的主要内容,如果未能解决你的问题,请参考以下文章
获取 badarith,[erlang,'+',[error,0],[],同时使用 Erlang 片段在 TSUNG 中执行算术运算