Java运算符

Java运算符

算术运算符

+加法 - 相加运算符两侧的值A + B
-减法 - 左操作数减去右操作数A – B
*乘法 - 相乘操作符两侧的值A * B
/除法 - 左操作数除以右操作数B / A
取余 - 左操作数除以右操作数的余数B%A
++自增: 操作数的值增加1B++ 或 ++B (注:B++是先运算在加1,++B是先加1,再运算。
自减: 操作数的值减少1B–和--B(和上面同理)

拓展

Java中没有幂运算

但是,Java里面有强大的工具类Math。

		double pow=Math.pow(3, 2);
		System.out.println(pow);

关系运算符

==检查如果两个操作数的值是否相等,如果相等则条件为真。(A == B)为假。
!=检查如果两个操作数的值是否相等,如果值不相等则条件为真。(A != B) 为真。
>检查左操作数的值是否大于右操作数的值,如果是那么条件为真。(A> B)为假。
<检查左操作数的值是否小于右操作数的值,如果是那么条件为真。(A <B)为真。
>=检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。(A> = B)为假。
<=检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。(A <= B)为真。

位运算符

例如:

A:0011_011

B: 0101_101

操作符描述例子
如果相对应位都是1,则结果为1,否则为0A&&B:0001_001
|如果相对应位都是 0,则结果为 0,否则为 1A||B:011_111
^如果相对应位值相同,则结果为0,否则为1A^B:0110_110
按位取反运算符翻转操作数的每一位,即0变成1,1变成0。A~:1100_100
<<按位左移运算符。左操作数按位左移右操作数指定的位数。
>>按位右移运算符。左操作数按位右移右操作数指定的位数。
>>>按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。

最后三个另外来讲:

位运算是底层算法,效率极高。只要求了解!!!

例如:

二进制十进制
0000_00011
0000_00102
0000_01004
0000_10008
0001_000016

看上面表格,然后理解我给大家写的东西:

例如:

2<<3=16

为什么?

因为0000_0010,的1向左移动了三位变成了0001_0000的16,是1的下标移动了。

向右也是一样的道理。

有兴趣的小伙伴可以自己敲一敲代码,打印一下。

底层的东西虽然我也掌握的很少,不过确实很有意思。

记录一个快捷方式:Ctrl+D复制到下一行。

逻辑运算符

操作符描述例子
&&称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。(A && B)为假。
| |称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。(A | | B)为真。
称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。!(A && B)为真。
  • &&可以理解为中文的与,两个条件或多个条件必须都成立。

  • ||可以为中文的或,两个或多个条件任意一个成立即可。

  • !可以理解为真假颠倒,我不喜欢你,颠倒过来就是我喜欢你,从这是假的变成这是真的。

条件运算符

扩展运算符

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

    a+=b;//和a=a+b;是一样的
    a-=b;//和a=a-b;是一样的
    

扩展

int a=10;
int b=20;
System.out.println(""+a+b);
System.out.println(a+b+"");

运行之后二者有何区别?

1020
30

切记:输出打印先后顺序也会影响到结果的输出,上面就是这个例子。

第一个是String类型+10+20,所以打印是1020,计算机第一个读取到的是String类型,然后输出的也是String类型。

第二个是int类型10+int类型20+空格,所以打印出来是30,计算机并不聪明,相反它特别死板,这样有好也有坏,程序员要好好练习并掌握它,计算机也会回馈你的。

三元运算符

很简单,实际是为了偷懒而设计出来的,好好掌握就可以偷懒了,是不是很香嘞!

例如:

//X?Y:Z
//如果X==ture,则结果为y,否则为Z
String you="帅哥";
String type = you=="帅哥"?"是的":"不是";
System.out.println(type);

其实很简单,对吧!

我问你,你是不是帅哥,如果是,type就会被赋值为是的,如果不是,则赋值为不是。

相当于一条路走不通,就走另一条路。

运算符号的优先级

优先级运算符
1.  ()   []
2+(正)  -(负)  ++  –  ~  !
3*  /  %
4+(加)  -(减)
5<<   >>(无符号右移)   >>>(有符号右移)
6<  <=   >  >=   instanceof
7==   !=
8&
9|
10^
11&&
12||
13?:
14赋值

当然这些是要求了解,不明白就老老实实用括号

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值