前言

前两节对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面向对象的性质。
  • 而且,如果只有基本数据类型,在实际开发过程中也是很不方便的(后面学习会慢慢体会到)。

java单例模式(java基本数据类型)(1)

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

java单例模式(java基本数据类型)(2)

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。

java单例模式(java基本数据类型)(3)

private static void test3() { // 字符型 char a = 'A';// 字符数据类型的定义 int b = a;// 字符转为整数 System.out.println(a); System.out.println(b); }

布尔型
  • boolean
  • 仅有两个值true, false,占1字节8bit, 变量初始化默认值false

java单例模式(java基本数据类型)(4)

private static void test4() { // 布尔型 boolean a = true; boolean b = false; System.out.println(a); System.out.println(b); }

,