scala自学日记(3)-编写第一个Hello world!
来源:互联网 发布:印度占星 软件 编辑:程序博客网 时间:2024/05/20 09:07
上一章我们介绍了然后使用解释器来编写简单的scala代码,下面我们就介绍下如何使用eclipse编写一个Hello word!
打开eclipse.新建一个scala Project.第一次新建的话应该在other里面,名称随便,然后新建一个scala Object ,名称叫"HelloWorld".
scala和java不同,文件的名称不必和Object的名称相同.
代码如下:
package com.scala.demoobject HelloWorld { def main(args:Array[String]) { println("Hello world!") }}运行之后就会显示:
Hello world!
看到了吧!很简单,里面看不懂的地方在上一章里面都有牵涉到,在看看上一章吧!
http://blog.csdn.net/y3wegy/article/details/8024412
在此补充下:
scala由于是兼容的,所以scala和java是可以互相访问的,
Scala的一个强项在于可以很简单的于已有的Java代码交互,所有java.lang中的类都已经被自动导入了,而其他的类需要显式声明导入。
来看看演示代码吧。我们希望对日期进行格式化处理,比如说用法国的格式。
Java类库定义了一系列很有用的类,比如Date和DateFormat。由于Scala于Java能够进行很好的交互,我们不需要在Scala类库中实现等效的代码,而只需直接吧Java的相关类导入就可以了
package com.scala.demoimport java.util.{Date, Locale} import java.text.DateFormatimport java.text.DateFormat._object LocalDate { def main(args:Array[String]) { val now=new Date val df=getDateInstance(LONG,Locale.FRANCE) println(df format now ) //==df.format(now) ...奇怪的语法 }}Scala的import语句看上去与Java的非常相似,但是它更加强大。你可以使用大括号来导入同一个包里的多个类,就像上面代码中第一行所做的那样。另一个不同点是当导入一个包中所有的类或者符号时,你应该使用下划线(_)而不是星号(*)。这是由于星号在Scala中是一个有效的标识符(例如作为方法名称)。这个例子我们稍后会遇到。
第三行的import语句导入了DataFormat类中的所有成员,这使得静态方法getDateInstance和静态变量LONG可以被直接引用。
在main函数中,我们首先建立了一个Java的Date实例。这个实例默认会包含当前时间。接下来我们一个使用刚才导入的静态函数getDateInstance定义了日期格式。最后我们将使用DataFotmat格式化好的日期打印了出来。
最后一行代码显示了Scala的一个有趣的语法:只有一个参数的函数可以使用下面这样的表达式来表示:
df format now
其实就是下面的这个冗长的表达式的简洁写法
df.format(now)
这看起来是一个语法细节,但是它导致一个重要的后果,我们将在下一节进行说明。
另外,我们还应当注意到Scala中可以直接继承或者实现Java中的接口和类。
看过了上面的Scala例子以及Scala与Java交互的方式,下文将介绍Scala的对象。
- scala自学日记(3)-编写第一个Hello world!
- scala(3)-编写第一个Hello world!
- 第一个模块,hello world 驱动编写
- Hello World!编写第一个 OSGi 应用程序
- 编写kernel第一个Hello World
- 编写第一个Java程序'Hello world'(Windows XP)
- 编写第一个C语言程序-Hello World
- 使用Eclipse编写第一个“Hello World!”程序
- ExtJs5.0 入门 编写第一个网页Hello World
- 编写Backbone.js的第一个应用,相当于Hello World!
- Linux下编写第一个c语言程序hello world
- 3.1 用Android Studio编写第一个应用程序Hello World
- 第一个驱动程序---Hello world
- 第一个“Hello World”程序
- 第一个atlas "Hello world"
- 第一个dojo hello world
- 第一个dojo hello world
- 第一个dojo hello world
- 使用上下文菜单ContextMenu
- BGR to RGB排列
- [NIO]利用内存映射文件以及普通通道进行文件拷贝效率分析
- paip.FTP服务端及客户端的使用总结
- siteScope监控基础指标原理
- scala自学日记(3)-编写第一个Hello world!
- Python文件夹与文件的操作
- 黑马程序员_JavaSE基础18 之 Map集合 泛型
- java双缓冲技术
- js刷新界面
- myeclipse ctrl+t 快捷键
- Windows下智能卡开发
- git push相关操作
- TextView属性详解