数据类型
- 强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
- 弱类型语言
Java的数据类型分为两大类
- 基本类型(primitive type)
- 引用类型(reference type)
基本数据类型(primitive type)
-
数值类型
-
整数类型:
-
byte占1个字节,范围:-128-127
-
short占2个字节,范围:-32768-32767
-
int占4个字节,范围-2147483648-2147483647
-
long占8个字节,
范围:-9223372036854775808-9223372036854775807
-
-
-
boolean类型(占1位,其值只有true和false两个)
引用数据类型(reference type)
- 类
- 接口
- 数组
数据类型拓展以及面试题
整数拓展
二进制0b 八进制0 十六进制0x
//整数拓展 进制 二进制0b 十进制 八进制0 十六进制0x
int i = 10;
int i2 = 010; //八进制0
int i3 = 0x10; //十六进制0x 0~9 A~F 16
System.out.println(i); //10
System.out.println(i2); //10
System.out.println(i3); //10
浮点数拓展
浮点数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); //1
System.out.println(d); //1
float d1 = 2313131313131311f;
float d2 = d1 + 1;
System.out.println(d1 == d2); //true
银行业务怎么表示(钱)?
使用数学工具类: BigDecimal
字符拓展
char c1 = 'a';
char c2 = '中';
System.out.println("=======================");
System.out.println(c1); //a
System.out.println((int)c1); //97
System.out.println(c2); //中
System.out.println((int)c2); //20013
所有的字符的本质还是数字编码
编码 Unicode 2字节 65536
char c3 = '\u0061';
System.out.println(c3); //a
转义字符:
// \t 制表符
// \n 换行符
System.out.println("Hello\tworld");
\\Hello world
字符串面试题:
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! 代码要精简易读