Java基本数据类型
这节博客将向大家讲解java的数据类型,在讲解数据类型前,先来看一下变量。
(一)变量
java语言是强类型语言,强类型包含两方面的含义。
1:所有的变量必须先声明,后使用。
2:指定类型的变量只能接受类型与之匹配的值。
这意味着每个变量和每一个表达式都有一个在编译的时候就确定的类型。类型限制了一个变量能被赋的值,限制了一个表达式可以产生的值,限制了这些值上可以进行的操作,并确定了这些操作的含义。
强类型语言可以在编译的时候进行更严格的语法检查,从而减少编程错误。
声明变量的语法如下:
type varName [=初始值];
type变量的类型。
varName 变量的名字。
后面初始值既可以指定,也可以不指定。随之变量的作用范围不同(成员变量和局部变量),变量还可以使用其它修饰符。不论是哪种变量,定义变量必须要指定变量类型和变量名两个部分。
定义变量是时候,变量类型需要时java支持的类型。也就是说,当创建变量的时候,需要在内存中申请空间。
内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。
(二)java数据类型分类
每种语言都有它所支持的数据类型、运算符和控制结构。
Java语言中既有基本数据类型,又有引用数据类型,同时支持丰富的运算符。
1 基本数据类型
2 引用数据类型
我们可以看下面的图:
(三)
整数类型:
1 byte
byte 数据类型是a8位、有符号的,以二进制补码表示的整数;
最小值是 -128**(-2^7)**;
最大值是 127**(2^7-1)**;
默认值是 0;
byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;
2 short**:**
short 数据类型是 16 位、有符号的以二进制补码表示的整数
最小值是 -32768**(-2^15)**;
最大值是 32767**(2^15 - 1)**;
Short 数据类型也可以像 byte 那样节省空间。一个short变量是int型变量所占空间的二分之一;
默认值是 0;
3 int
int 数据类型是32位、有符号的以二进制补码表示的整数;
最小值是 -2,147,483,648**(-2^31)**;
最大值是 2,147,483,647**(2^31 - 1)**;
int是最常用的整数类型,一般地整型变量默认为 int 类型。
默认值是 0 ;
4 long**:**
long 数据类型是 64 位、有符号的以二进制补码表示的整数;
最小值是 -9,223,372,036,854,775,808**(-2^63)**;
最大值是 9,223,372,036,854,775,807**(2^63 -1)**;
这种类型主要使用在需要比较大整数的系统上;
默认值是 0L;
(四)浮点型
浮点型的数就是通常所说的实数。在Java中有两种浮点类型的数据:float型和double型。这两种类型的数据在JVM中所占的位数不同,float型占32位,double型占64位。因此,通常将float型称为单精度浮点型,将double型称为双精度浮点型。它们符合IEEE-754标准。
1 float:
float 数据类型是单精度、32位、符合IEEE 754标准的浮点数;
float 在储存大型浮点数组的时候可节省内存空间;
默认值是 0.0f;
对于float型数值,第一位是符号位,接下来8位表示指数,在接下来的23位表示位数。
浮点数不能用来表示精确的值,如货币;
2 double:
double 数据类型是双精度、64 位、符合IEEE 754标准的浮点数;
浮点数的默认类型为double类型;
对于double型数值,第1位是符号位,接下来11位表示指数,在接下来的52位表示位数。
double类型同样不能表示精确的值,如货币;
默认值是 0.0d;
System.out.println(f1);
3 特殊的浮点数值
正无穷大:POSITIVE_INFINITY
负无穷大:NEGATIVE_INFINITY
非数:NAN P54也读一下:
(五)boolean:
1
boolean数据类型只有一个boolean类型,表示一位的信息,用来表示逻辑的真或者假。
只有两个取值:true 和 false;不能用0或者非0来代表。其它基本数据类型的值也不能转换成为boolean型。
虽然Booleanl类型的值仅仅需要一位,大部分计算机在分配内存的时候分了最小的内存单元一个字节,也就是8位。
这种类型只作为一种标志来记录 true/false 情况;
默认值是 false;
char:
Java语言使用Unicode(统一码)为字符编码,它是由Unicode Consortium建立的一种编码方案。char类型是一个单一的 16 位 Unicode 字符;新版Unicode 4.0标准使用UTF-16为字符编码,可以表示更多的字符,它可以表示世界各国的语言符号,包括希腊语、阿拉伯语、日语以及汉语等。ASCII码字符集是Unicode字符集子集。
java语言里面:
最小值是 \u0000(即为0);
最大值是 \uffff(即为65,535);
char 数据类型用来储存字符;
字符型值的表示:
1 直接通过单个字符来指定字符型值。
2 通过转义字符表示特殊字符型值。
3 直接使用unicode值来表示字符型值,格式’\uXXXX’,其中XXXX代表一个16进制的整数。
字符型变量使用char定义,在内存中占16位,表示的数据范围是0~65535。
还没有评论,来说两句吧...