Java数据类型

Posted on 2016-10-28 12:59  fkr  阅读(171)  评论(0编辑  收藏  举报
一、数据类型分类
     java是强类型语言;
     强类型的含义:
          (1)所有的变量必须先声明、后使用;
          (2)指定类型的变量只能接受类型与之匹配的值
     java支持的类型分为两类:基本数据类型<Primitive Type>和引用数据类型<Reference Type>
           基本数据类型:boolean类型和数值类型
                         整数类型:byte short int long char
                         提示:char代表字符类型,实际上也是一种整数类型,相当于无符号类整数类型;
                         浮点数类型:float double
           引用类型:类,接口和数组类型。还有一种是特殊的null类型,
                     引用类型就是对一个对象的引用,对象包括实例和数组两种,实际上引用变量就是指针变量
                     null类型就是空类型,这类型没有名称
           注意:空引用null只能转换成引用类型,不能转换成基本类型               
                         
二、基本数据类型
     整数类型
          (1)byte:一个byte类型整数在内存中占8位,表示范围是-128 -- 127 ;-2^7 -- 2^7 - 1;
          (2)short:一个byte类型整数在内存中占16位,表示范围是-32768 -- 32767 ;-2^15 -- 2^15 - 1;  
          (3)int:一个byte类型整数在内存中占32位,表示范围是-2147483648 -- 2147483647 ;-2^31 -- 2^31 - 1;  
          (4)long:一个byte类型整数在内存中占64位,表示范围是-9223372036854775808--9223372036854775807 ;-2^63 -- 2^63 - 1;     
          
           int是最常用的类型,因此通常情况下,直接给出一个整数默认值为int类型,有两种情况必须指出:
             1.如果直接将一个比较小的整型值(byte或short类型范围内的)赋给一个byte或short变量,系统会自动把他当做一个byte或short处理
             2.如果一个巨大的数整数值(超出int范围)时,java不会自动的把这个整数值当成long来处理,需要在此数字后面加上L 
          例如: int ll = 1234567899789789789;  报错信息:The literal 1234567899789789789 of type int is out of
               java中整数有四种表示方式,十进制,二进制,八进制,十六进制;二进制已0B或0b开头;八进制已0开头;十六进制以0X或者0开头
          注意:二进制默认占32位,其中第32位是符号位,如果在二进制整数后面加l或L后缀,则这个二进制整数默认64位,第64位是符号位
     字符类型
          字符类型通常为单个字符,字符类型值必须使用单引号 ''括起来,
          java语言采用16位的Unicode字符集作为编码格式,而Unicode被设计成支持世界上所有书面语言的字符,包括文字符,
          因此java语言支持各种语言字符;
          字符值的三种形式;
               (1)通过单引号括起来的单个字符值
               (2)通过转义字符表示特殊的字符型,例如'\n','\t'等
               (3)直接通过Unicode值来表示字符型值,格式为'\uXXXX',其中XXXX表示一个十六进制的整数。
               例如:
                         \b   退格符   '\u0008'
                         \n   换行符   '\u000a'
                         \r   回车符   '\u000d'
                         \t   制表符   '\u0009'
                         \"   双引号   '\u0022'
                         \'   单引号   '\u0027'
                         \\   反斜线   '\u005c'
               字符集采用十六进制编码格式,范围是'\u0000'-'\uffff',共可以表示65536个字符,其中前256个字符和ASCII码的字符完全重合
               提示:char类型的变量、值完全可以参与加、减、乘、除等数学运算,相当于一个无符号整数;
     浮点类型
          (1)float:第一位是符号位,接下来8位是指数位,在接下来是23位
          (2)double:第一位是符号位,接下来11位指数位,接下来52位是尾数位
          java语言中浮点数的表现形式:(1)十进制
                                     (2)科学计数法
          在数值中,如果位数较多,可以参用_来分割数字,,更直观的分辨数值的位数;     
     boolean类型
          true和false;
          数据类型的默认值:byte short int 默认值为0
                            float double默认值为0.0
                            boolean默认值为false