Scala学习(一):Scala简介与Hello World!

Stella981
• 阅读 883

一.Scala是什么

Scala是一门多范式的编程语言,类似于Java。设计初衷是实现可伸缩的语言、并集成面向对象编程和函数式编程的各种特性。

二.环境准备(以Windows下安装Scala为例)

1.官网:http://www.scala-lang.org/  下载安装包:

Scala学习(一):Scala简介与Hello World! Scala学习(一):Scala简介与Hello World!

2.打开安装包,点击开始安装,点击next:

Scala学习(一):Scala简介与Hello World!

3.同意许可协议,点击next:

Scala学习(一):Scala简介与Hello World!

4.选择安装位置(默认安装C盘,可自行改变),点击next,install,完成安装:

Scala学习(一):Scala简介与Hello World! Scala学习(一):Scala简介与Hello World!

5.配置Scala环境变量,这样可以直接从命令行访问,配置过程和JDK类似

(1)在系统变量中新增SCALA_HOME变量,值是安装位置,这里是:F:\Program Files (x86)\scala

Scala学习(一):Scala简介与Hello World!

(2)编辑Path变量,在后面追加如下内容:**;%SCALA_HOME%\bin** 此处注意前面有一个分号

(3)保存更改,重新打开命令窗口,输入:scala –version,如果出现相关版本信息,则安装成功~

Scala学习(一):Scala简介与Hello World!

三.第一个Hello World

(一)命令行交互方式:

1.打开Scala命令行界面,输入以下内容:

scala> object HelloWorldTest{
     |   def main(args:Array[String]){
     |     println("Hello,Xiaotang!");
     |   }
     | }
defined object HelloWorldTest

Scala学习(一):Scala简介与Hello World!

上面的代码,包含一个main方法,打印输出"Hello,Xiaotang!"问候语

2.运行上面代码的结果:

scala> HelloWorldTest.main(null);
Hello,Xiaotang!

Scala学习(一):Scala简介与Hello World!

(二)文件代码运行方式:

使用任何文本编辑器,写好上面的代码,保存为HelloWorldTest.scala文件,下面以Sublime编辑器为例:

Scala学习(一):Scala简介与Hello World! Scala学习(一):Scala简介与Hello World!

打开命令行:

1.编译Scala文件:scalac HelloWorldTest.scala

编译成功后,多了class文件:

Scala学习(一):Scala简介与Hello World!

2.运行Scala应用:scala HelloWorldTest

运行结果:Scala学习(一):Scala简介与Hello World! 与上面命令行交互模式下的结果是一样的,运行成功~
注:

a.了解Java的童鞋可能会感到很熟悉,编译Java文件使用 javac 命令,运行Java文件生成的class文件使用 java 命令.

b.使用Scala来运行应用时,无需再调用HelloWorld.main(null),Scala 会自动执行指定类的main方法.

(三)Scala代码嵌入到脚本语言中运行方式(Linux下):

1.编写 runScalaTest.sh 脚本文件:

#! /bin/sh
exec scala "$0" "$@"
!#
object HelloWorldTest extends App{
  println("Hello,Xiaotang");
}
HelloWorldTest.main(null)

Scala学习(一):Scala简介与Hello World! Scala学习(一):Scala简介与Hello World!

注:【Linux中Shell变量 $#,$@,$0,$1,$2的含义】

$0
Shell本身的文件名

$@
所有参数列表。
如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。

$$
Shell本身的PID(ProcessID)
$!
Shell最后运行的后台Process的PID
$?
最后运行的命令的结束代码(返回值)
$-
使用Set命令设定的Flag一览
$*
所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数
$#
添加到Shell的参数个数
$1~$n
添加到Shell的各参数值。$1是第1参数、$2是第2参数…,以此类推等等.

2.运行脚本:./runScalaTest.sh

若报如下错误:Scala学习(一):Scala简介与Hello World!

找不到scala的路径,这时需要指定scala的路径,如下:

Scala学习(一):Scala简介与Hello World!

3.运行上面脚本的结果:

Scala学习(一):Scala简介与Hello World! 结果与上面两种方式的结果是一样的,运行成功~

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Java修道之路,问鼎巅峰,我辈代码修仙法力齐天
<center<fontcolor00FF7Fsize5face"黑体"代码尽头谁为峰,一见秃头道成空。</font<center<fontcolor00FF00size5face"黑体"编程修真路破折,一步一劫渡飞升。</font众所周知,编程修真有八大境界:1.Javase练气筑基2.数据库结丹3.web前端元婴4.Jav
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
乐和 乐和
2星期前
零基础,Scala系统入门与实战
零基础,Scala系统入门与实战download》chaoxingit.com/5005/零基础Scala系统入门与实战Scala是一种多范式的编程语言,它结合了面向对象编程和函数式编程的特点,提供了丰富的特性和语法糖,使得代码更加简洁、优雅和强大。本文将
韦康 韦康
2星期前
零基础,Scala系统入门与实战
零基础,Scala系统入门与实战download》quangneng.com/5001/从零开始:Scala系统入门与实战Scala(ScalableLanguage的缩写)是一种多范式的编程语言,结合了面向对象编程和函数式编程的特性。它旨在提供一种能够平
光之守卫 光之守卫
1星期前
零基础,Scala系统入门与实战
零基础,Scala系统入门与实战download》itzcw.com/9334/探索Scala:从入门到实战导言:Scala是一种多范式编程语言,结合了面向对象编程和函数式编程的特性,具有强大的表达能力和灵活性。本文将介绍Scala的基础知识,并通过实战示