📜  斯卡拉 |字面量

📅  最后修改于: 2022-05-13 01:54:18.695000             🧑  作者: Mango

斯卡拉 |字面量

可以分配给变量的任何常量值都称为字面量/常量。字面量是用于描述代码中的常量值的一系列符号。 Scala 中有许多类型的字面量,即字符字面量、字符串字面量、多行字符串字面量、布尔字面量、整数字面量和浮点字面量。

字面量的类型

  1. 整数字面量:
    当在整数末尾添加后缀 L 或 l 时,整数字面量通常是 Int 类型或 Long 类型。 Int类型和Long类型都是整数。
    笔记:
    • Int 类型的范围是(-231 到 230)。
    • Long 类型的范围是(-263 到 262)。
    • 当整数字面量的数字超出此范围时,就会出现编译时错误。

      整数字面量以两种方式指定:
    • 十进制字面量:
      这里,允许的数字是从 0 到 9。
      val x = 37
    • 十六进制字面量:
      这里,允许的数字是从 0 到 9,使用的字符是从 a 到 f。我们可以使用大写和小写字符。
      // The hexa-decimal number should be prefix
      // with 0X or 0x.
      val x = 0xFFF

    例子:

    // Scala program of integer
    // literals
      
    // Creating object
    object integer
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // decimal-form literal
            val a = 46
      
            // Hexa-decimal form literal
            val b = 0xfF
      
            // Displays results in
            // integer form
            println(a)
            println(b)
        }
    }
    
    输出:
    46
    255
    

    注意:字面量的八进制形式已过时。

  2. 浮点字面量:
    这种类型的字面量是 Double 类型,当在末尾添加后缀 F 或 f 时也是 Float 类型,我们甚至可以通过 d 或 D 后缀来指定 Double 类型。
    val x = 3.14159

    例子:

    // Scala program of floating
    // point literals
      
    // Creating object
    object double
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // decimal-form literal
            val a = 3.156
      
            // It is also a decimal 
            // form of the literal
            val b = 0123.34
      
            // Displays results
            println(a)
            println(b)
        }
    }
    
    输出:
    3.156
    123.34
    

    在这里,我们不能指定八进制或十六进制形式的字面量。

  3. 字符字面量:
    字符字面量要么是可打印的 uni-code字符,要么由转义序列表示。
    val x = 'b' 
    //character literal in a single quote.
    val x = '\u0051' 
    //uni-code representation of character literal,
    //This uni-code represents Q.
    val x = '\n' 
    //Escape sequence in character literals

    例子:

    // Scala program of character
    // literal
      
    // Creating object
    object literal
    {
      
        // Main method
        def main(args: Array[String])
        {
            // Creating a character literal
            // in single quote
            val x = 'b'
      
            // uni-code representation of
            // character literal
            val y = '\u0051'
      
            // Escape sequence in character
            // literals
            val z = '\n'
      
            // Displays results
            println(x)
            println(y)
            println(z)
        }
    }
    
    输出:
    b
    Q
    

    字符字面量用单引号括起来。

  4. 字符串字面量:
    字符串字面量是一系列字符,可以用双引号括起来。通过使用字符串插值可以顺利处理字符串字面量
    val x = "GfG"

    例子:

    // Scala program of literals
      
    // Creating object
    object literal
    {
      
        // Main method
        def main(args: Array[String])
        {
            // Creating a string 
            // literal
            val x = "GeeksforGeeks"
      
            // Displays string 
            // literals
            println(x)
        }
    }
    
    输出:
    GeeksforGeeks
    

    单行字符串字面量用引号括起来

  5. 多行字符串字面量:
    多行字符串字面量也是一系列字符,但它有多行。
    val x = """GfG"""

    例子:

    // Scala program of multi-line
    // string literals
      
    // Creating object
    object literal
    {
      
        // Main method
        def main(args: Array[String])
        {
            // Creating a multiple 
            // line string literal
            val x ="""GeeksforGeeks
            is a
            computer science 
            portal"""
      
            // Displays multiple
            // lines
            println(x)
      
        }
    }
    
    输出:
    GeeksforGeeks
    is a
    computer science
    portal
    

    多行字符串字面量用三引号括起来

  6. 布尔字面量:
    布尔字面量只允许两个值,即truefalse ,它们是布尔类型的成员。
    val x = true

    例子:

    // Scala program of Boolean
    // literals
      
    // Creating object
    object GfG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Assigning true
            val a = true
      
            // Assigning false
            val b = false
      
            // Displays results
            println(a)
            println(b)
        }
    }
    
    输出:
    true
    false