Java 数据类型

Java 数据类型

如前一章所述,Java中必须为变量指定数据类型:

示例

int myNum = 10;               // 整型
float myFloatNum = 9.33f;    // 浮点型
char myLetter = 'A';         // 字符型
boolean myBool = true;       // 布尔型
String myText = "Hello";     // 字符串型

数据类型可分为两组:

  • 基本数据类型 – 包括byte, short, int, long, float, double, booleanchar
  • 非基本数据类型 – 例如字符串、数组和类(后面的章节中将详细介绍)

基本数据类型

基本类型指定了变量值的类型和占用内存空间大小,基本类型不包含方法。

Java中有8种基本数据类型:

数据类型 内存空间 描述
byte 1 byte 存储从-128到127的整数
short 2 bytes 存储从-32,768到32,767的整数
int 4 bytes 存储从-2,147,483,648到2,147,483,647的整数
long 8 bytes 存储从-9,223,372,036,854,775,808到9,223,372,036,854,775,807的整数
float 4 bytes 存储3.4e-038到3.4e+038之间的小数。可以存储6到7位小数
double 8 bytes 存储从1.7e-308到1.7e+038的小数。可以存储15位小数
boolean 1 bit 存储真值或假值
char 2 bytes 存储单个字符/字母或ASCII值

数字

基本数字类型分为两组:

  • 整数类型存储整数,正数或负数(如123或-456),没有小数。有效类型有byte, short, intlong。应该使用哪种类型取决于数值。
  • 浮点类型表示有小数的数字,包含一个或多个小数。有两种类型: floatdouble

尽管Java中有许多数字类型,但是最常用的是int(表示整数)和double(表示双精度浮点数)。

整型

byte

字节/Byte类型可以存储-128到127之间的整数。当数值确定在-128和127之间时,可以使用它代替int或其他整数类型,可以节省内存:

示例

byte myNum = 100;
System.out.println(myNum);
short

短整型/Short可以存储-32768到32767之间的整数:

示例

short myNum = 5000;
System.out.println(myNum);
int

整型/int可以存储-2147483648到2147483647之间的整数。通常,要使用整数时,int类型是首选的。

示例

int myNum = 100000;
System.out.println(myNum);
long

长整型/long可以存储-9223372036854775808到9223372036854775807之间的整数。当int不够大无法存储值时,可以使用这种类型。注意,长整型数值应该以l结尾:

示例

long myNum = 15000000000L;
System.out.println(myNum);

浮点型

需要表示小数(如9.99或3.14515)时,应该使用浮点类型。

float

浮点类型/float可以存储3.4e-038到3.4e+038之间的小数。注意,浮点型数值以f结尾:

示例

float myNum = 5.75f;
System.out.println(myNum);
double

双精度型/double可以存储1.7e-308到1.7e+038之间的小数。注意,双精度型应该以d结尾:

示例

double myNum = 19.99d;
System.out.println(myNum);

使用浮点数还是双精度型?

浮点数精度表示小数点后可以有多少位数字。浮点型的精度只有六七位数,而双精度型的精度约为15位数。因此,在大多数计算中使用double更安全。

科学计数

浮点型与双精度型也可以用科学计数法表示,用e表示10的幂:

示例

float f1 = 35e3f;
double d1 = 12E4d;
System.out.println(f1);
System.out.println(d1);

boolean

布尔/Boolean类型是用boolean关键字声明的,只能取真或假值:

示例

boolean isJavaFun = true;
boolean isFishTasty = false;
System.out.println(isJavaFun);     // Outputs true
System.out.println(isFishTasty);   // Outputs false

布尔值主要用于条件测试,后面章节中会有更多介绍。

char

字符/char类型用于存储单个字符。字符必须用单引号括起来,如’A’或’B’:

示例

char myGrade = 'B';
System.out.println(myGrade);

也可以使用ASCII值来显示某些字符:

示例

char a = 65, b = 66, c = 67;
System.out.println(a);
System.out.println(b);
System.out.println(c);

提示: ASCII值的列表可参考资料

String

字符串/String类型用于存储字符序列(文本)。字符串值必须用双引号括起来:

示例

String greeting = "Hello World";
System.out.println(greeting);

Java中,字符串类型被广泛使用,有些人称之为“特殊的第九种类型”。

Java中的字符串实际上是一种非基本类型,从技术上讲,字符串引用了一个对象。字符串对象具有操作字符串的方法。关于“对象”这个术语以及字符串,后续章节会有更多介绍。

非基本类型

非基本类型也称为引用类型,因为它们引用对象。

基本类型和非基本类型的主要区别是:

  • 基本类型是在Java中预定义的(已经定义)。非基本类型由程序员创建,Java不定义(字符串除外)。
  • 非基本类型可用于调用方法来执行某些操作,而基本类型不能。
  • 基本类型总是有一个值,而非基本类型可以为null。
  • 基本类型以小写字母开始,而非基本类型以大写字母开始。
  • 基本类型的大小取决于数据类型,而非基本类型具有相同的大小。

非基本类型的例子有字符串、数组、类、接口等。在后面的章节中,将探讨更多相关内容。



浙ICP备17015664号 浙公网安备 33011002012336号 联系我们 网站地图  
@2019 qikegu.com 版权所有,禁止转载