Java中8种基本数据类型

分享到:
           

    Java有8种简单类型:四种整型、两种浮点型、一种字符型、一种用于表示true/false的布尔类型。表1列出了这8种简单数据类型。

表1 简单数据类型

数据类型 数据类型名称 大小(bits) 默认值
boolean 布尔类型 1 false
char 字符型 16 0
byte 字节型 8 0
short 短整型 16 0
int 整型 32 0
long 长整型 64 0
float 单精度浮点型 32 0.0
double 双精度浮点型 64 0.0

    在这些数据类型中,int、short、byte、long都是整型数据,而double和float是浮点型数据。char也可以看成是整型数据,但它是无符号的(没有负数)。

    1.布尔类型

    与C语言不同,Java定义了专门的布尔类型,用于表示逻辑上的“真”或“假”。布尔类型用关键字boolean来定义,数据只能取值true或false,注意不能用整型的0或1来替代。布尔类型不是数值型变量,它不能被转化成任意一种类型。布尔类型常常用在条件判断语句中。

    boolean sendMsg = true;
    boolean recieveMsg = false;

    注:这里的true和false是不能用双引号引起来的,如果用双引号引起来,就成了String类型的数据了。

    2.字符类型

    字符(Char)类型数据用来表示通常意义上的“字符”。字符常量是用单引号括起来的单个字符。

    Java与众不同的特征之一就是Java对各种字符的支持,这是因为Java中的字符采用16位的Unicode编码格式,Unicode被设计用来表示世界上所有书面语言的字符。Char简单类型保存一个16位的Unicode字符。Unicode字符通常用十六进制编码形式表示,范围是“\u0000”~“\Uffff”,其中前缀“\u”标志着这是一个Unicode编码字符,其中前256个(“\u0000”~“\u00FF”)字符与ASCII码中的字符完全重合。

    下面来看一个字符型数据的应用实例:

    源文件:CharTest.java

    public class CharTest {
        public static void main(String args[]) {
            char Msg1 = 'M';
            char Msg2 = '中';
            char Msg3 = '5';
            char Msg4 = '\u0001';
            System.out.println(Msg1);
            System.out.println(Msg2);
            System.out.println(Msg3);
            System.out.println(Msg4);
        }
    }

    char型数据只能记录单个的字符值,不能表述更多的文字信息,Java语言还提供了String类型——记录由多个字符组成的字符串。String常量的表达形式为双引号引起来的0~多个字符,例如:

    String s = "Java小能手";
    System.out.println("Hello,Android!");

    注:String不是基本数据类型,而属于引用类型。

    char类型的数据用单引号表示,注意它和String类型数据的区别,例如,“A”表示的是一个char类型的数据,而“A”表示的是一个String类型的数据,它们的含义是不同的。

    Java语言中还允许使用转义字符“\”来将其后的字符转变为其他的含义,例如,如果需要在输出结果时换行,应给编译器换行指令n,但是如果直接在程序中写System.out.println("n");则不会起到换行的效果。此时,需要在n之前输入“\”,这时编译器会知道“n”是被转义的字符。

    还有一种特殊情况,在Java中使用一个绝对路径:c:\learning\java,如果直接在程序中写String path = “c:\learning\java”,则不会得到你期望的结果,因为Java将“\”当成转义符了。所以,这时候应该这样写:

    String path = "c:\\learning\\java";

    这时,第一和第三个“\”都是表示转义符,表示后面的那个字符(此处都为“\”)有特殊的含义。

    3.整数类型

    整数类型分为4类:byte、short、int及long,它们的差别在于所占用的内存空间和表数范围不同。表2列出了这4种整数类型数据的存储空间及表数范围。

表2 整数类型的存储空间和表数范围

类 型 占用存储空间 表数范围
byte 1字节 -128 ~ 127
short 2字节 -215 ~ 215-1 (-32768~32767)
int 4字节 -231 ~ 231-1 (-2147483648~2147483647)
long 8字节 -263 ~ 263-1

    通常情况下,int是常用的一种整型数据,它也是Java中整数常量的默认类型。在表示非常巨大的数字时,则需要用到更大范围的long。对于前面3种整数数据类型的数据,只需要直接写出数据就可以了,而对于长整形(long)数据,需要在长整型数据后面加上L或l来表示。

    整型常量虽然默认为int类型,但在不超过其表数范围的情况下,可以将int类型的数据直接赋给char、byte、short类型的变量。

    下面是这些整形数据类型的一些例子:

    byte b = 12;
    short s = 12345;
    int i = 1000000;
    long l = 1000000000L;

    Java中允许使用3种不同的进制形式表示整型变量:八进制、十进制、十六进制。

    (1)十进制整数,如123、-456、0。

    (2)八进制整数,以0开头,如0123表示十进制数83,-011表示十进制数-9。

    (3)十六进制整数,以0x或0X开头,如0x123表示十进制数291,-0X12表示十进制数-18。

    4.浮点类型

    Java浮点类型有两种:float和double。Java浮点类型有固定的表数范围和字段长度。和整数类型一样,在Java中,浮点类型的字段长度和表数范围与机器无关。表3-5列出了符点类型数据的存储空间和表数范围。

表3 符点类型数据的存储空间和表数范围

类 型 占用存储空间 表数范围
float 4字节 -3.403E38~3.403E38
double 8字节 -1.798E308~1.798E308

    double类型的浮点类型数据正如它的名字所揭示的,它表示精度是float的两倍(因此也将double类型的数据称为双精度类型的数据)。表示float类型的数据需要在数字后面加上F,用于和double类型数据相区别。

    Java语言浮点类型常量有两种表示形式:

    ·十进制数形式,必须含有小数点,例如3.14、314.0、0.314。否则将被当做int型常量处理,例如314。

    ·科学计数法形式,如3.14e2、3.14E2、314E2。注意,只有浮点类型才能采用科学计数法表示,因此,314E2也是浮点型常量,而不是int型。

    Java语言的浮点型常量默认为double型,要声明一个常量为float型,则要在它数字的后面加f或F。例如:

    3.0表示一个double型常量,占64位内存空间。

    3.0f表示一个float型常量,占32位内存空间。

   热点链接:

   1、Java中的关键字有哪些
   2、Java标识符命名规则
   3、Java分隔符的使用
   4、Java中javadoc注释使用规则
   5、Java中的类和对象

更多新闻>>