一、概述

1.1 为什么学习scala

  • Spark就是使用Scala编写的,为了更好的学习Spark,需要掌握Scala这门语言
  • Spark的兴起,带动了Scala语言的发展

1.2 Scala与Java的关系

  • Scala是基于Java的

1.3 Scala语言的特点

  • Scala是一门以Java虚拟机(JVM)为运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言

    • Scala是一门多范式的编程语言,Scala支持面向对象和函数式编程(多范式就是多种编程方法的意思。)。
    • Scala源代码(.scala)会被编译成Java字节码(.class),然后运行于JVM之上,并可以调用现有的java类库,实现两种语言的无缝对接。
    • Scala单作一门语言来看,非常简洁搞笑。
    • Scala在设计时参考了Java的设计思想,将函数式编程的特点融入到java中。

二、Scala环境搭建

2.1 安装步骤

  • 确保安装了jdk1.8
  • 在官网上下载scala-2.11.8.zip包
  • 解压到指定任意文件夹
  • 配置环境变量
SCALA_HOME=/Users/tiger/Desktop/study/install/scala-2.11.8
export PATH=$PATH:$SCALA_HOME/bin

2.2 Scala插件安装

  • 在官网下载idea版本对应的插件版本安装
  • 打开idea在配置中选择Plugins,选择离线安装

2.3 Hello案例

2.3.1 创建IDEA项目工程

  • 创建一个maven工程
  • 默认情况下,Maven不支持Scala的开发,需要引入Scala框架,在项目上右键,选择Add Framework Support...,选择Scala,点击OK
    • 注意:如果是第一次引入框架,Use libary看不到,需要选择你的Scala安装目录,然后工具就会自动识别,就会显示user libary。
  • 在main中创建scala目录用于区分,右键点击scala目录->Mark Directory as->选择Sources root
  • 在scala包下创建包和类
  • 测试类
package tiger.scala.chapter01/*
* 这是idea第一个HelloWorld程序
*
*
* object 名称
*   从语法的角度来说,上面语法表示声明了一个伴生对象
*   Scala是纯面向对象的,去除了java中的static关键字,通过伴生对象来模拟static
* 伴生对象:
*   伴随类产生的一个对象
*   当我们对源文件进行编译之后,默认会生成两个字节码文件,一个是伴生类,另一个是伴生对象所属类
*     其实真正的伴生对象是,伴生对象所属类中创建的单例的对象
*
*   如果不想默认生成伴生类,可以手动生成,要求伴生类名称和伴生对象名称一致
*
* 注意:以后在scala语言中,如果要定义类似java的static内容都应该放到伴生对象中声明
*
*
* -------------------------——————————————-------------————---
* 对第一个scala案例进行说明
*   object 关键字:表示声明一个伴生对象
*   Scala01_HelloWorld 伴生对象:伴生对象的名字
*   def 关键字:表示声明一个方法
*   main:方法的名称
*   args:Array[String]:参数列表
*     args 参数名称
*     Array[String]:参数类型,在scala语言中[]表示泛型
*     声明参数的时候,名称在前,类型在后,名称和类型之间用冒号分割
*   Unit:
*     返回值类型为空,相当于java语言中void关键字
*     Unit是一个类型,当前类型只有一个实例()
*     参数列表和返回值类型之间用冒号进行分割
*     返回值类型和函数体之间用等号进行连接
*
*   println("HelloScala"):表示想控制台打印输出内容,在scala语言中,语句结束不需要夹分号
*
*
* */object Scala01_HelloWorld {def main(args:Array[String]): Unit = {println("HelloScala")}
}// 伴生对象
object Student {}// 伴生类
class Student {}

Scala语言简介以及开发环境部署相关推荐

  1. Java语言简介及开发环境安装

    目录 一.Java语言概述 Java是什么 Java语言发展简史 Java的重要特点 简单性 面向对象 健壮性 跨平台性 解释型语言 二.Java开发环境安装 安装 配置 检查 三.初识Java的ma ...

  2. 我的全栈之路-C语言基础之C语言概述与开发环境搭建

    我的全栈之路-C语言基础之C语言概述与开发环境搭建 我的全栈之路 1.1 信息技术发展趋势 1.2 浅谈计算机系统架构 1.2.1 计算机系统架构概述 1.2.2 计算机硬件系统 1.2.2 计算机软 ...

  3. 轻量级JavaWeb开发环境部署

    本文章是结合轻量级JavaWeb企业级应用实战所写的学习总结记录文章,开发环境部署文章仍然使用的是我的旧文章习惯,在下一章我会使用新的文章书写习惯来更清晰和简便的记录 Tomcat的安装 tomcat ...

  4. Linux——Django 开发环境部署(二)python版本控制器pyenv

    python版本控制器pyenv 之前的 那篇是说明了django环境的site package完全独立出来了,但是使用的python解释器还是系统的,为了继续独立出来,甚至是达到ruby的rvm的自 ...

  5. 西秦的ACE-Python教程 一、Python本地开发环境部署

    西秦的ACE-Python教程 一.Python本地开发环境部署     西秦 级别: 论坛版主 发帖 1357 云币 2782 加关注 写私信 只看楼主 更多操作楼主  发表于: 10-10 从今天 ...

  6. Python学习笔记 - Python语言概述和开发环境

    一.Python简介 1.1  Python语言简史 Python由荷兰人吉多·范罗苏姆(Guido van Rossum)于1989年圣诞节期间,在阿姆斯特丹,为了打发圣诞节的无聊时间,决心开发一门 ...

  7. Scala语言--简介

    Scala语言--简介 Scala将面向对象和函数式编程结合在一个简洁的高级语言中.Scala的静态类型有助于避免复杂应用程序中的错误,其JVM和JavaScript运行时可让您构建高性能系统,轻松访 ...

  8. 前端基础 - HTML简介及开发环境

    前端基础 - HTML简介及开发环境 HTML简介及开发环境 HTML简介: 英文:Hyper Text Markup Language(超级文本标记语言) 超级文本:普通文本只能显示文字,超级文本, ...

  9. UE4离线开发环境部署(UE4 + VS + VIVE + SteamVR)

    UE4程序离线开发环境部署 VS部署(以VS2019专业版为例) 配置安装环境 脱机安装 UE4引擎部署(这里以4.27.2为例) 联网下载引擎 非源码版下载 源码版下载 离线安装 非源码版安装 源码 ...

最新文章

  1. WordCount结对项目
  2. 力扣:169. 多数元素
  3. Android框架攻击之Fragment注入
  4. 乐鑫代理-启明云端分享ESP32系列教程之一: 安装虚拟机及Ubuntu
  5. mac VMware Fusion 虚拟机键盘可以使用,鼠标无法使用排查思路及解决方法
  6. dataframe筛选某列的单元格等于某个值的一行数据
  7. Visual Studio下使用jQuery的10个技巧
  8. python建模仿真 matlab_清华大学出版社-图书详情-《仿真建模与MATLAB实用教程》
  9. 鼠标linux驱动安装失败,win7插入鼠标提示未能成功安装设备驱动程序怎么办
  10. 机器学习必备的数学知识,一次学会
  11. MySQL5.7新增Performance Schema表
  12. matlab绘制等间距同心圆,CDR绘制等距离同心圆的多种方法
  13. Android功能点(一)——判断网络是否真正连通
  14. GAMES101 Rasteriztion
  15. 微信支付测试商户号开发必备(有效的)
  16. ROM 和 RAM 区别
  17. 迷惘_飘云羽逸_新浪博客
  18. 6月份鸿蒙升级名单,华为鸿蒙系统6月升级名单机型有哪些
  19. 实现1V1音视频实时互动直播系统 十二、第三节 直播系统中的信令及其逻辑关系
  20. c语言识别按了esc键_c语言输入esc

热门文章

  1. 2011年国外最受欢迎的15个交友网站
  2. cocos2dx3.4 new Lua项目后编译黑屏问题的解决
  3. 解决vivado2018.3 分析综合都没问题,但是生成比特流出错的问题
  4. 经常使用电脑易患焦虑抑郁症
  5. WPF界面开发第三方控件入门指南——菜单项
  6. Java调用WebService短信接口
  7. java写给自己的一封信,写给自己的一封信700字
  8. php输出lt;scriptgt;,4php常量
  9. Lancet Diabetes Endocrinol | 低碳水化合物饮食对2型糖尿病患者受用吗?
  10. 红外非均匀矫正matlab实现,红外图像非均匀矫正——两点矫正