Java学习陷阱(一)

  • 浮点数的使用
float num1=2.7;
double num2=8.1/3;

System.out.println(num1);//2.7
System.out.println(num2);//2.69999997

if(num1=num2){
    System.out.println("相等");//不会输出
}

因为浮点数和整数运算后结果是一个近似值,所以不能将运算结果是浮点数的值直接拿来进行逻辑判断。

解决方案:只要两个数的差值在某个范围内便认定为是相等!

if(Math.abs(num1-num2)<0.000001){
    System.out.println("因为差值很小,在我规定的范围内,所以相等");//相等
}

原因:计算机不知道8.1后面还有几位数,可能以为是8.10000001或者8.00000002...所以最后只能算出一个近似数。

  • 字符类型

char本质上是一个整数,在输出时,是编码对应的字符(编码可以是ASCII码、Unicode、UTF-8),因此也可以进行运算

char a=97;
char a2='a';//注意!字符类型只能用单引号,用双引号将会被识别为是字符串类型,因为字符类型不能接受字符串类型,因而会因此报错!

System.out.println(a);//a
System.out.println(a2);//a,只有输出带有单引号的字符类型才会原封不动的输出

char b='a'+1;//98

System.out.println(b);//b
System.out.println((int)b);//98

System.out.println('a'+1);//107,注意!如果直接输出字符类型和整型运算的结果最后输出的是整型结果

以上是简单的分享,如有错误欢迎指正!后续会继续分享我的学习收获!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值