1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Java 八种基本数据类型byte short int long float double boolean char以及类型转换运算

Java 八种基本数据类型byte short int long float double boolean char以及类型转换运算

时间:2022-09-10 02:31:15

相关推荐

Java 八种基本数据类型byte short int long float double boolean char以及类型转换运算

目录

八种基本类型byteshortintlongfloatdoublebooleanchar类型转换运算

八种基本类型

Java语言提供了八种基本类型。我们习惯上将其分为四大类型,其中四个整数类型,两个浮点类型,一个逻辑类型,还有一个字符类型。

注:数值后面的字母本身不区分大小,但 float 的 “l” 容易与数字 “1” 混淆,不容易分辩,因而改写为大写字母 “L”。

byte

byte 数据类型是8位、有符号的,以二进制补码表示的整数

最小值是 -128(-2^7)

最大值是 127(2^7-1)

默认值是 0

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

例子:

byte a = 100;byte b = -50;

short

short 数据类型是 16 位、有符号的以二进制补码表示的整数

最小值是 -32768(-2^15)

最大值是 32767(2^15 - 1)

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

默认值是 0

例子:

short s = 1000;short r = -20000;

int

int 数据类型是32位、有符号的以二进制补码表示的整数

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

最大值是 2,147,483,647(2^31 - 1)

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

默认值是 0

例子:

int a = 100000;int b = -200000;int c = 0x78ab;int d = 0b011;

long

long 数据类型是 64 位、有符号的以二进制补码表示的整数

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

最大值是 9,223,372,036,854,775,807(2^63 -1)

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

默认值是 0L

例子:

long a = 100000L;long b = -200000L;

float

float 数据类型是单精度、32位、符合IEEE 754标准的浮点数

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

默认值是 0.0f

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

例子:

float f1 = 234.5f;float f2 = 1234.5678;float f3 = 1e-12F;

double

double 数据类型是双精度、64 位、符合 IEEE 754 标准的浮点数

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

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

默认值是 0.0d

例子:

double d1 = 12.345;double d2 = 12.34D; double d3 = 1e12;

boolean

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

只有两个取值:true 和 false

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

默认值是 false

例子:

boolean off = true;

char

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

最小值是 \u0000(十进制等效值为 0)

最大值是 \uffff(即为 65535)

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

例子:

char c1 = 'A';char c2 = '家';char c3 = 0;char c4 = '\u0000';

类型转换运算

当把一种基本数据类型变量的值赋给另一种基本数据类型变量时会涉及数据转换(不包括逻辑类型)

类型按精度从低到高排列:

byte short char int long float double

当级别低的变量的值赋给级别高的变量时,系统会自动完成数据类型的转换:

int i = 10;float f = i;

如果输出 f 的值,结果将会是10.0

当级别高的变量的值赋给级别低的变量时,必须使用类型转换运算:

int i = (int)12.3;int x = (int)1234L; long l = (long)12.34F;

如果输出 i、x 和 l 的值,结果将会是12、1234 和 12

由结果可知,在转换后小数点后的数据未进行保留。所以在进行转换时运算结果的精度可能会低于原数据的精度

当 int 型常量赋值给一个 byte、short 和 char 变量时,如果超出其取值范围,那么在赋值时需进行类型转换运算,并且运算结果也将导致精度的丢失。

byte b = (byte) 128;byte b2 = (byte) (-129);

如果输出 b 和 b2 的值,结果将会是 -128 和 127

注:该文章主要参照 《Java 2实用教程(第6版)》以及 菜鸟教程: Java 基本数据类型

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。