java中数据类型包括懋鲕壶迎基本类型和引用类型,基本类型包括byte、short、int、long、float、double、char、boolean,其中取值范围从小到大排序为boolean<byte<short<char<int<long<float<double。
工具/原料
JDK、eclipse、android SDK、ADT
一、基本数据类型的种类
1、整型:(1犬匮渝扮)byte byte是用8个0和1组成的1字节数据大小的单位,占用内存大小为1字节,注并不是占用硬盘大小1栓疠瑕愤字节,取值范围是10000000~01111111(-128~127)。如00000000=0,11111111=-1。 换算: 1byte=8bit,1Kbyte=1024byte,1Mbyte=1024Kbyte,1Gbyte=1024Mbyte,1Tbyte=1024Gbyte,1Gbyte=1024Tbyte,1Gbyte=1024Tbyte(2)short short表示短整型数字,占用内存大小是2字节,取值范围是-2^15~2^15-1。(3)int int表示整型数字,占用内存大小是4字节,取值范围是-2^31~2^31-1,int型的数字比byte、short、char的范围都大。(4)long long表示长整型数字,占用内存大小是8字节,取值范围是-2^63~2^63-1。
2、浮点型(1)float float表示单精度浮点型小数,占用内秽颢擤崮存大小是4字节,取值范围比int大的多。(2)dou芟鲠阻缒ble double符合美国工业电器协会浮点数表示规范,表示双精度浮点型小数,占用内存大小是8字节,取值范围比float更大。
3、字符型和布尔型:钱砀渝测(1)char char表示字符或字符型数字编码,可以进行数字运算,占用内存大小是2字节,取值范围是[00000000 00000000,11111111 11111111]([0,65535],[0,2^16-1])(2)boolean boolean是通过true和false表示真假用在判断语句中的数据类型,占用内存大小是1字节。
二、基本数据类型的字面值
1、整数的字面值是int类型:若数字在相应整型允许的范围之内,则直接赋值;反之超过范围,则不能赋值。
2、浮点数的字面值是double类型
3、字面值后缀:L->long、F->float、D->Double。
4、字面值前缀:0x->16进制、0->8进制、\u->char类型16进制。
三、基本数据类型的运算规则
1、运算结果的数据类型与运算项中范围最大的类型一致。如:3/2==1,3D/2==1.5(因double比int范围大所以结果是double 的)
2、byte、short、char三种范围比int小的整数会先自动转换成int整数。如:byte a=2;byte b=3;int c=a+b;
3、整数运算溢出,如:int a=Integer.MAX_VALUE;a=a+1;//超出int最大值,得到a为最小值,不报错但运算错误。
4、浮点数运算不精确如:2-1.9==0.10000000000000009。所以浮点数运算并不精确,但有其他办法获得精确的结果。
5、浮点数的特殊值Infinity无穷大:通过3.14/0或Double.MAX_VALUE*2得到;NaN非数字:通过负数开平方得到。
四、基本数据类型转换
1、自动转换 范围小的类型转换成范围大的类型。 byte a=127; int b=a; 原理:在内存中01111111在前边加3字节的0或1就可转换完毕
2、强制转换 范围大的类型转换成范围小的类型。 int a=255; byte b=猾诮沓靥(byte)a;原理:把前边3字节都强制去掉,最后结果是-1,转换完毕。
五、基本数据类型运算符
1、算数运算符+ - * / %
2、比较运算符> >= < <= == !=
六、基本数据类型练习及作业
1、变量交换:将用户输入的2个数字交换。
2、求自由落体距离:已知自由落体的时间,求距离。
3、牛郎织女相会,需要多少只喜鹊。(牛郎织女星相距16.4光年,光速299792458米/秒,喜鹊0.46米)
4、计算贷款月还款额。用户输入:p(万)、r(年利率)、m(年)公式:(p*r*(1+r)^m)/((1+r)^m-1)。p - 本金(元)r - 月利率m - 贷款月数
5、用户输入的年,是否是闰年。(能被4整除并且不能被100整除,能被400整除)例子:输入年号:2001,输出:2001年不是闰年。
6、作业:用户输入半径,求圆的周长和面积。(周长=2πr,面积=πr^2)