1. 程式人生 > 實用技巧 >Java基本資料型別拓展

Java基本資料型別拓展

public class Demo002_資料型別擴充套件 {
    public static void main(String[] args) {
        //整數拓展    進位制    二進位制0b    十進位制      八進位制0(0~7)    十六進位制0x(0~9 A~F)
        int i = 10;
        int i2 = 010;//八進位制0,轉換為二進位制為001000,十進位制為8
        int i3 = 0x10;//十六進位制0x,轉換為二進位制為00010000,十進位制為16
        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);
        System.out.println("====================================================");

        //浮點數拓展 銀行業務怎麼表示?算錢
        //用BigDecimal類:數學工具類
        //float:有限   離散   舍入誤差   大約   接近但不等於
        //double
        //最好完全避免使用浮點數進行比較
        //最好完全避免使用浮點數進行比較
        //最好完全避免使用浮點數進行比較
        float f = 0.1f;
        double d = 1.0/10;
        System.out.println(f==d);//false******************************

        float d1 = 23424234243244244f;
        float d2 = d1+1;
        System.out.println(d1==d2);//true
        System.out.println("====================================================");

        //字元拓展
        char c1 = 'A';
        char c2 = '漢';
        System.out.println(c1);
        System.out.println((int)c1);//97 (強制轉換)

        System.out.println(c2);
        System.out.println((int)c2);//20013 (強制轉換)

        //所有的字元本質還是數字
        //編碼  Unicode 佔2個位元組(16位二進位制,即2^16,最多可以表示65536個字元(即0~65535),一個字元一個編碼)
        //Excel表格最長2的16次方=65536
        //U0000~UFFFF
        char c3 = '\u0061';//a的Unicode編碼為十進位制的97,轉換為二進位制為1100001,轉換為十六進位制為61
        System.out.println(c3);//a

        //轉義字元
        // \t 製表符
        // \n 換行
        //其他的自己去查
        System.out.println("Hello\tWorld");
        System.out.println("====================================================");

        String sa = new String("hello world");
        String sb = new String("hello world");
        System.out.println(sa==sb);//false  new 分配在堆記憶體中*************************
        String sc = "hello world";
        String sd = "hello world";
        System.out.println(sc==sd);//true 分配在常量池中*************************
        //物件 從記憶體分析

        //布林值拓展
        boolean flag = true;
        if(flag==true){}//新手
        if(flag){}//老手寫這個
        //Less is more! 程式碼要精簡易讀
    }
}