数据类型扩展及面试题详解

import sun.plugin.liveconnect.OriginNotAllowedException;

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);//false

    float d1 = 1314159265358979f;
    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);//强制转换
    System.out.println(c2);
    System.out.println((int)c2);//强制转换
    //所有的字符本质还是数字
    //编码  Unicode  表:(97 = a    65 = A)     2字节    0 - 65536个字符      Excel表格(最早只有65536)

    //U0000 - UFFFF

    char c3 = '\u0061';
    System.out.println(c3);//a
    //转译字符
    // \t制表符
    // \n换行
    //.....
    System.out.println("Hello\tWorld");//制表符
    System.out.println("Hello\nWorld");//换行

    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);//true
    //对象  从内存分析

    //布尔值扩展
    boolean flag = true;
    if (flag==true){}//可写为if(flag){},两种方式完全相同,Less is More! 代码要精简易读



}

}

posted @ 2022-05-18 13:38  言西月  阅读(33)  评论(0)    收藏  举报