社区编辑申请
注册/登录
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
相关推荐

2022-04-11 11:38:44

Python代码游戏

2022-05-03 22:25:57

Python浏览器语言

2022-05-14 08:05:18

Linux内存管理

2022-05-16 10:49:28

网络协议数据

2022-02-24 16:39:41

OpenHarmonNiobe开发鸿蒙

2022-02-21 15:38:57

Openharmon操作系统鸿蒙

2022-05-07 15:31:19

物联网5G智慧城市

2022-04-15 10:11:03

机器学习scikit-lea

2022-04-26 09:23:07

Hare编程语言C

2022-04-27 08:22:43

Prometheus监控数据库

2022-04-12 08:43:21

Python内置模块

2022-04-12 11:20:11

C 语言Linux编程

2022-04-11 09:39:58

Linux进程编程

2022-04-13 08:20:32

DockerGo项目

2022-03-11 13:28:54

SSHLinux命令

2022-04-10 10:00:00

开发职业规划

2022-04-11 15:44:07

Linux人脸识别

2022-01-26 09:00:00

数据库SnowparkSQL

2022-04-06 08:29:26

Kafka通信中间件

2022-03-10 17:02:51

Rust单链表数据结构

同话题下的热门内容

Python 字符串总结,建议收藏!这份Java日志格式规范,拿走不谢!Mybatis-Plus官方发布分库分表神器,一个依赖轻松搞定!后端思维篇:如何应用设计模式优化代码改变 Python 对象规则的黑魔法 Metaclass几种限流算法的Go语言实现JMeter关联之正则表达式提取器在 Go 中实现一个支持并发的 TCP 服务端

编辑推荐

使用Kotlin做开发一个月后的感想面试官问你什么是消息队列?把这篇甩给他!五大自动化测试的Python框架图文详解两种算法:深度优先遍历(DFS)和广度优先遍历(BFS)2018年最流行的十大编程语言,其中包括你用的语言吗?
我收藏的内容
点赞
收藏

51CTO技术栈公众号