java入门第5课

1.运算符

1.1算数运算符

(1).二元运算符

加,减,乘,除,取余%,取余的运算结果只和左边的数值相关

(2)一元运算符

++,--,这里的自增自减运算和C语言一致

1.2赋值运算符

=

1.3扩展运算符

+=,-=,*=,/=

1.4关系运算符

略,只有instanceof需要注意,判断某个对象是否为某个类的实例,关系运算符的结果只能是布尔类型。不能和C语言一样写 int a = 1 > 3;

1.5.逻辑运算符

&&,||,!,^(异或)

1.6.位运算符

略过,只有>>>需要注意

1.7 三元运算符

?:

1.8 字符串连接符

+

上一次已经说过相关问题,需要再说一遍;

类型会操作范围更高的类型进行转化,int + long类型,结果是long类型

double和整形运算,会转化为double

double和float运算,转化为float

float和float运算,结果是float

如果是除法的运算赋值给整形,则小数被直接截断不会四舍五入

整型不能和浮点型一起运算?

目前来看是这样,也许学到后面可以做类型转换

2.短路运算

使用逻辑运算符进行计算,就会有和C语言一样的规律,

A&&B

如果A错了,B就不做运算

A||B

A对了,B还是要继续运算

比如:

boolean b = 1 > 2 && (3/0);

3/0写出来是要报错的,但是由于1>2已经错误,所以它反而不会报错

同理

int i = 0;

boolean b = 1<2 || (++i)>= 1;

i的值是什么呢?

3.位运算符

就是对应位置的0和1相运算,这一点C语言没有区别

但是对于移位运算符需要注意很多问题,但是实际上都是按照补码运算,C语言里面有详细分析,没什么好说的了。

符号位如果是1,则代表负数

符号位如果是0,则代表正数

一般情况下,编程语言都默认自己的类型是有符号的。

当数值右移动的时候,最高位补自己的最高位符号位

当数值左移的时候,低位补0,正数就是自己,没有什么好说的,负数变成补码运算后,还要再转为原码。

那么思考一下

-1右移动和左移动分别是多少

按照上面的理论,右移动>>应该是-1,左移动是-2

其他的就没什么好说的了。

4.运算符优先级

没什么好记的,一元运算符自高,其次是算数运算符,然后是逻辑运算符,然后是位运算符(除了左移和右移动,取反运算符);

逻辑与大于逻辑或

记不住就多用括号

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值