📜  Scala-基本语法(1)

📅  最后修改于: 2023-12-03 15:19:58.478000             🧑  作者: Mango

Scala-基本语法

Scala是一种面向对象的编程语言,同时也是一种函数式编程语言。它可以与Java代码互操作,并且在语法、内容和目标等方面很大程度上是兼容Java。Scala由EPFL的Martin Odersky提出,在2012年被认定为被Oracle认定为Java Community Process的一员。Scala语言旨在提高Java的代码表现力,同时也可以作为独立的编程语言或者与Java同时使用。下面我们来了解一下Scala-基本语法。

数据类型

Scala具有多种数据类型,包括数字类型、字符类型、布尔类型等。下面是常见的Scala数据类型:

数字类型
  • Byte:8位有符号二进制补码整数。范围:-128到127.
  • Short:16位有符号二进制补码整数。范围:-32768到32767。
  • Int:32位有符号二进制补码整数。范围:-2147483648到2147483647。
  • Long:64位有符号二进制补码整数。范围:-9223372036854775808到9223372036854775807。
  • Float:32位IEEE 754单精度浮点数。
  • Double:64位IEEE 754双精度浮点数。
字符类型
  • Char:16位无符号Unicode字符,范围为U+0000到U+FFFF。
布尔类型
  • Boolean:true或false。
字符串类型
  • String:一串字符。可以使用最常见的转义字符,例如:\n,\r,\t,\b,\(反斜线),f(换页)。
变量

在Scala中,可以使用var或val关键字来定义一个变量。使用var定义变量表示它是可变的,在对变量进行声明之后,可以更改它的值。使用val定义变量表示它是不可变的,即一旦通过赋值指定了变量的值,则不能更改变量的值。

  var myVar: String = "Hello, World!"  //声明可变变量
  myVar = "Scala is fun!"             //更改变量值
  val myVal: String = "Hello, Scala!" //声明不可变变量
运算符

Scala支持大部分运算符,例如算术运算符、比较运算符、逻辑运算符等。如果您熟悉Java,则可以轻松应用这些运算符。下面是常见的运算符:

算术运算符

| 运算符 | 描述 | 例子 | | :-----: | :--: | :--: | | + | 加 | 1 + 1 = 2 | | - | 减 | 2 - 1 = 1 | | * | 乘 | 2 * 2 = 4 | | / | 除 | 4 / 2 = 2 | | % | 取余 | 5 % 2 = 1 | | ++ | 自增 | i = i + 1 或 i += 1 | | -- | 自减 | i = i - 1 或 i -= 1 |

比较运算符

| 运算符 | 描述 | 例子 | | :-----: | :--: | :--: | | == | 等于 | 1 == 1 | | != | 不等于 | 1 != 2 | | > | 大于 | 2 > 1 | | < | 小于 | 1 < 2 | | >= | 大于等于 | 2 >= 2 | | <= | 小于等于 | 1 <= 2 |

逻辑运算符

| 运算符 | 描述 | 例子 | | :-----: | :--: | :--: | | && | 逻辑与 | true && false | | || | 逻辑或 | true || false | | ! | 逻辑非 | !true |

控制语句

Scala支持大部分的控制语句,例如if/else语句、while语句、for循环语句等。下面是一些常见的控制语句:

if/else语句
  var x = 10
  if (x < 20){
    println("x is less than 20")
  } else {
    println("x is greater than or equal to 20")
  }
while语句
  var x = 0
  while (x < 5) {
    println(s"x = $x")
    x = x + 1
  }
for循环语句
  var a = Array("apple", "banana", "orange")
  for (i <- a) {
    println(i)
  }
函数

Scala的函数是一等公民,它可以像变量一样作为参数传递给函数,或作为函数的返回值。函数可以使用关键字def定义。下面是一个简单的函数定义:

  def add(a: Int, b: Int): Int = {
    var sum = a + b
    return sum
  }

以上函数接受两个整数作为参数,并返回它们的和。注意,在Scala中,您必须在函数定义的末尾指定返回类型。

类和对象

Scala是一种对象导向编程语言。在Scala中,您可以创建一个类,并在之后创建它的多个实例。您还可以定义一个对象,则只有一个实例可以创建,并在应用程序范围内使用。下面是一个简单的Scala类定义:

  class Employee(id: Int, name: String) {
    def showDetail() = {
      println(s"ID: $id, Name: $name")
    }
  }

  var emp1 = new Employee(100, "John Doe")
  var emp2 = new Employee(200, "Jane Doe")

  emp1.showDetail() //输出:ID: 100, Name: John Doe
  emp2.showDetail() //输出:ID: 200, Name: Jane Doe

以上代码定义了一个名为Employee的类,包含两个参数:id和name。还定义了一个showDetail的方法,该方法用于显示员工的详细信息。你可以使用new关键字创建该类的实例,并使用showDetail方法来显示员工的详细信息。

总结

在Scala中,有许多可以覆盖Java中相同的基本语法和语言结构。令Scala非常强大的是其支持函数式编程,使得许多编程任务更加容易和优雅。现在您已了解了Scala的基本语法,可以开始探索更多高级Scala特性,更好地开发它的功能。