Day03

Java数据类型拓展

整数拓展:关于进制

//整数拓展:进制 二进制0b 十进制 八进制0 十六进制0x

        int i = 10;
        int i2 = 010; //八进制0
        int i3 = 0x10; //十六进制0x

        System.out.println(i); //10
        System.out.println(i2); //8
        System.out.println(i3); //16

浮点数拓展:关于计算

//浮点数拓展:银行业务(钱)怎么表示?
//最好完全不使用浮点数进行比较,因为float和double是有限的离散的,有舍入误差,只能得到一个大约的结果,接近但不等于。所以不能使用这两个数据类型进行计算
//所以目前使用
//举两个例子
float f=0.1f; //0.1
double d=1.0/10; //0.1
System.out.println(f==d); //"=="询问两者是否相等 //false
System.out.println(f);
System.out.println(d);

float d1=2342323441f;
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之类的)
//U0000 UFFFF
char c3='\u0061'; //这就是常见的Unicode编码形式  // \u是转义字符
System.out.println(c3); //输出了a
//转义字符
// \t 制表符
// \n 换行
//......

补充(暂时不用懂)

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

注意点

  • 二进制0b开头,八进制0开头,十六进制0x开头
  • “==”询问两者是否相等
  • 各种各样的转义字符
  • System.out.println((int)c1); 强制将c1转化为数字形式,因为所有字符本质上还是数字
  • if (flag==true)和if (flag)是一样的
  • 最好完全不使用浮点数进行比较
posted @ 2021-02-03 04:41  Jazmin-suki  阅读(30)  评论(0)    收藏  举报