bug01
## 强制类型转换
源代码如下:
```java
public class Demo02 {
public static void main(String[] args) {
//整数拓展: 进制 二进制0b 十进制 八进制0 十六进制0x
int a = 10;
int b = 0b10; //二进制
int c = 010; //八进制
int d = 0x10; //十六进制 0~9 A~F
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
System.out.println("==================================================================================");
//========================================================================================================
//浮点数拓展: 如何表示银行业务?
//float 有限的 离散的 存在舍入误差 接近但不等于
//double
//========================================================================================================
float e = 0.1f; //0.1
double f = 0.1; //0.1
System.out.println(e==f); // == 表示判断是否相等
//输出结果为false
float e1 = 66666666666666f;
float e2 = e1+1;
System.out.println(e1==e2); //输出结果为true
System.out.println("==================================================================================");
//最好不用浮点数进行比较
//最好不用浮点数进行比较
//最好不用浮点数进行比较
//BigDecimal 数学工具类
//========================================================================================================
//字符拓展:
//========================================================================================================
char c1 = 'a';
char C1 = 'A';
char c2 = '一';
System.out.println(c1);
System.out.println((int) c1); //强制类型转换 将char类转换为int类
System.out.println(C1);
System.out.println((int) C1); //强制类型转换 将char类转换为int类
System.out.println(c2);
System.out.println((int) c2); //强制类型转换 将char类转换为int类
//所有的字符本质还是数字
//编码问题 Unicode编码(可以处理各种语言的编码)(a=97 A=65) 占2字节 可表示0~65536 Excel 2^16=65536
//U0000~UFFFF
char c3 = '\u0061'; //\u代表转义 Unicode编码表示方式
System.out.println(c3); //输出a
//转义字符
// \t
System.out.println("Hello\tWorld!");
}
}
bug如下:
bug定位如下:
通过查询资料得出产生原因如下:
Java允许在注释或代码中使用\u开头的Unicode转义字符,但要求转义必须有效,否则会编译器报错
目前解决方法如下: