基本数据类型面试题扩展.

面试题扩展

public class Demo03 {
   public static void main(String[] args) {
        // 整数拓展? 进制 二进制0b 十进制 八进制0 十六进制0x
       int i1 = 10 ;
       int i2 = 010;  //八进制0
       int i3 = 0x10; //十六进制0x 0~9 A~F (10~15)
       System.out.println(i1);
       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
       System.out.println(d);
       float d1 = 123231321321f;
       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字节   65536   Excel   2^16 =65536
       //U000 UFFFF
       System.out.println("================================");

       char c3 = '\u0061';  // u0061---a
       System.out.println(c3);
       //转义字符
       // \t 水平制表符
       // \n   换行
       // \0   空字符
       System.out.println("Hello\tWorld!");
       System.out.println("Hello\nWorld!");
       System.out.println("Hello\0World!");

       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! 代码要精简易读


  }
}
转字义符意义
\a 响铃
\b 退格.将当前位置移到前一列
\f 换页.将当前位置移到下页开头
\n 换行,将当前位置移到下一行开头
\r 回车,将当前位置移到本行开头**
\t 水平制表(跳到下一个TAB位置)
\v 垂直制表
\ \ 代表一个反斜线字符
\0 空字符
   

BigDecimal

  • 位置:java.math包中。

  • 作用:精确计算浮点数。

  • subtract(); 减法

  • add(); 加法

  • multiply(); 乘法

  • divide(); 除法

注意:

ROUND_DOWN,是一个舍位取值的概念,我保留了两位小数,我不管你后面的小数值如何,也不会四舍五入,就硬生生的给阶段,相当于什么呢,就是我从小数点后面开始取两位,两位后面的都不要了,相当于一个截取字符串的操作。

而ROUND_UP,很宽容,很大方,我不管你第三位的小数是多少,我都给你加一最小单位(比如保留两位小数,最小单位是0.01,保留三位小数,最小单位就是0.001),当然了,你保留到最后一位的数字如果是0的话,那么就不加了。

 

 

posted @ 2021-07-04 17:58  1小明丶  阅读(560)  评论(0)    收藏  举报