Java第三课

所有的byte型,short型和char型自动被提升成int型

如:byte a=1(正确)  byte b=2(正确)  byte c=a+b(错误)因为此时的a,b已经是int型,大类型不能赋值给小类型


在进行运算时,容量小的类型自动转化成容量大的类型

如:float  a=5.0*2(在运算时会先把int型2转化成浮点型,再运算)


boolean类型不能转换成其他的数据类型,因为boolean只有true,false两个值,没别的(理由完全个人所想)


实数常量(如1.2)默认为double,如要声明一个常量为float,应在后面加f或F   如:float  a=1.2F;

整数常量(如123)默认为int,声明long型常量可以后加l或L 如:long a=123L;


移位运算符:

1.<<  左移位运算符,相当于乘2操作,效率高

2.>>  右移位运算符,相当于除2操作,效率高,移动时符号位不变

3.>>> 右移位运算符,以0填充最高位,所以如果是负数运算,结果就是正数,正数运算,结果不变

4.& 按位与,先将两个字数转化为二进制码,只有都是1时结果才是1,有一个0结果就为0     如:10&12  =  1010&1100 = 1000 = 8

5.|   按位或,先转化成二进制码,只有都是0,结果才是0,有一个1,结果就是1    如:10|12 = 1010|1100 = 1110 = 14

6.^  异或,先转化成二进制码,当两个数相同时为0,不同为1     如:10^12 = 1010^1100 = 0110 = 4

注:&&和&的区别:

1.&&是逻辑运算符,操作必须是boolean值或boolean表达式,&是位运算符,操作数可以是boolean值,也可是以数字。

2.&&是短路运算符,当第一个条件为假,第二个条件就不会执行,&不是短路运算符,当第一个条件为假时,第二个还是会执行


Java中的运算符和优先级:

1.点   ()    {}

2.一元运算符(++,--,!,(类型转换))

3.算术运算符(+ - * /  %)

4.移位运算符(<<   >>   >>>)

5.比较运算符(>  <  >=   <=   ==)

6.位运算符(&  |  ^)

7.逻辑运算符(&&  ||)

8.赋值运算符(=   +=   -=   三目运算)


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值