public class Demo03 {
public static void main(String[] args) {
//浮点数的扩展,银行业务怎么表示?钱
float i = 0.1f;
double i1 = 1.0 / 10;
System.out.println(i == i1);
//在这里运行之后会出在false,原因是在平时我们看起来相等的在计算机内我的猜想是类型不一样
//最好完全使用浮点数进行比较
float d1 = 1212121212f;
float d2 = d1 + 1;
System.out.println(d1 == d2);
//在这里运行之后是true,我们可以看见的不相等,计算机输出确是相等
//因为误差
//float 是有限并且离散 有大约接近却不等于的意思
//所以当需要精确的比较数字的时候,尽量避免float类型去比较
/*如果需要精确比较,我们有一个类,BigDecimal 数学工具类来比较*/
//字符扩展
char a = 'A';
char b = '中';
System.out.println(a);
System.out.println((int) a);
System.out.println(b);
System.out.println((int) b);
//所以字符本质还是数字
/*字符根据一种编码Unicode编码,当程序运行时计算机
会根据Unicode表寻找字符的编码数字,Unicode编码从U0000-UFFFF
*/
char c = '\u0061';
System.out.println(c);
//在这里他会输入相对应的所表示的字符a
/*转移字符
* \t制表符
* \n换行符
* 其它的还有很多*/
System.out.println("hello\nworld");
String sa = new String("hello World");
String sb = new String("hello World");
System.out.println(sa == sb);
String sc = "hello World";
String sd = "hello World";
System.out.println(sc == sd);
//为什么以新建对象的方式sa和sb能相等,然而以直接声明的方式却不会相等
//介绍两种if语句的写法,新手和老手的写法
boolean flag = true;
/*if (flag){
System.out.println("老手");
}*/
if (flag) {
System.out.println("新手");
}
}
}
Java程序员可能会遇到的一些问题