JavaSE-数据类型
数据类型
- 强类型语言:要求变量的使用严格符合要求,必须先定义才能使用(安全性高)
- 弱类型语言:效率高(相对强类型安全性低)
Java的数据类型分成两大类
- 基本类型
- 数值类型
- 整数类型
- byte:1字节
- short:2字节
- int:4字节
- long:8字节 //long类型要在数字后面加一个L。long num = 30L。用于区分其他类型
- 浮点类型
- float:4字节 //float类型要在数字后面加一个F。
- double:8字节
- 字符类型:char 2字节
- 整数类型
- Boolean类型:true/false
- 数值类型
- 引用类型:除了基本类型之外,其他都是引用数据类型(例如:类、接口、数组)
整数类型拓展
- 表示二进制数字时,在前面加:0b
- 表示八进制数字时,在前面加:0
- 表示十六进制数字时,在前面加:0x
//整数类型拓展 二进制0b 十进制 八进制0 十六进制0x
int i = 10;
int i2 = 010; //表示为八进制的10(0)
int i3 = 0x10; //表示为十六进制的10(0x)
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println("=======================================");
浮点型拓展
最好完全不要使用浮点数进行比较
最好完全不要使用浮点数进行比较
最好完全不要使用浮点数进行比较
//============================================================
//浮点型拓展 面试题:银行业务怎么表示钱?
//============================================================
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 = 23131313131313113f;
float d2 = d1 + 1;
System.out.println(d1 == d2); //true
//结论:BigDecimal 数学工具类
//最好完全不要使用浮点数进行比较
//float 有限 离散 舍入误差 大约 接近但不等于
//double
字符拓展
//============================================================
//字符拓展
//============================================================
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编码 Unicode中有一张表:97=a 65=A 占用2个字节 最多能表示0 到 65536
// 表示为 U0000 到 UFFFF
char c3 = '\u0061';
System.out.println(c3); //结果为a
//转义字符
// \t 制表符 空格
// \n 制表符 换行
// .....
System.out.println("Hello\tWorld");
System.out.println("=======================================");
String sa = new String("Hello World");
String sb = new String("Hello World");
System.out.println(sa == sb);
String sc = "Hello World";
String sd = "Hello World";
System.out.println(sc == sd);
//对象(引用类型) 从内存分析
//如果比较的是基础类型,比较的是数值是否一致;如果比较的是引用数据类型,则比较的是对象的地址是否一致
布尔值拓展
boolean flag = true;
if (flag == true){} //新手
if (flag){} //老手
//Less is More! 代码要简单易读!
浙公网安备 33010602011771号