Day003 数据类型拓展

数据类型拓展

整数拓展

进制

​ 通常我们使用的都是10进制的整数,java中可以表示不同进制的整数

进制 表示方法
二进制 0b
八进制 0
十进制 默认
十六进制 0x

看看下面这个例子吧

 	int num1=0b10;//二进制
        int num2=010;//八进制
        int num3=10;//十进制
        int num4=0x10;//十六进制 0~9 A~F
	int num5=0xF;//十六进制
        
        System.out.println(num1);
        System.out.println(num2);
        System.out.println(num3);
        System.out.println(num4);
   	System.out.println(num5);

输出结果

2
8
10
16
15

浮点数拓展

浮点数的特点:

  • 有限

  • 离散

  • 有舍入误差

最好完全避免使用浮点数进行比较

金钱类型做好使用BigDecimal类去定义

BigDecimal :数学工具类

字符拓展

字符类型可以通过int(字符)强制转换为字符的Unicode码

 //字符拓展
        char c1='a';
        char c2='中';
        char c3='\u0061';
        System.out.println(c1);
        System.out.println((int)c1);//强制转换为字符类型的ASCALL码输出
        System.out.println(c2);
        System.out.println((int)c2);
        System.out.println(c3);

输出结果

a
97
中
20013
a

转义字符

\t 制表符

\n换行符

System.out.println("hello\tworld");
System.out.println("hello\nworld");

输出结果

hello	world
hello
world

思考

String sa=new String("hello world");
String sb=new String("hello world");

String sc="hello world";
String sd="hello world";

System.out.println(sa==sb);
System.out.println(sa.equals(sb));

System.out.println(sc==sd);
System.out.println(sc.equals(sd));

输出结果

false
true
true
true

思考这是为什么?(从内存分析)

布尔值拓展

boolean flag=true;
if(flag==true){};//新手程序员
if(flag){};

if(flag==true)和if(flag)的效果是一样的。

狂神说java

posted @ 2021-05-03 13:49  南方风  阅读(58)  评论(0)    收藏  举报