Scala介绍之HelloWorld

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

下载并安装 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 (现在的Eclipse 插件支持的好像比较差劲)

将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写法:

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

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了,这样方法就简洁了许多。

这里只是比较了Scala的HelloWorld写法,通过这么简单的任务显然和Java进行代码简洁性的PK是分不出高下。如果想看到更精彩的对决,建议参考Scala官方网站上的文档:文档:http://www.scala-lang.org/node/197  例子:http://www.scala-lang.org/node/219 ,IBM的官方网站也有文章对Scala进行详细的介绍 http://www.ibm.com/developerworks/cn/java/j-scala/

时间: 2024-11-01 05:27:17

Scala介绍之HelloWorld的相关文章

向Java开发者介绍Scala

Scala结合了面向对象编程与函数编程思想,使用一种能够完全兼容Java.可以运行在Java虚拟机上的.简洁的语法.对于函数编程风格的支持,尤其是对于Lambda表达式的支持,能够有助于减少必须要编写的逻辑无关固定代码,也许让它可以更简单的关注要面对的任务本身,而相对的Java中对Lamdba表达式的支持要到预定于2012年发布的JavaSE8才会实现.本文就是对于Scala介绍. 相关厂商内容 Flash Builder 4.5高级版试用版免费高速下载 QClub(北京站)--<云计算与虚拟化

给Java开发者的Scala教程

author:Michel Schinz,Philipp Haller 1. 简介 本文将该要的介绍Scala语言和其编译.这里假设读者已经有一定的java开发经验,需要概要的了解他们可以用Scala 做些什么. 2. 第一个例子 我们用全世界最著名的代码来作为开始.虽然没什么用,但是可以很好地直观的了解Scala: object HelloWorld { def main(args: Array[String]): Unit = { println("Hello, world!") 

使用shell脚本运行scala

使用shell脚本运行scala #!/bin/sh exec scala "$0" "$@" !# object HelloWorld extends App{   println("Hello, world!")   println(args.toBuffer) } HelloWorld.main(args) 运行结果 [root@hadoop01 ~]# sh script.sh 测试 Hello, world! ArrayBuffer(测

学习Spark——那些让你精疲力尽的坑

这一个月我都干了些什么-- 工作上,还是一如既往的写bug并不亦乐乎的修bug.学习上,最近看了一些非专业书籍,写点小感悟,我刚稍稍瞄了下,最近五篇居然都跟技术无关,看来我与本行业已经是渐行渐远了. 所以,趁着这篇博客,重拾自己,认清自己,要时刻谨记我是一名码农.不过,摸着良心说,最近的技术方面也是有所感悟和积累的,比如如何写好设计文档,如何使用延时队列,如何使用防刷技术等等.当然了,今天我们还是沿着"学习Spark"这条路继续走下去. 这篇就介绍下自己遇到的各种坑.我不知道各位是否遇

Visual Studio 2008可扩展性开发(九):总结篇

可以说木匠让小时的我第一次感受到了专业,虽然那时还不知道专业这个词,尤其是 那些有年纪的老木匠,专注地在那锯木头.钉钉子.刨出带着香味的木花.他们有其他人 所没有的工具,更重要的是他们掌握了那些工具.VS正是我们手头的工具,它可以是锤子 ,也可以是锯.刨子,如果你能掌握它,而且要掌握的好. 我向来喜欢了解手头工具的方方面面(也许与我的思维方式有关,总想了解得更多) .我甚至觉得,对于最常用的工具,了解得越多越好--今天掌握了一个小功能,未来两 三年都会受益. 上面是我对工具的一点感想.VS越来越

Akka学习笔记(一):创建Hello World工程

Akka学习笔记(一):创建Hello World工程 创建工程 使用IDEA,创建SBT工程,在build.sbt中添加akka依赖: name := "My Project" version := "1.0" scalaVersion := "2.10.4" resolvers += "Typesafe Repository" at "http://repo.typesafe.com/typesafe/relea

nodejs addons-【新手提问】关于nodejs文档中addons hellowold运行不成功的问题

问题描述 [新手提问]关于nodejs文档中addons hellowold运行不成功的问题 nodejs文档中关于addons的介绍和helloworld代码链接如下:https://nodejs.org/api/addons.html 现在我完全照搬了官网代码,node-gyp build时,出现如下错误: ![图片说明](http://img.ask.csdn.net/upload/201506/30/1435646750_223011.jpg) 有没有有经验的网友知道为什么? 解决方案

介绍Java下一代语言Clojure、Scala和Groovy的共同点

在 上一期文章 中,我介绍了 Java 下一代语言用来消除 Java 语言中华而不实的东西和复杂性的创新方式.在这一期文章中,我将展示这些语言如何消除 Java 的一些瑕疵:异常.语句与表达式,以及围绕 http://www.aliyun.com/zixun/aggregation/19527.html">null 的边缘情况. 表达式 Java 语言从 C 语言那里继承的一项传承是区分编程语言 和编程表达式.Java 语句的示例包括使用 if 或 while 的代码行,以及使用 void

《Spark大数据分析:核心概念、技术及实践》Scala编程

本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第1章,第2节,作者穆罕默德·古勒(Mohammed Guller)更多章节内容可以访问"华章计算机"公众号查看. Scala编程 Scala是当前热门的现代编程语言之一.它是编程语言界的凯迪拉克.它是一门强大且优美的语言.学会了它,对你的职业生涯大有裨益. 用不同的编程语言都可以编写大数据应用程序,比如Java.Python.C++.Scala等.Hadoop本身就是用Java编写的.尽管大多数的