联系我们 | 加入收藏

 
当前位置:首页 > IT资讯 > 正文
Java入门必学的数据类型
时间:2022/12/7 8:57:32来源:网络阅读:10184

1 什么是Java 基本数据类型

前面讲过变量,程序中的变量是一个存储单元,用于存储程序中的数据。而今天讲的数据类型是用来约定变量存储空间的大小。约定变量存储空间大小的目的是根据数据大小选择合适的存储空间,将合适的数据存储到相应大小的存储空间可以避免计算机资源浪费,提高软件运算性能。

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

2 整数类型

Java整数类型一共有4种, 用于存储各个范围的整数:

整数类型只能存储整数,不能存储小数,小数需要采用float或者double类型存储。

2.1 byte 类型

byte类型也称为字节类型, 是Java中最小数据类型,其内部是8位2进制数字。有效数值范围:-128~127。由于有效范围很小,其用途也是很有限。一般用来表示内存中或者文件中的最小存储单元。

提示:2进制知识在后续的一个独立课程单元中讲解。

案例:

byte max = Byte.MAX_VALUE; //最大值

byte min = Byte.MIN_VALUE; //最小值

System.out.println(max);

System.out.println(min);

byte b = 120;

System.out.println(b);

byte b1 = 128; //编译错误,不能超过 byte 范围

Byte 是Java提供的包装类API, 在API课程阶段会详细讲解其功能。

2.2 short 类型

short类型是Java中存储整数数据范围较小的数据类型,内部是一个16位2进制数字,其有效范围-32768~32767,由于其范围小,在程序中很少使用。Java的设计者为了保持与传统C语言兼容而设计了short数据类型。

除了考试时候能够遇到short类型,实际开发中极少使用short类型。

由于short占有16位2进制数,其长度恰巧数byte类型2进制数的两倍,也称一个short数据占有2字节

案例:

short max = Short.MAX_VALUE;

short min = Short.MIN_VALUE;

System.out.println(max);

System.out.println(min);

short s = 12000;

System.out.println(s);

short s1 = 32777; //编译错误,32777 超过short范围

与Byte类似Short也是包装类,在后期课程中详细讲解Short包装类的用途

2.3 int 类型

int类型是Java中最常用的整数类型,在计算机内部是一个32位2进制数字,范围是-2147483648 ~2147483647。这个范围非常实用,可以涵盖大多数整数用途,所以int用途最多最广。

因为int在内存中的2进制数字是32位数,其2进制位长度是byte类型长度的4倍,也称int在内存中占有4个字节。

整数直接量

int整数使用事项:

l直接给出的整数常数称为整数“直接量”,Java所有整数“直接量”都是int类型。“整数直接量”不能超过int范围。

?默认的整数直接量是 10进制 直接量,数字:0123456789

?使用0x开头的直接量是 16进制 直接量,数字:0123456789abcdef

?使用0开头的直接量是 8进制 直接量,数字:01234567

?使用0b开头的直接量是 2进制 直接量,数字:01

l整数不能存储小数。

l整数计算结果也是整数,并且除法结果是整除结果

l整数计算时如果超过整数范围会自动溢出,溢出时候不会报错误。

?要了解整数范围,预估计算结果,如果可能溢出就更换为long类型计算。

整数“直接量”也称为整数“字面量”,都是指直接给出的整数常数。

16进制、8进制、2进制和10进制的关系,在后面2进制课程中专门讲述。

案例:

int max = Integer.MAX_VALUE;

int min = Integer.MIN_VALUE;

System.out.println(max);

System.out.println(min);

int a = 1000000; //10进制

int b = 0xef12ab; //16进制

int c = 0123; //8进制

int d = 0b1110111 //2进制

System.out.println(a);

System.out.println(b);

System.out.println(c);

System.out.println(d);

int e = 0128; //超过范围 0~7

int f = 0x13efk;//超过范围 0~9 a~f

int g = 0b12 //超过范围

//int 类型除法计算结果是整除结果

int n = 7/2;

System.out.println(n);

//int 计算时候超过范围会溢出

int m = max + 1; //溢出为最小值

System.out.println(m);

最大值加1溢出为最小值的原理会在2进制课程中讲解。