java运算符 一次说清楚

运算符
Java 语言支持如下运算符:优先级 ()

算术运算符:+,-,,/,%,++,--
赋值运算符=
关系运算符:>,<,>=,<=,==,!= instanceof
逻辑运算符: &&,||,!
位运算符: &,|,^,~ ,>>,<<,>>>(了解!!!)
条件运算符(三元运算符) ?:
扩展赋值运算符:+=,-=,
=,/=

例如:
// 二元运算符
int a = 10;
int b = 20;
int c=25;
int d=25;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b)
其中第四点需要注意的是如果整数相除得到了浮点型数据,需要提前转换类型,不然缺少精度或者结果不对。

如下表述:
a+=b; //a = a+b
a-=b; //a = a-b

//字符串连接符,
StringSystem.out.println(""+a+b);
System.out.println(a+b+"");

如果String类型放前面则为链接符 输出结果为 1020
放后面则先计算前面为 30

位运算 在前面也讲过一些,如下:

A=0011 1100
B=0000 1101

A&B=0000 1100 一样则为数据,否则为0

A|B=0011 1101 样则为数据,否则为1

A^B=0011 0001 0相同为0 ,相同1取反0,其余为1

~B= 1111 0010 取反

例如 位运算二进制 效事极高!!!
32如何计算最快:

216=32 28=16 则为22222

位运算 向前移动几位 为乘2
<< *2

位运算 向后移动几位 为除2

/2

0000 0000 0
0000 0001 1

0000 0010 2
0000 0100 4
0000 1000 8
0001 0000 16
0010 0000 32

二进制2需要得到32 需要向前移动 4位 则为32

posted @ 2024-02-22 15:47  隔夜~  阅读(9)  评论(0)    收藏  举报