java 语言有着与c语言类似的教强的数据处理能力,即它的数据类型和不同类型上的运算定义得较为齐全,java内部的数据类型可以分为四大类:整数、浮点数、字符、布尔型。其中整数和浮点数两大类根据长度和精度的不同,还可以进一步划分为byte、int、short、long、float、和double几个具体的类型。具体可参看下表:
java的基本数据类型
1.布尔型
布尔型只能有true和false两种取值,分别代表布尔逻辑中的“真”和“假”。
2.整型与字符型
整型就是数学中的整数了,字符型就是字符,'0'和'a',等都是字符。要注意两点:
1)在使用整数型变量的时候要注意其最大和最小取值范围,如果实际取值超过范围,则会出现溢出错误。尤其在做阶乘的时候要注意。如果机器不是很好,还要节约机器资源,只需要int型的地方,就不要用long型。
2)字符型变量的取值可以使用字符常量(用单引号阔起的单个字符),也可以用整数常数。例如,下面的两个语句的作用完全相同:
这就是计算机的一个机制问题了,它把字符做为整数型保存的。因为这样更方便。
3.浮点型
float和double都是浮点数据类型,程序中使用它们来代表小数。由于计算机采用浮点来计算小数,因此就叫浮点数据类型。也因为这个原因,计算机算出来的小数点后的n位(视具体的情况而定) ,与实际的数值总是会有一定的误差。它只会去尽量地接近它,所以位数越多约精确。float是32位,应该够用了,如果不够,那就只能用double了,但也要节约资源。
程序中的科学记数法是表示。例如 :3.14e3表示3,140,而3.14e-2表示0.0314。如果常数后面有一个'd'或者'd',那么就表示是double型的。付址的时候,应该这样写:
4.类型转换
java 程序中,常数或变量从一种数据类型转换到另外一种数据类型,称为类型转换。它有两种,一种是从低位转为高位的称为缺省类型转换。例如从char型转换到int型,从int型转换到long型,都是机器可以直接执行的。例如:
如果把高位转化为低位,就会出现问题了。这个道理都明白,怎么办?有需要的时候,例如要把float转化int型,那就只有通过强制类型转化了。例如:
当然要注意的是高位转化为地位的时候,数据的范围要在地位范围内,例如不能将一个很大的整数30000转化char型,因为它超过了范围。结果会出现错误!
好了,看一个例子吧:
java的基本数据类型
| 数据类型 | 关键字 | 占用比特数 | 取值范围 | 缺省数值 |
| 布尔型 | boolean | 8 | true,false | false |
| 字符型 | byte | 8 | -128--127 | 0 |
| 整数型 | char | 16 | 0--65535 | '/u0' |
| 短整型 | short | 16 | -32768--32767 | 0 |
| 整型 | int | 32 | -2147483648--2147483647 | 0 |
| 长整型 | long | 64 | -9.22e18--9.22e18 | 0 |
| 浮点型 | float | 32 | 1.4013e-45--3.4028e+38 | 0.0f |
| 双精度型 | double | 64 | 2.22551e-208--1.7977e+308 | 0.0d |
1.布尔型
布尔型只能有true和false两种取值,分别代表布尔逻辑中的“真”和“假”。
2.整型与字符型
整型就是数学中的整数了,字符型就是字符,'0'和'a',等都是字符。要注意两点:
1)在使用整数型变量的时候要注意其最大和最小取值范围,如果实际取值超过范围,则会出现溢出错误。尤其在做阶乘的时候要注意。如果机器不是很好,还要节约机器资源,只需要int型的地方,就不要用long型。
2)字符型变量的取值可以使用字符常量(用单引号阔起的单个字符),也可以用整数常数。例如,下面的两个语句的作用完全相同:
| char char_a='a'; char char_a=65; |
这就是计算机的一个机制问题了,它把字符做为整数型保存的。因为这样更方便。
3.浮点型
float和double都是浮点数据类型,程序中使用它们来代表小数。由于计算机采用浮点来计算小数,因此就叫浮点数据类型。也因为这个原因,计算机算出来的小数点后的n位(视具体的情况而定) ,与实际的数值总是会有一定的误差。它只会去尽量地接近它,所以位数越多约精确。float是32位,应该够用了,如果不够,那就只能用double了,但也要节约资源。
程序中的科学记数法是表示。例如 :3.14e3表示3,140,而3.14e-2表示0.0314。如果常数后面有一个'd'或者'd',那么就表示是double型的。付址的时候,应该这样写:
| float f1=3.14f; double f2=3.14d; |
4.类型转换
java 程序中,常数或变量从一种数据类型转换到另外一种数据类型,称为类型转换。它有两种,一种是从低位转为高位的称为缺省类型转换。例如从char型转换到int型,从int型转换到long型,都是机器可以直接执行的。例如:
| int i=5; long j=i; |
如果把高位转化为低位,就会出现问题了。这个道理都明白,怎么办?有需要的时候,例如要把float转化int型,那就只有通过强制类型转化了。例如:
| float f=3.14f; int i=(int)f; long j=5; int i2=(int)j; |
当然要注意的是高位转化为地位的时候,数据的范围要在地位范围内,例如不能将一个很大的整数30000转化char型,因为它超过了范围。结果会出现错误!
好了,看一个例子吧:
| import java.awt .* ; import java.applet.applet ; public class leixing extends applet { boolean b1=true; int x=10; char c=65; float f=3.14f; public void paint(graphics g) { g.drawstring ("布尔型:"+b1,2,20); g.drawstring ("整型:"+x,2,40); g.drawstring ("字符型"+c,2,60); g.drawstring ("浮点数据类型:"+f,2,80); } } |
闽公网安备 35060202000074号