- 浮点数的使用
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,注意!如果直接输出字符类型和整型运算的结果最后输出的是整型结果
以上是简单的分享,如有错误欢迎指正!后续会继续分享我的学习收获!