内置类型

Java语言提供了八种基本类型其中包括六种数字类型四种整数型两种浮点型一种字符类型还有一种布尔型。

byte

  • byte数据类型是8位、有符号整数有符号指的是有正数和负数之分

  • 最小值是-128-2^7

  • 最大值是1272^7-1

  • 默认值是0

  • byte类型用在大型数组中节约空间主要代替整数因为byte变量占用的空间只有int类型的四分之一

示例

byte foo = 100;byte bar = -50;

short

  • short数据类型是16位、有符号整数

  • 最小值是-32768-2^15

  • 最大值是327672^15 - 1

  • 默认值是0

  • short数据类型也可以像byte那样节省空间。一个short变量是int型变量所占空间的二分之一

示例

short number1 = 100;short number2 = -2000。

int

  • int数据类型是32位、有符号整数

  • 最小值是-2,147,483,648-2^31

  • 最大值是2,147,485,6472^31 - 1

  • 默认值是0

示例

int number1 = 50000;int number2 = -60000。

一般地整型变量默认为int类型。

long

  • long数据类型是64位、有符号整数

  • 最小值是-9,223,372,036,854,775,808-2^63

  • 最大值是9,223,372,036,854,775,8072^63 -1

  • 默认值是0L

  • 这种类型主要使用在需要比较大整数的系统上

示例

long number1 = 50000L;long number2 = -60000L。

float

  • float数据类型是单精度、32位的浮点数

  • float在储存大型浮点数组的时候可节省内存空间

  • 默认值是0.0f

  • 浮点数不能用来表示精确的值如货币

float f1 = 123.f;float f2 = 456.f;

double

  • double数据类型是双精度、64位的浮点数

  • 浮点数的默认类型为double类型

  • 默认值是0.0d

  • double类型同样不能表示精确的值如货币

示例

double number1 = 3333.4;

boolean

  • boolean数据类型表示一位的信息

  • 只有两个取值true和false

  • 默认值是false

  • 这种类型只作为一种标志来记录true/false情况

示例

boolean flag = trueboolean active = false;

char

  • char类型是一个单一的16位Unicode字符

  • 最小值是’\u0000’即为0

  • 最大值是’\uffff’即为65,535

  • 默认值是’\u0000’即为0

  • char数据类型可以储存任何字符

示例

char letter = ‘A’;


byte、int、long、和short都可以用十进制、16进制以及8进制的方式来表示。当使用常量的时候前缀0表示8进制而前缀0x代表16进制。比如

int decimal = 120;int octal = 0123;int hexa =  0x63;


包装类

以上8中内置类型都有对应的包装类。包装类可以认为是将内置类型转换成的一个类。

每种内置类型所占用的内存空间大小最大值和最小值可以通过其包装类来访问。比如为了我们可以这样访问int类型的相关信息

 System.out.println("int类型的二进制位数" + Integer.SIZE);   System.out.println("int类型的最小值Integer.MIN_VALUE=" + Integer.MIN_VALUE);   System.out.println("int类型的最大值Integer.MAX_VALUE=" + Integer.MAX_VALUE);

Integerint为例我们可以将两者进行转换例如

Integer in = new Integer(100); // 将int转换为包装类int m = in.intValue(); // 获取Interger的int值String s = “123”;int n = Integer.parseInt(s); // 将字符串转换为整数String s2 = Interger.toString(n); // 将整数转换为字符串

其它数据类型的操作是类似的不再一一赘述。


引用类型

一个变量在声明时如果不是声明为内置的数据类型,那就一定是声明为一个了,这时该变量是一个引用类型变量。引用类型变量,故名思议就是引用到一个对象,可以将它想象成一个指向到内存中某个对象实例的指针。

引用类型由类的构造函数创建,比如定义一个Post类型的变量就是引用类型。回顾上一节中的代码:

Post Post = new Post("天码营的博客", "这是我的第一篇博客"); // 创建博客对象

这就定义了一个引用类型的变量,是一个Post的对象。引用类型的变量都是某个类的对象或者数组。

所有引用类型如果不进行初始化赋值,默认值都是null。


数组

数组(Array)是程序设计语言中必不可少的一种结构,它用来描述一系列相同类型的数据。一个数组一旦创建后,它的长度是固定的。

下面的代码,定义了一个长度为10的数组,数据的下标编号从0开始,9是最后一个元素。下面是一个Java语言数组的例子:

int[] anArray;anArray = new int[10];//初始化一个长度为10的×××数组anArray[0] = 100;//初始化第一个变量anArray[1] = 200;anArray[2] = 300;anArray[3] = 400;anArray[4] = 500;anArray[5] = 600;anArray[6] = 700;anArray[7] = 800;anArray[8] = 900;anArray[9] = 1000;

数组下标和元素的关系如下所示:

alter-text

这样初始化数组比较麻烦,下面是另外一种更加便捷的方式:

int[] anArray = { 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000};

这样会自动创建一个长度为10的int数组。我们通过anArray.length可以得到数组的长度。


常量

常量就是一个固定值。它们不需要计算,直接代表相应的值。常量指不能改变的量。 在Java中用final标志,声明方式和变量类似。

虽然常量名也可以用小写,但为了便于识别,通常使用大写字母表示常量,比如:

final double PI = 3.1415927;