Scala入门介绍:Hello World

开发 后端
本文呈现了了Scala的Hello World,与Java的Hello World写法做了一些比较。总的来说,Scala的语法和Java还是存在很大不同,在本文的Scala入门中可见一斑。

Scala语言的名称来自于“可伸展的语言”,Scala 是一种函数对象混合的语言。它可以运行在Java 平台上,Scala程序会被编译为JVM的字节码。它们的执行期性能通常与Java程序一致。Scala代码可以调用Java方法,访问Java字段,继承自Java类和实现Java接口。

51CTO编辑推荐:Scala编程语言专题

下载并安装 Scala

可以从 Scala 主页: http://www.scala-lang.org/ 下载 Scala 包,截止到目前为止,***的发行版是 2.7.5-final,同时也提供了IDE的支持插件,Eclipse的Scala的插件下载地址为:http://www.scala-lang.org/node/94,也可以通过Eclipse 的Update Manager 的方式下载:http://www.scala-lang.org/scala-eclipse-plugin

将Scala的下载压缩包解压,比如解压地址是:C:\Program Files\Java\scala-2.7.5,然后设置环境变量,将SCALA_HOME 设置为:C:\Program Files\Java\scala-2.7.5,将SCALA_HOME\bin 添加到Path环境变量中,打开命令行输入:scalac -version 测试,如果能够正确输入版本信息就OK了。

开始认识Scala

在计算机科学领域大家都达成了一个默契,通常都是使用“HelloWorld" 作为演示程序,这里也不例外,Scala的语法和Java还是存在很大不同,就像国外的一位大牛批判Scala是"为了不同而不同",为何不能像Groovy那样采用和Java接近的语法,如果你是从JDK 转到 Scala,学习Scala 的感觉可能会很不同,也可能有排斥它的情绪,其实,通常有这种感觉可能是因为对它不熟悉,如果深入了解背后的设计意图,可能会改变你现在的观点。

下面来看一下Java中的 HelloWorld写法:

  1. public class HelloWorld {  
  2.    public static void main(String[] args) {  
  3.        System.out.println("HelloWorld");  
  4.    }  
  5.  }  

Scala的HelloWorld :

  1. object HelloWorld {  
  2.     def main(args: Array[String]) {  
  3.        System.out.println("HelloWorld");  
  4.     }  
  5.  } 

这里的Scala的声明类的方式和Java不同,Scala通过object来定义,在方法块中使用“def“开始函数的定义,接着声明函数名,在括号中指定参数列表,参数的声明方式是参数名:参数的类型,方法的返回值类型是在函数名后的括号后面指定的,比如你声明一个无参数的A 方法,返回值类型为Int可以这样写:def A():Int = {//方法内容}; 上面的main函数显示的指定返回值,系统默认返回值类型为Unit,相当于Java中的Void,不过Unit返回类型在***的版本中已经置为@Deprecated 了,也就是说不用显示的指定返回类型Unit了,这样方法就简洁了许多。

【相关阅读】

  1. Scala初学者学习资料:main(String[])
  2. 影响Scala语言设计的因素列表
  3. 喜欢Scala编程的四个理由
  4. Scala融合面向对象和函数概念的方法
  5. Scala的语言特性——可伸展的语言
责任编辑:yangsai 来源: BlogJava
相关推荐

2012-02-20 14:26:48

JavaPlay Framew

2024-04-11 13:13:27

2010-08-31 14:01:23

iPhone

2014-12-19 10:07:10

C

2017-11-23 17:45:46

Yii框架IntelYii框架深度剖析

2009-08-11 10:32:23

什么是Groovy

2009-09-16 17:15:19

OSGi Bundle

2023-01-06 08:18:44

2023-09-04 07:30:03

Wasm汇编语言

2011-06-08 14:39:06

Qt 教程

2021-02-01 17:29:19

FlutterHello World开发

2023-05-23 08:01:10

Netty网络通信

2009-08-14 16:54:19

C# Hello Wo

2011-08-05 09:48:46

iPhone Interface

2014-04-11 11:36:42

NDKAndroid开发终端

2021-11-26 08:22:01

Java动态开发

2010-01-07 13:27:22

Linux驱动程序

2017-06-26 08:55:52

2013-12-12 17:30:03

Lua例子

2011-09-08 10:41:12

Node.js
点赞
收藏

51CTO技术栈公众号