1.1 数据类型分类
1.1.1 基本数据类型
数值型
- 整型(默认值为 0 ) : byte 、 short 、int 、long
对应的包装类 : Java .lang. Byte 、java.lang.Short、java.lang. Integer 、java.lang.Long、
- 浮点型 (默认值为 0.0) :float 、 double
对应的包装类 : java.lang. float 、java.lang.Double、
- 布尔 型 : Boolean (默认值为:false)
对应的包装类 : java.lang.Boolean、
- 字符型 : char (默认值为:\u0000)
对应的包装类 : java.lang.Character
1.1.2 引用数据类型(默认值是null)
- 数组
几乎所有的语言都会支持数组,和 C 和 C++ 使用数组很危险相比,Java 会确保数组被初始化以及不能在他访问范围之外访问。创建一个数组对象时,实际上创建的就是引用数组,并且每一个值都会被初始化为数组类型的初始化值。
- 类
如果一切都是对象,那是什么确定对象的类型呢? Java 中使用关键字 class 来表示类。在类中设置两种类型的元素:字段(数据成员)和 方法(成员函数),字段可以是任意类型的对象,也可以是基本类型中的一种,但是如果字段是某个对象的引用,则必须初始化该引用(使用new关键字实现)。
- 接口
1.1.3 比较
数据类型 |
大小位 |
封装类 |
默认值 |
可表示范围 |
byte(位) |
8 |
Byte |
0 |
-128~127 |
short(短整数) |
16 |
Short |
0 |
-32768~32767 |
int(整数) |
32 |
Integer |
0 |
-2147483648~2147483647 |
long(长整数) |
64 |
Long |
0L |
-9223372036854775808~9223372036854775807 |
float |
32 |
Float |
0.0F |
1.4E-45~3.4028235E38 |
double |
64 |
Double |
0.0D |
4.9E-324~1.7976931348623157E308 |
char(字符) |
16 |
Character |
‘\u0000’ |
0~65535 |
boolean |
8 |
Boolean |
flase |
true或false |
1.2 字符串 String
在任何语言都没有提供字符串这种基本数据类型,但是为了方便开发,都会提供字符串数据类型,在 Java 中使用的是 String 作为字符串的定义。
实例1: 定义一个字符串
String str = "Hello World!";
实例2:实现字符串连接
String str = "Hello ";
str += "World !";
1.3 高精度数字
Java提供两个用于高精度计算的类:BigInteger 和 BigDecimal , 属于“包装器类”的范畴,但没有对应的基本类型。
- BigInteger
支持任意精度的整数,在运算中可以准确的表示任何整数值,不会丢失任何信息。
BigInteger bigA= new BigInteger ( “2435545434422445623443” );
BigInteger bigB= new BigInteger ( “2435522445623443” );
bigA.add(bigB); //加
bigA.subtract(bigB); //减
System . out .println(bigA.multiply(bigB)); //cheng
System . out .println(bigA.divide(bigB)); //chu
- BigDecimal
支持任何精度的定点数,比如进行精确的货币计算。
⚠️注意:参考原则
- 如果描述的是数字首选 int (整数) 或者 double(小数) ;
- 如果要进行数据传输或者文字编码转换使用 byte 类型( 二进制 操作);
- 处理中文的时候最方便的是字符 char 来完成;
- 描述内存大小或者文件大小、描述主键列(自动增长)可以使用 long ;