其他分享
首页 > 其他分享> > 学习记录3基本运算符

学习记录3基本运算符

作者:互联网

运算符operator

int a = 3;
int b = a++;//这行代码意为,先给b赋值,再自增,让b等于3,再让a加1
int c = ++a;//这行代码意为,先自增,再给c赋值,先让a加1,再把a加1的结果赋值给c

幂运算:2^3,222
Math.pow(2,3);
很多运算需要用到运算包借助Math类
关系运算

boolean a = true;
boolean b = false;
System.out.println("a&&b:"+a&&b);//逻辑与,两个都为真,结果为真
System.out.println("a||b:"+a||b);//逻辑或,一个都为真,结果为真
System.out.println("!(a&&b):"+!(a&&b));//逻辑非,与原始结果相反
结果
a&&b:false
a||b:true
!(a&&b):true
短路运算
int c = 5;
boolean d = (c<4)&&(c++<4);
System.out.println(d);
System.out.println(c);//从结果就可以看出,第二行代码后面的c++并没有执行
结果
false
5

位运算

  A = 0011 1100
  B = 0000 1101
A&B = 0000 1100//按位与,上下比较,都为0则为0,都为1则为1,否则为0
A|B = 0011 1101//按位或,上下比较,都为0则为0,一个为1则为1,两个为1则为1
A^B = 0011 0001//按位异或,上下比较,相同为0,即都为0取0,都为1取0,不同为1
 ~B = 1111 0010//取反
面试题
2*8怎么运算最快
2*8 = 2*2*2*2
<<左移(这是相较于二进制位的)
>>
System.out.println(2<<3);//结果为16
原因
0000 0000     0
0000 0001     1
0000 0010     2
0000 0100     3
0000 1000     8
0001 0000     16
每移动一位数字就增大了,而且是每移动一位就乘2.
这样的计算方法比前面的两种都要简单,这种简单是相较于计算机的运算机制与方法而言的,是对计算机来说简单,而不是对人,当然根据数据结构的知识,我们知道在大规模数据面前,这样的方法是可以提高效率的。

扩展赋值运算符:+=,-=,*=,/=

int a = 10;
int b = 20;
a += b;//a = a + b
System.out.println(a);//结果为30

字符串连接符 +,
System.out.println(""+a+b);
System.out.println(a+b+"");
结果为
1020
30
在加号两侧只要有一方出现字符串类型(String),则会将其他数据转化为字符型进行连接,注意,若字符串在前则后侧的不再进行计算,字符串在后侧,则要先进行计算,将结果作为字符类型,与后面的字符串连接

三元运算符

//x  ? y : z
//如果x==true,则结果为y,否则为z
int score = 80;
String type = score < 60 ? "不及格":"及格";
System.out.println(type);//结果为及格

标签:学习,记录,int,System,运算符,&&,println,out
来源: https://www.cnblogs.com/hezhipeng/p/16676269.html