简介

数据类型定义了变量可以使用的值,比如:一个int数据类型的变量,那它就只能分配(或赋值)整数值。

Java 是一种强类型语言,编译时就需要知道变量的数据类型,也就意味着使用变量之前必须先指定变量的数据类型(声明变量),声明变量上一篇变量已经说过了,不在赘述。

Java 中有两类数据类型

  • 基本数据类型
  • 引用数据类型

本篇主要介绍基本数据类型字面量,引用类型后面再做介绍,数组字符串属于引用类型。

基本数据类型

Java 中相同的基本数据类型在不同操作系统中占用的空间是一样的,这也为 Java 的可移植性提供了保证。

基本数据类型包括四类-8种:

  • 整数型(不带小数的数字):byte, short,int, long
  • 浮点型(带小数的数字):float, double
  • 字符型(单个字符):char
  • 布尔型(真和假):boolean

基本数据类型一览表

数据类型 占用bit位 取值范围 缺省默认值
byte(字节型) 1 [-128~127] 0
short(短整型) 2 [-32768~32767] 0
int(整型) 4 [-2147483648~2147483647] 0
long(长整型) 8
0L
float(单精度) 4
0.0f
double(双精度) 8
0.0
boolean(布尔型) 1 true、false false
char(字符型) 2 [0~65535] ‘\u0000’

引用数据类型

除了基本数据类型之外的都是引用类型。如:数组、字符串等。

字面量(literal)

字面量是通过源代码直接给出的值。
字面量就是数据,是由字母、数字等构成的字符串或者数值。

如:代码int num = 0;为变量 num所分配的初始值 0 就是一个字面量。

可指定字面量的类型

并不是所有的数据类型都可以指定字面量,能指定字面量的有以下三种类型:

  • 基本类型
  • 字符串类型
  • null 类型

int 类型的字面量

在程序中直接给出的整型数值就是int类型的字面量,可分为二进制、十进制、八进制和十六进制 4 种。
其中二进制需要以 0B 或 0b 开头,八进制需要以 0 开头,十六进制需要以 0x 或 0X 开头。例如 123、012(对应十进制的 10)、0x12(对应十进制的 18)等。

long 类型的字面量

在整型数值后添加 l 或 L 后就变成了 long类型的字面量。例如 3L、0x12L(对应十进制的 18L)。

float 类型的字面量

在一个浮点数后添加 f 或 F 就变成了 float类型的字面量,这个浮点数可以是标准小数形式,也可以是科学计数法形式。例如 5.34F、3.14E5f。

double 类型的字面量

直接给出一个标准小数形式或者科学计数法形式的浮点数就是 double类型的字面量。例如 5.34、3.14E5。

boolean 类型的字面量

这个类型的直接量只有 truefalse

char 类型的字面量

char 类型的字面量有三种形式,分别是用单引号括起来的字符、转义字符和 Unicode 值表示的字符。例如'a''\n''\u0061'

String 类型的字面量

一个用双引号括起来的字符序列就是 String 类型的字面量。在 Java 中,字符串实际上是对象类型。

null 类型的字面量

这个类型的字面量只有一个值,即 null。这个字面量可以赋给任何引用类型的变量,用以表示这个引用类型变量中保存的地址为空,即还未指向任何有效对象。

阅读资料

初学者教程-数据类型
C语言中文网-直接量(字面量)