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)的效果是一样的。

浙公网安备 33010602011771号