关于Java的乐彩平台开发数据类型的整理

乐彩平台开发Q1446595067数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式。接触每种语言的时候,都会存在数据类型的认识,有复杂的、简单的,各种数据类型都需要在学习初期去了解,Java是强类型语言,所以Java对于数据类型的规范会相对严格。数据类型是语言的抽象原子概念,可以说是语言中最基本的单元定义,在Java里面,本质上讲将数据类型分为两种:基本类型和引用数据类型。

  基本类型:简单数据类型是不能简化的、内置的数据类型、由编程语言本身定义,它表示了真实的数字、字符和整数。

  引用数据类型:Java语言本身不支持C++中的结构(struct)或联合(union)数据类型,它的复合数据类型一般都是通过类或接口进行构造,类提供了捆绑数据和方法的方式,同时可以针对程序外部进行信息隐藏。

Java语言支持的类型分为两类:基本类型(Primitive Type)和引用类型(Reference Type)

基本数据类型总共有8种,分为两类:boolean类型和数值类型。数值类型又分为整数类型和浮点类型。整数类型包括byte、short、int、long、char类型,浮点类型包括float、double类型。如图1所示(注意:char类型是字符型,实际上字符型也是一种能整数类型,相当于无符号的整数类型)

引用数据类型包括类、接口、数组类型,还有一种特殊的null类型。所谓引用数据类型就是对一个对象的引用,该对象包括实例和数组两种。我们最常见的String类型就是引用数据类型里的"类"的范畴。

空类型(null type)就是null值的类型。这种类型没有名称,也正是因为这样所以不可能声明一个null类型的变量或者转换到null类型。空引用(null)是null类型变量唯一的值。空引用(null)可以转换为任何引用类型。

                                               图1 Java基本数据类型

Java基本数据类型

整型

byte:(1个字节),一个byte类型整数在内存里占8位,表示数的范围是:-128~127  (-2^7)~(2^7-1)
short:(2个字节),一个short类型整数在内存里占16位,表示数的范围是:-32768~32767  (-2^15)~(2^15-1)
int:(4个字节),一个int类型整数在内存里占32位,表示数的范围是:  (-2^31)~(2^31-1)
long:(8个字节),一个long类型整数在内存里占64位,表示数的范围是:(-2^63)~(2^63-1)

int类型是最常用的整数类型,所以在通常情况下,一个整数值默认为int类型。

但是如果直接将一个较小的数值(在int的表示范围以内)赋值给byte或者short变量,系统会自动将这个数字当作byte或者short类型来处理。如果是一个较大的数值(超出Int的表示范围)时,系统不会将这个数值转换为long类型,需要自己转换,在该数字后面加L即可(L大小写都可以,为了更好区分建议使用L)。

byte a=56;
//将56赋值给a,此时56在int范围内,系统自动将该数字转化为btye类型,所以代码是正确的

long b=9999999999;
//将9999999999赋值给b 但是该数字大于int的范围,系统不会将其转化为long类型,所以代码是错误的

long c=9999999999L;
//此时在该数字后手动加L,即可强制转化为long类型。该代码正确

字符型

字符型(char)通常是用来定义单个的字符。字符型值必须要使用单引号(')括起来。由于Java使用16位的Unicode字符集作为编码方式,Unicode支持世界上所有书面语言符号,所以java支持各种语言的字符。

char c='a';
//char定义的值必须使用(')包围起来。

浮点型

单精度浮点数(float):(4个字节) 占64位,如果需要将一个浮点数当成float类型处理,须在在数值后面添加F或者f。

双进度浮点数(double):(8个字节)占32位,浮点类型的默认是double类型。

布尔型

布尔类型通常用作流程控制,其值只有2个:true 和 false。用于表示逻辑上的“真”和“假”,不能和其他数据类型转换。

boolean flag=true;
//定义a的值为true
while(flag){}  
//死循环

基本数据类型的转换

Java中基本数据类型的转换主要有两种方式:自动类型转换和强制类型转换。

自动类型转换

简单的说,将数值较小的数值或者变量直接赋值给另一个数表范围较大的变量时,系统可以进行自动转换。

byte a=6;
//定义一个byte类型的数字a
short b=a;
//byte类型可以自动转化为short类型
int  c=b;
//short类型可以自动转化为int类型

强制类型转换

简单的说,将大类型转换为小类型的时候需要,系统并不能自动转换,这时候需要我们强转。

int a=245;
short b=(short)a;
//大类型转小类型需要强转,格式如上
byte c=(byte)b;

由于是大类型转换为小类型,可能存在溢出。比如说byte类型的范围是-256~255 ,我用一个int类型的数字 258强转为byte类型,这个数字已经超出byte所能表示的范畴,所以会引起溢出,造成数据的丢失,这一点需要注意。

猜你喜欢

转载自blog.51cto.com/13878876/2147545