1.进制问题
2.银行业务用那种数据类型
3.字符类扩展
以下是关于面试时,常遇到的问题,不太难,但是比较细致,希望自己可以慢慢理解消化
package first.demo.first;
public class Demo1 {
public static void main(String[] args) {
//整数拓展 十进制 二进制0b 八进制0 十六进制0x
int num_10 = 10;//十进制
int num_2 = 0b10;//二进制
int num_8 = 010;//八进制
int num_16 = 0x10;//十六进制
System.out.println(num_10);
System.out.println(num_2);
System.out.println(num_8);
System.out.println(num_16);
//浮点数扩展, 银行业务?用BigDecimal类
//float 有限 离散 舍入误差 大约 接近但不等于
//最好完全避免使用浮点数进行比较
float f = 0.1f;
float s = f+1;
double d = 1.0/10;
System.out.println(f==d);
System.out.println(f==s);
System.out.println(f);
System.out.println(d);
//字符类拓展 所有的字符,本质还是数字,Unicode 2字节 0-65536
char c1='a';
char c2='中';
System.out.println(c1);
System.out.println((int)c1);
System.out.println(c2);
System.out.println((int)c2);
//U0000-uffff
char c3='\u0061';//unicode的表示,十六进制
System.out.println(c3);
//转义字符 \t 制表符,\n 换行符
System.out.println("hahe\tsfa");
System.out.println("faf\nafa" );
System.out.println("===========================================");
String sa = new String("hello world");
String sb = new String("hello world");
System.out.println(sa==sb);
//?为什么这里输出是false
//提示:对象,从内存分析
String sc="hello world";
String sd="hello world";
System.out.println(sc==sd);
//布尔值扩展
Boolean flag=true;
if(flag==true){}//新手操作
if (flag ) {//老手
}
}
}