Java中那些奇怪的题

Short

short s = 1;
s++;
s += 1;			//会被解析为 s = (short)(s + 1)
s = s + 1;   //报错,因为1为int类型,s + 1会强制转换报错

0

System.out.println(0/0);
//除零异常
System.out.println(0/0.0);
//Nan
System.out.println(1/0.0);
//infinity

Double Float

System.out.println(2.0 - 1.1);
//0.8999999999999999
//1.1在计算机中并不能准确的表示,在计算中会丢失精度
System.out.println(2.0f - 1.1f);
//0.9

Integer

Integer a = 127,b = 127,c = 128,d = 128;
System.out.println(a == b);
//true
System.out.println(c == d);
//false
//-128 ~ 127 在Java中是使用原生数据类型int,存放于内存中供使用,所以比较时是使用的值比较,而超出部分会比较地址以及值。

& &&

&两边表达式都会进行判断

&&当左边表达式为false时,便不会再执行右边表达式

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值