美文网首页Java学习
Java中的字面量

Java中的字面量

作者: FFJ | 来源:发表于2018-05-19 13:35 被阅读5次

    整数字面量

    八进制数 (octal, 基数是8):在值前面加一个前导0来表示,如04。

    十六进制 (hexadecimal, 基数是16) :在值前面加一个前导的0x或0X表示。相较于八进制,程序员对数字更常用的是十六进制,它清楚地与8的大小相匹配,如8,16,32,和64位。

    将一个整数字面量(特别强调,是字面量)赋给byte和short,如果字面量的值没有超过对应类型的范围就不会产生错误。如,

    byte b = 4;
    //byte b2 =128;     //提示类型不匹配
    short s = 5;
    //short s2 = 32768;     //提示类型不匹配
    

    其中对b和s的赋值是正确的,对b2和s2的赋值会报错,提示“类型不匹配”。

    但是,如果想指定一个long字面量,你需要明白地告诉编译器字面量的值是long型(或在字面量的后面加一个大写或小写的L)。

    如,

    //long j = 2147483648;      //提示 2147483648 超出范围
    
    long j2 = 2147483649L;
    

    对j的赋值,eclipse会提示“The literal 2147483648 of type is out of range”,而对j2 的赋值就是正确的。

    浮点型字面量

    科学记数法(Scientific notation)是浮点数加一表明乘以10的指定幂次的后缀,指数是紧跟E或 e 的一个十进制的数字,它可以是正值或是负值。例子如6.022E23,314159E-05,及2e+100。

    一个浮点数,不管实际数值有多大,都会被当作是double类型。为了指明一个浮点字面量,你必须在字面量后面加F或f。 也就是说字面量在float的表示范围内,如果要赋值给float型变量,也是需要强制类型转换的。如,

    //float f = 1.2;        //会提示“类型不匹配”。
    

    浮点运算是有误差的。如System.out.println(1.2-1.1);,输出的结果是“0.09999999999999987”,而不是“0.1”。

    布尔型字面量

    布尔型字面量仅仅有2个逻辑值,真或假。真值或假值不能用任何数字表示。如,

    //boolean bo = 1;       //会提示“类型不匹配”。
    

    字符字面量

    通过将字符包括在单引号之内来表示字符字面量。

    对于那些不能直接被包括的字符,有若干转义序列,这样允许你输入你需要的字符。

    转义序列 说明
    \ddd 八进制字符(ddd)
    \uxxxx 十六进制Unicode码字符
    ' 单引号
    " 双引号
    \ 反斜杠
    \r 回车键
    \n 换行
    \f 换页
    \t 水平制表符
    \b 退格

    对于 “\b”,表示回退一格,但是并不是删除一个字符。如,

    System.out.println("123\b456");
    System.out.println("123\b");
    

    第一行,输出的结果为“12456”,因为“\b”试程序在输出123后回退一格,再从该位置输出456,也就是4把3覆盖了。第二行输出的结果为“123”,因为虽然同样回退了一格,但是没有继续输入,也就不会覆盖3。

    对于“\t”,不是输出多少个空格这样,而是推到下一个固定位置,如,

    System.out.println("123\t456");
    System.out.println("12\t456");
    System.out.println("1\t456");
    
    运行结果:
    123  456
    12   456
    1    456
    

    对于“\r”,以前是打字机上面的回车(即把打字机的“车”从左侧返回到右侧固定位置),现在电脑上一般和“\n”换行一样。

    字符串字面量

    Java中的字符串字面量是将一系列字符用双引号括起来。

    在Java中,字符串实际上是对象类型,有广泛的字符串处理能力,而且功能既强又好用。

    相关文章

      网友评论

        本文标题:Java中的字面量

        本文链接:https://www.haomeiwen.com/subject/mkgodftx.html