Scala - 基本语法

Scala - 基本语法 首页 / Scala入门教程 / Scala - 基本语法

我们可以以两种模式执行Scala程序:一种是交互模式,另一种是脚本模式。

互动模式

打开命令提示符,然后使用以下命令打开Scala。

\>scala

如果系统中安装了Scala,将显示以下输出-

Welcome to Scala version 2.9.0.1
Type in expressions to have them evaluated.
Type :help for more information.

在Scala提示符右侧键入以下文本,然后按回车键-

scala> println("Hello, Scala!");

它将产生以下输出-

Hello, Scala!

脚本模式

使用以下说明以脚本模式编写Scala程序,打开记事本,并在其中添加以下代码。

链接:https://www.learnfk.comhttps://www.learnfk.com/scala/scala-basic-syntax.html

来源:LearnFk无涯教程网

object HelloLearnfk {
   /*  
   *这将打印“Hello Learnfk”作为输出
   */
   def main(args: Array[String]) {
      println("Hello, Learnfk!") //打印 Hello Learnfk
   }
}

将文件另存为- HelloLearnfk.scala 。

打开命令提示符窗口,然后转到保存程序文件的目录," scalac "命令用于编译Scala程序,它将在当前目录中生成一些类文件,其中之一将称为 HelloLearnfk.class 。这是一个字节码,将使用" scala "命令在Java虚拟机(JVM)上运行。

使用以下命令来编译和执行Scala程序。

\> scalac HelloLearnfk.scala
\> scala HelloLearnfk
Hello, Learnfk!

Scala标识符

所有Scala组件都需要名称,用于对象,类,变量和方法的名称为标识符,关键字不能用作标识符,并且标识符区分大小写。 Scala支持四种类型的标识符

字母数字标识符

字母数字标识符以字母或下划线开头,其后可以是其他字母,数字或下划线。 '$'字符是Scala中的保留关键字,不应在标识符中使用。

以下是合法的字母数字标识符-

age, salary, _value,  __1_value

以下是非法标识符-

$salary, 123abc, -salary

运算符标识符

操作员标识符由一个或多个操作员字符组成,操作符是可打印的ASCII字符,如+,:,?,〜或#。

以下是合法的运营商标识符-

+ ++ ::: <?> :>

混合标识符

混合标识符由字母数字标识符组成,其后是下划线和运算符。

以下是合法的混合标识符-

无涯教程网

unary_+,  myvar_=

在这里,用作方法名的unary_ +定义了一元+运算符,而用作方法名的myvar_ =定义了赋值运算符(运算符重载)。

文字标识符

文字标识符是用反引号(`...`)括起来的任意字符串。

以下是合法的文字标识符-

`x` `<clinit>` `yield`

Scala关键字

以下列表显示了Scala中的保留字。这些保留字不得用作常量或变量或任何其他标识符名称。

abstractcasecatchclass
defdoelseextends
falsefinalfinallyfor
forSomeifimplicitimport
lazymatchnewNull
objectoverridepackageprivate
protectedreturnsealedsuper
thisthrowtraitTry
truetypevalVar
whilewithyield 
-:==>
<-<:<%>:
#@

Scala注释

Scala支持非常类似于Java的单行和多行注释,多行注释可以嵌套,但是必须正确嵌套,Scala编译器将忽略任何注释中可用的所有字符。

object HelloLearnfk {
   /* 
    * 多行注释
    */
   def main(args: Array[String]) {
      //打印 Hello Learnfk
      //单行注释
      println("Hello, Learnfk!") 
   }
}

换行符

Scala是一种面向行的语言,其中的语句可以用分号(;)或换行符终止,语句末尾的分号通常是可选的,另一方面,如果您在一行上编写多个语句,则需要使用分号。下面的语法是多个语句的用法。

val s="hello"; println(s)

Scala软件包

包是命名的代码模块,如Lift实用程序包是net.liftweb.util,如下所示:

package com.liftcode.stuff

可以导入Scala软件包,以便可以在当前编译范围中引用它们,以下语句导入scala.xml包的内容-

import scala.xml._

您可以从scala.collection.mutable包中导入单个类和对象,如HashMap-

import scala.collection.mutable.HashMap

您可以从一个包中导入多个类或对象,如,从scala.collection.immutable包中导入TreeMap和TreeSet-

import scala.collection.immutable.{TreeMap, TreeSet}

动态调用

启用动态调用的标签特征,此特征的x允许对方法名称(meth)和参数列表(args)的方法调用x.meth(args)以及对任意字段名称(field)的字段访问x.field。

foo.method("blah") ~~> foo.applyDynamic("method")("blah")
foo.method(x="blah") ~~> foo.applyDynamicNamed("method")(("x", "blah"))
foo.method(x=1, 2) ~~> foo.applyDynamicNamed("method")(("x", 1), ("", 2))
foo.field ~~> foo.selectDynamic("field")
foo.varia=10 ~~> foo.updateDynamic("varia")(10)
foo.arr(10)=13 ~~> foo.selectDynamic("arr").update(10, 13)
foo.arr(10) ~~> foo.applyDynamic("arr")(10)

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

软件测试52讲 -〔茹炳晟〕

深入拆解Tomcat & Jetty -〔李号双〕

.NET Core开发实战 -〔肖伟宇〕

Spark核心原理与实战 -〔王磊〕

高楼的性能工程实战课 -〔高楼〕

性能优化高手课 -〔尉刚强〕

手把手带你搭建秒杀系统 -〔佘志东〕

云时代的JVM原理与实战 -〔康杨〕

PPT设计进阶 · 从基础操作到高级创意 -〔李金宝(Bobbie)〕

好记忆不如烂笔头。留下您的足迹吧 :)