# 入门

# 1. 执行流程

scala执行流程

# 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

编译区别

# 编译前

// 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

# 编译后

// 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

# 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

# 5. Scala 关键字

Scala 关键字

更新时间: 2021-05-25 22:22:53