# 入门
# 1. 执行流程

# 2. 注意事项
- Scala源文件以 “.scala" 为扩展名。
- Scala程序的执行入口是main()函数。
- Scala语言严格区分大小写。
- Scala方法由一条条语句构成,每个语句后不需要分号(Scala语言会在每行后自动加分号),这也体现出Scala的简洁性。
- 如果在同一行有多条语句,除了最后一条语句不需要分号,其它语句需要分号。
# 3. 编译后的区别
PS E:\scala> javac .\HelloJava.java
PS E:\scala> java HelloJava
Hello Java!
PS E:\scala> scalac .\HelloScala.scala
PS E:\scala> scala HelloScala
Hello Scala
# Scala 可以运行 Java ,但是 Java 无法运行 Scala
PS E:\scala> scala HelloJava
Hello Java!
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10

# 编译前
// HelloJava.java
public class HelloJava {
public static void main(String[] args) {
System.out.println("Hello Java!");
}
}
// HelloScala.scala
object HelloScala {
def main(args: Array[String]): Unit = {
println("Hello Scala")
}
}
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 编译后
// HelloJava.class
import java.io.PrintStream;
public class HelloJava
{
public static void main(String[] paramArrayOfString)
{
System.out.println("Hello Java!");
}
}
// HelloScala.class
import scala.reflect.ScalaSignature;
@ScalaSignature(bytes="xxx")
public final class HelloScala
{
public static void main(String[] args)
{
HelloScala$.MODULE$.main(args);
}
}
// HelloScala$.class
import scala.Predef.;
public final class HelloScala$
{
public static final MODULE$ = new ();
public void main(String[] args)
{
Predef..MODULE$.println("Hello Scala");
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# 4. Scala语言输出的三种方式
- 字符串通过+号连接(类似java)。
- printf用法 (类似C语言)字符串通过 % 传值。
- 字符串通过$引用(类似PHP)。
val name = "ApacheCN"
val age = 1
val url = "www.baidu.com"
println("name=" + name + " age=" + age + " url=" + url)
printf("name=%s, age=%d, url=%s \n", name, age, url)
println(s"name=$name, age=$age, url=$url")
1
2
3
4
5
6
2
3
4
5
6
# 5. Scala 关键字
