2.数据类型
Java 语言有着与C语言类似的教强的数据处理能力,即它的数据类型和不同类型上的运算定义得较为齐全,Java内部的数据类型可以分为四大类:整数、浮点数、字符、布尔型。其中整数和浮点数两大类根据长度和精度的不同,还可以进一步划分为byte、int、short、long、float、和double几个具体的类型。具体可参看下表:
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);
}
}
|
|