数据类型拓展及面试题
整数拓展:
进制 二进制0b 十进制 八进制0 十六进制0x
浮点数拓展:
//银行业务怎么表示? 钱 //BigDecimal 数学工具类 //======================================= //float 有限 离散 舍入误差 大约 接近但不等于 //double //最好完全用浮点数进行比较 //最好完全用浮点数进行比较 //最好完全用浮点数进行比较
转义字符
-
\a 响铃
-
\b 退格
-
\f 换页
-
\n 换行
-
\r 回车
-
\t 水平制表
-
\v 垂直制表
-
\ 代表一个反斜线字符\
-
' 代表一个单引号字符‘
-
" 代表一个双引号字符“
-
\0 空字符
基本代码表示
public class Demo03 { public static void main(String[] args) { //整数拓展: 进制 二进制0b 十进制 八进制0 十六进制0x int i =10; int i2 =010; //八进制0 int i3 =0x10; //十六进制0x 0~9 A~F 16 System.out.println(i); System.out.println(i2); System.out.println(i3); System.out.println("================================="); //======================================= //浮点数拓展? 银行业务怎么表示? 钱 //BigDecimal 数学工具类 //======================================= //float 有限 离散 舍入误差 大约 接近但不等于 //double //最好完全用浮点数进行比较 //最好完全用浮点数进行比较 //最好完全用浮点数进行比较 float f = 0.1f; //0.1 double d = 1.0/10; //0.1 System.out.println(f==d); //true float d1 = 156165165165f; float d2 = d1+1; System.out.println(d1==d2); //true //======================================= //字符拓展? //======================================= char c1 = 'a'; char c2 = '在'; System.out.println(c1); System.out.println((int)c1); //强制换行 System.out.println(c2); System.out.println((int)c2); //所有字符的本质还是数字 //编码 Unicode 表:(97 = a 65 =A) 2字节 0-65536 Excel 最大2的16次方 = 65536 // U0000 UFFFF char c3 = '\u0061'; //a //转义字符 // \t 制表符 // \n 换行 // ..... System.out.println("Hello\tWorld"); System.out.println("================================="); //String sa = new String(original:"hello world"); 暂时搞不懂 先注释掉 //String sb = new String(original:"hello world"); //System.out.println(sa==sb); String sc = "hello world"; String sd = "hello world"; System.out.println(sc==sd); //对象 从内存分析 //布尔值拓展 boolean flag = true; if (flag==true){} //新手 if (flag){} //老手 //Less is more! 代码要精简易读 } }
运行截图