一  Scala简述

Scala (斯卡拉)是一门多范式(multi-paradigm)的编程语言。

这里所谓的范式,指的是编写程序的方式,不同的编程语言,方式也不尽相同,也就意味着Scala编程语言是融合了多种不同编程方式的语言。所以Scala语言的设计初衷是要集成面向对象编程和函数式编程的各种特性。

二  Scala与Java的关系

创始人马丁·奥德斯基(Martin Odersky)是编译器及编程的狂热爱好者,长时间的编程之后,希望发明一种语言,能够让写程序这样的基础工作变得高效,简单,且令人愉悦。所以当接触到JAVA语言后,对JAVA这门便携式,运行在网络,且存在垃圾回收的语言产生了极大的兴趣,所以决定将函数式编程语言的特点融合到JAVA中,由此发明了两种语言(Pizza & Scala),这两种语言极大地推动了Java编程语言的发展。且现在主流JVM的javac编译器就是马丁·奥德斯基编写出来的,并被JAVA编程人员广泛的使用,所以Scala语言起源于Java,却推动着Java的发展,它们是相辅相成的。

正是基于上面的原因,所以Scala源代码(.scala)会被编译成Java字节码(.class),然后运行于JVM之上,并可以调用现有的Java类库,实现两种语言的无缝对接,因此,对于已经掌握JAVA语言的我们来讲,学习起来一定会略显轻松。

Scala是一门以java虚拟机(JVM)为目标运行环境并将面向对象函数式编程的最佳特性结合在一起的静态类型编程语言。(运行之前一定知道类型是什么)

三  Scala安装与配置

3.1  安装

Scala需要Java运行时库,安装Scala需要首先安装JVM虚拟机,推荐安装JDK1.8。

http://www.scala-lang.org/ 下载Scala2.11.8程序安装包

根据不同的操作系统选择不同的安装包,下载完成后,将安装包解压到安装目录。将scala安装目录下的bin目录加入到PATH环境变量:

SCALA_HOME:

SCALA_HOME= D:\scala-2.11.8

PATH:

在PATH变量中添加:%SCALA_HOME%\bin

安装好scala并配置好PATH环境变量之后,就可以在终端中输入“scala”命令打开scala解释器:

注意:该操作Windows和Linux配置流程是一样的。可以参考Java的JDK的配置过程。

到此为止,Scala的安装已经成功。

3.2  Scala的REPL

上面打开的scala命令行窗口,我们称之为REPL,是指:Read->Evaluation->Print->Loop,也称之为交互式解释器。类似于MySQL的默认客户端工具

在命令行窗口中输入scala指令代码时,解释器会读取指令代码并计算(Evaluation)对应的值,然后将结果打印(Print)出来,接着循环等待用户输入指令(Loop)。

从技术上讲,这里其实并不是一个解释器,而是指令代码被快速的编译成Java字节码并被JVM加载执行。最终将执行结果输出到命令行中。

3.3  配置IDEA

1) 打开IDEA工具,如图:点击Configure

2) 点击Plugins

3) 点击Install plugin from disk

4) 选择scala的plugins

5) 此时会显示一个Scala的条目,在右侧点击Restart IntelliJ IDEA

6) 创建Maven项目

创建的maven项目默认是不支持scala的,需要为项目添加scala的framework,如图:

在这里选择Scala后,在右边的Use library中配置你的安装目录即可,最后点击OK。

7) 在项目的目录结构中,创建scala文件夹,并标记为source

8) 以上配置都完成后,就可以在scala上点击右键创建scala class

四  Scala示例

4.1  IDEA运行HelloScala程序

1) 在scala上右键,创建scala object

2) 编写代码如下:

object HelloScala {

def main(args: Array[String]): Unit = {

println("Hello Scala") // 打印字符串

}

}

右键Run HelloScala,如图:

4.2  Scaladoc

如果想要了解Scala中提供了哪些类,哪些方法,可以参考Scala提供的doc文档

 

[Scala]Scala安装以及在IDEA中配置Scala的更多相关文章

  1. IDEA中配置Scala开发编译环境

    安装JDK 因为Scala是运行在JVM平台上的,所以安装Scala之前要安装JDK. 安装Scala Windows安装Scala编译器 访问Scala官网http://www.scala-lang ...

  2. Maven学习(一) -- 安装Maven及Eclipse中配置Maven

    标签(空格分隔): 学习笔记 本文环境:Windows7, JDK1.7.0_76 安装及配置Maven环境变量 需要电脑中已经有Java环境 在控制台中输入:echo %JAVA_HOME%看是否能 ...

  3. windows上安装maven及eclipse中配置maven

    本地安装与配置: 1.jdk 在cmd中运行 Java -version 2.下载maven包 https://maven.apache.org/download.cgi下载最新版的Maven程序:( ...

  4. Maven插件的简介,安装及在eclipse中配置

    1.Maven简介 1.Maven介绍 Maven是一个基于项目对象模型(POM:project object model)的概念的纯java开发的开源的项目管理工具.Maven把我们的工程抽像一个对 ...

  5. maven安装与在eclipse中配置

    需要准备 eclipse maven压缩包 : http://maven.apache.org/download.cgi 1 解压maven压缩包 2 在系统变量中新建变量MAVEN_HOME,值为 ...

  6. (kate)win8-64位系统下opencv-2.4.3的安装以及在visual_studio2010中配置

    环境: 操作系统:window8.1 64bit Opencv版本:OPencv-2.4.3 VS版本:vs 2010 一.安装Opencv 1.Opencv官网http://opencv.org/ ...

  7. Windows下安装Python及Eclipse中配置PyDev插件

    最近开始接触Python,鉴于之前安装Java的教训,决定这次边安装Python,边写下历程,供日后反复使用. 在Python官网http://www.python.org/下载Python版本,鉴于 ...

  8. 安装Maven及Eclipse中配置Maven

    下载maven版本: 1.进入官网:http://maven.apache.org/download.cgi   ,下载编译后的maven版本:如图下: 2.创建一个目录,把下载的maven压缩包,进 ...

  9. Scala安装后,在IDEA中配置

    IDEA中配置Scala 一.设置Module 二.添加Scala的SDK 三.寻找本地scala安装路径 四.测试是否可以新建有Scala Class 五.踩坑填坑记录 5.1:Error:(4, ...

随机推荐

  1. React的diff算法(译文)

    前言  此篇文章主要是因为在看Virtual DOM(虚拟DOM)的时候看到的主要讲的是实现Virtual Dom 的diff算法,原文地址:https://calendar.perfplanet.c ...

  2. Linux内存描述之内存节点node–Linux内存管理(二)

    日期 内核版本 架构 作者 GitHub CSDN 2016-06-14 Linux-4.7 X86 & arm gatieme LinuxDeviceDrivers Linux内存管理 #1 ...

  3. layui navTree 动态渲染菜单组件介绍

    navTree.js 简介 extends/navTree.js 是一个基于 layui 扩展的模块化组件,用于构建后台布局系统中的垂直导航菜单与水平导航菜单. extends/navTree.js ...

  4. 局部敏感哈希LSH(Locality-Sensitive Hashing)——海量数据相似性查找技术

    一. 前言     最近在工作中需要对海量数据进行相似性查找,即对微博全量用户进行关注相似度计算,计算得到每个用户关注相似度最高的TOP-N个用户,首先想到的是利用简单的协同过滤,先定义相似性度量(c ...

  5. 分享:JS视频在线视频教程

    作者说明 (1)JS说明 JS是非常重要的一门语言,但是,我们对JS的认识似乎仍然停留在“hello word”或者“alert”的观念上.其实,JS发展到现在已经非常的成熟,功能也非常的强大,因此, ...

  6. mongoDB4.0数据库

    下载:https://www.mongodb.com/ 安装:略 注意:使用前修改bin目录下配置文件mongodb.cfg,删除最后一行的'mp'字段 1. 启动服务与终止服务 net start ...

  7. 经验分享:程序员如何快速定位问题(BUG)

    让我掉下眼泪的 不止内存泄漏 让我夜夜不眠的 不止你的需求 明天还要改多久 你攥着我的手 让我感到为难的 是善变的需求 发布总是在半夜 回滚是永远的愁 错误(Bug)随时的暴漏 困扰着我心头 作为程序 ...

  8. [Luogu2593] [ZJOI2006]超级麻将

    题目地址 :https://www.luogu.org/problemnew/show/P2593. 无脑DP(虽说是抄的额) #include <iostream> #include & ...

  9. Linux用到的常用命令

    Linux常用命令        

  10. jQuery插件图片懒加载lazyload

    来自XXX的前言: 什么是ImageLazyLoad技术 在页面上图片比较多的时候,打开一张页面必然引起与服务器大数据量的 交互.尤其是对于高清晰的图片,占的几M的空间.ImageLazyLoad技术 ...