我们可以以两种模式执行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中的保留关键字,不应在标识符中使用。
以下是合法的字母数字标识符-
age, salary, _value, __1_value
以下是非法标识符-
$salary, 123abc, -salary
操作员标识符由一个或多个操作员字符组成,操作符是可打印的ASCII字符,如+,:,?,〜或#。
以下是合法的运营商标识符-
+ ++ ::: <?> :>
混合标识符由字母数字标识符组成,其后是下划线和运算符。
以下是合法的混合标识符-
unary_+, myvar_=
在这里,用作方法名的unary_ +定义了一元+运算符,而用作方法名的myvar_ =定义了赋值运算符(运算符重载)。
文字标识符是用反引号(`...`)括起来的任意字符串。
以下是合法的文字标识符-
`x` `<clinit>` `yield`
以下列表显示了Scala中的保留字。这些保留字不得用作常量或变量或任何其他标识符名称。
abstract | case | catch | class |
def | do | else | extends |
false | final | finally | for |
forSome | if | implicit | import |
lazy | match | new | Null |
object | override | package | private |
protected | return | sealed | super |
this | throw | trait | Try |
true | type | val | Var |
while | with | yield | |
- | : | = | => |
<- | <: | <% | >: |
# | @ |
Scala支持非常类似于Java的单行和多行注释,多行注释可以嵌套,但是必须正确嵌套,Scala编译器将忽略任何注释中可用的所有字符。
object HelloLearnfk { /* * 多行注释 */ def main(args: Array[String]) { //打印 Hello Learnfk //单行注释 println("Hello, Learnfk!") } }
Scala是一种面向行的语言,其中的语句可以用分号(;)或换行符终止,语句末尾的分号通常是可选的,另一方面,如果您在一行上编写多个语句,则需要使用分号。下面的语法是多个语句的用法。
val s="hello"; println(s)
包是命名的代码模块,如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)
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)
PPT设计进阶 · 从基础操作到高级创意 -〔李金宝(Bobbie)〕