JAVA核心技术I---JAVA基础知识(数据类型)

一:基本类型

–boolean 布尔
–byte 字节
–short/int/long 短整数/整数/长整数
–float/double 浮点数
–char 字符

(一)boolean

只有true,或者false两种值
    public static void main(String[] args) {
        boolean a=1>2;
        System.out.println(a);
        a=true;    //false
        //a=TRUE/FALSE;    错误
    }

(二)byte

byte 字节, 1 byte = 8 bits (8位)
–存储有符号的,以二进制补码表示的整数
最小值-128,最大值127
byte 类型用在大型数组中可以显著节约空间,主要代替小整数,因为 byte 变量占用的空间只有 int 类型的四分之一
–byte在二进制文件读写中使用
    public static void main(String[] args) {
        byte a=127;
        System.out.println(a);    //127
        a++;    //128--->越界变为-128
        System.out.println(a);    //-128
        a--;    //-129越界,变为127
        System.out.println(a);    //127
    }

(三)整数类型

short,16位,2个字节,有符号的以二进制补码表示的整数
–(-32768~32767, -2^15~2^15-1)

int, 32位,4个字节,有符号的以二进制补码表示的整数
–(-2147483648~2147483647, -2^31~2^31-1)

long, 64位,8个字节,有符号的以二进制补码表示的整数
–-9,223,372,036,854,775,808(-2^63)~
9,223,372,036,854,775,8072^63 -1
不同类型赋值会自动转换

(四)浮点类型

float,单精度,32位,4个字节,符合IEEE 754标准的浮点
数,默认值0.0f。float的范围为1.40129846432481707e-45 ~ 
3.40282346638528860e+38 (无论正负)。

double,双精度,64位,8个字节,符合IEEE 754标准的浮
点数,默认值0.0d。double的范围为4.94065645841246544e-
324d ~ 1.79769313486231570e+308d (无论正负) 。

float和double都不能用来表示很精确的数字。
    public static void main(String[] args) {
        //float f=1.23;    //错误,必须在后面加上f
        float f=1.23f;
        
        double d=4.56d;
        double e=4.564667877777979464646;    //正确,可以省略d
        
        System.out.println(f);    //1.23
        System.out.println((double)f);    //1.2300000190734863小转大,精度缺失
        System.out.println((float)e);     //4.5646677会截断
        
        System.out.println(f==1.22999999999f);    //true
        System.out.println(f-1.2299999999f);    //0.0
        
        System.out.println(d==4.55999999999999999);    //true
        System.out.println(d-4.55999999999999999);    //0.0
    }

(五)字符类型

char是一个单一的 16 位 Unicode 字符
最小值是 u0000(即为0);
最大值是 uffff(即为65,535);
char 数据类型可以储存任何字
c中char是一字节存储,8位

(六)转换类型

char可以赋值给long和int,但是不能赋值给short和byte(编译错误)
char可以赋值给float和double
boolean与其他数据类型间没有兼容性

原文地址:https://www.cnblogs.com/ssyfj/p/10188775.html