java基本数据类型
前言
前两节对java做了一个简单的介绍以及java环境的安装,那么本节就算是基本进入到java编程的正式学习,在进行学习java编程之前我首先要认识一下java里面有哪几种数据类型。
四类八种
Java的基本数据类型总共有8种,分别是:byte(位)、short(短整数)、int(整数)、long(长整数)、float(单精度)、double(双精度)、char(字符)和boolean(布尔值)。除此之外其他数据类型我们称之为引用类型。
整数类
byte、short、int、long
浮点类
float、double
字符类
char
布尔型
boolean
浮点类其实就是数学里边的小数类型,具体的需要区分小数精度,布尔类型就是数学逻辑里面的真假,所以布尔类型的取值只有true和false。
另外我们要知道java里的数据类型,在存储的时候都是以二进制的方式存储在计算机里边,最小的存储单元是位(bit)。
整数类
Java中整型数据属于有符号数,即第一个bit位为0表示正整数,第一个bit位为1表示负整数。
- byte
- byte属于Java中的整型,长度为1字节8bit,取值10000000(-128)到 01111111(127),变量初始化默认值为0,包装类Byte
- short
- short属于Java中的整型,长度为2字节16bit,取值10000000 00000000(-32768)到 01111111 11111111(32767),变量初始化默认值为0,包装类Short
- int int属于Java中的整型,长度为4字节32bit,取值-2^31 (-2,147,483,648)到 2^31-1(2,147,483,647),变量初始化默认值为0,包装类Integer
- long long属于Java中的整型,长度为8字节64bit,取值-2^63 (-9,223,372,036,854,775,808)到 2^63-1(9,223,372,036,854,775,807),变量初始化默认值为0或0L,包装类Long
- 包装类是什么?
- 包装类是封装Java原始类型的对象,Java为8种基础数据类型提供了对应的包装类:Byte、Short、Integer、Long、Float、Double、Boolean、Character。
- 为什么需要包装类?
- 前两节介绍过Java语言是面向对象的编程语言,而基本数据类型声明的变量并不是对象,为其提供包装类,是增强了Java面向对象的性质。
- 而且,如果只有基本数据类型,在实际开发过程中也是很不方便的(后面学习会慢慢体会到)。
private static void test1() {
// byte a = 127;
// byte b = 128; // 超出范围 -128到127
// short c = 32767;
// short d = 32768;// 超出范围 -32768到32767
// int e = 2147483648;
// int f = 2147483647;// 超出范围 -2147483648到2147483647
// long g = 9223372036854775807L;
// long h = 9223372036854775808L;// 超出范围-9223372036854775808到9223372036854775807
// 以上范围不用记, jdk提供了内置的常量
System.out.println(Byte.MIN_VALUE);
System.out.println(Byte.MAX_VALUE);
System.out.println(Short.MIN_VALUE);
System.out.println(Short.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
System.out.println(Integer.MAX_VALUE);
System.out.println(Long.MIN_VALUE);
System.out.println(Long.MAX_VALUE);
}
浮点型
- float
- 属于Java中的浮点型,也叫单精度浮点型,长度为4字节32bit,变量初始化默认值0.0f,取值范围-2^128到2^128,包装类Float
- double
- 属于Java中的浮点型,也叫双精度浮点型,长度为8字节64bit,变量初始化默认值0.0d,取值范围-2^1024到2^1024,包装类Double
private static void test2() {
// 浮点型的取值范围
System.out.println(Float.MIN_VALUE);
System.out.println(Float.MAX_VALUE);
System.out.println("-------------------------------");
System.out.println(Double.MAX_VALUE);
System.out.println(Double.MAX_VALUE);
}
字符型
- char
属于java中的字符型,占2字节16bit,可以赋值单字符以及整型数值, 变量初始化无默认值,包装类Character。
private static void test3() {
// 字符型
char a = 'A';// 字符数据类型的定义
int b = a;// 字符转为整数
System.out.println(a);
System.out.println(b);
}
布尔型
- boolean
- 仅有两个值true, false,占1字节8bit, 变量初始化默认值false。
private static void test4() {
// 布尔型
boolean a = true;
boolean b = false;
System.out.println(a);
System.out.println(b);
}