2522天 Mr.贰呆

唯一自信的就是自己的人品。
寻求王者玩家一起开黑净化峡谷环境​​

【Android】学习札记第1章之基本数据类型

发布于 / 1346 次围观 / 0 条评论 / Android / 二呆 /

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)double

    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)

注意事项

  • 基本数据类型取值范围从小到大排序为boolean
  • boolean、byte、short、char、int、long、float、double占用内存大小分别为1、1、2、2、4、8、4、8
sitemap