1、scala与java

2、安装

3、scala编译器

4、变量声明

5、数据类型

6、操作符

7、函数调用

8、apply函数

1、scala与java

  scala基于java虚拟机,所有scala代码,都经过编译编译为字节码,然后交由java虚拟机运行,所以scala与java是无缝互操作的。

2、安装

  从scala官方网站下载,地址:http://www.scala-lang.org/download/。windows版本安装包为scala-x.xx.x.msi。

  安装安装包,配置环境变量SCALA_HOME为你的安装地址,往PATH中加入%SCALA_HOME\bin。

  打开windows命令行,键入scala -version 查看scala版本,键入scala进入scala命令行,进行scala编程。

  

3、scala编译器

  REPL:Read(取值)=》Evaluation(求值)=》Print(打印)=》Loop(循环)。scala解释器也被称为REPL,会编译scala代码为字节码交由jvm执行。

  计算表达式:在scala命令行内,键入scala代码,解释器会直接返回结果。如果未指定变量存放返回的结果,默认名称为res,显示出结果数据类型和该值,如上图1+1。

  内置变量:后面可以继续使用该变量,以及它的值。如上图:2*res0

  自动补全:在scala命令行中,可以是用tab键进行自动补全。如上图:res1.to 按tab键,下面出现选项。

4、变量声明

  声明val变量:可声明val变量存放表达式的计算结果,后续变量可以继续使用,但该变量的值无法更改。

  声明var变量:如果要声明可以改变变量的值,使用var变量,但建议使用val,因为在spark的大型复杂系统中,需要大量网络传输数据,使用var,值存在被错误更改的可能。(类似java不可变类和final常量)

  指定类型:声明变量,可以手动指定其类型,不指定类型的话,scala会根据值,自动推断类型。

  声明多个变量:可将多个变量放在一起声明。

  

5、数据类型

  基本数据类型:Byte、Char、Short、Int、Long、Float、Double、Boolean。scala没有基本数据类型和包装类型的概念,统一是类。scala自己负责基本数据类型和引用类型的转换。使用基本数据类型,直接就可以进行大量函数的调用,比如:1.toString(),1.to(10)。

  类型的加强版类型:scala使用很多加强类给数据类型增加了上百种增强的功能和函数。

6、操作符

  scala操作运算符:+、-、*、/、%等,以及&、|、>>、<<等。在scala中,这些操作符其实是数据类型的函数,如:1+1,可以写做1+(1),1.to(10),写作1 to 10。scala没有提供++、--操作符,我们只能使用+和-。

7、函数调用

  在scala中,函数调用很简单,如:import scala.math._,sqrt(2),pow(2,4),min(3,Pi)。不同点是如果函数不需要传递参数,scala允许缺省括号。

8、apply函数

  scala中apply函数是非常特殊的的一种函数,在scala对象中,可声明apply函数。而使用“类名()”的形式,其实就是“类名.apply()”的一种缩写。通常使用这种方式构建类对象,不是使用 “new 类名()”的形式。如:"hello lilei"(3),实际上是"hello lilei".apply(3)的缩写。

1、Scala安装与基础的更多相关文章

  1. 大数据(12) - Scala安装与IDE相关配置

    一  Scala简述 统计世界top100大学计算机系年级前三名,从初中开始编程,学过20多种语言,最后认为Scala最难.好了,我们开始享受这个过程把:). 二  Scala安装与配置 Scala需 ...

  2. [转] Spark快速入门指南 – Spark安装与基础使用

    [From] https://blog.csdn.net/w405722907/article/details/77943331 Spark快速入门指南 – Spark安装与基础使用 2017年09月 ...

  3. [Scala]Scala安装以及在IDEA中配置Scala

    一  Scala简述 Scala (斯卡拉)是一门多范式(multi-paradigm)的编程语言. 这里所谓的范式,指的是编写程序的方式,不同的编程语言,方式也不尽相同,也就意味着Scala编程语言 ...

  4. NSIS安装制作基础教程[初级篇], 献给对NSIS有兴趣的初学者

    NSIS安装制作基础教程[初级篇], 献给对NSIS有兴趣的初学者 作者: raindy 来源:http://bbs.hanzify.org/index.php?showtopic=30029 时间: ...

  5. 【Scala学习笔记】第01弹——Scala安装与配置

    安装Scala之前先要安装JDK(1.5以上),最好安装JDK 1.8+,安装好JDK后配置JDK的环境变量. 然后去Scala官网(http://www.scala-lang.org/downloa ...

  6. mySQL的安装和基础使用及语法教程

    mySQL的安装和基础使用及语法指南 一.MySQL的安装.配置及卸载 1.安装 2.配置 3.mySQL5.1的完全卸载 4.MYSQL环境变量的配置 二.MySQL控制台doc窗口的操作命令 1. ...

  7. Docker 安装和基础用法

    理解Docker(1):Docker 安装和基础用法 本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 ...

  8. SVN CentOS7 下配置svn的安装及基础配置介绍

    CentOS7 下配置svn的安装及基础配置介绍 by:授客 QQ:1033553122 目录 一. 二. 三. 四. 五. 六. 七. 一.      实践环境 CentOS 7操作系统(CentO ...

  9. redis的使用和安装,redis基础和高级部分

    redis的使用和安装,redis基础和高级部分 在后端开发中,为了提高性能,对于一些经常查询但是又不太变化的内容会使用redis,比如前端的列表展示项等,如果数据有变化也可以清空缓存,让前端查一次数 ...

随机推荐

  1. 关于read和fread

    1.fread与read的区别---open和fopen的区别--fread函数和fwrite函数:http://blog.csdn.net/dreamtdp/article/details/7560 ...

  2. 53. Maximum Subarray(动态规划)

    Find the contiguous subarray within an array (containing at least one number) which has the largest ...

  3. 在全局对象(不是指针)的构造函数里不要对std集合做太多操作

    写MaxvisionOnvif的时候,我用个宏把每个Command类注册到了CommandBuilder里面,通过全局对象初始化实现的,如下: void CommandBuilder::Registe ...

  4. noip模拟赛 Massacre at Béziers

    题目背景 下发压缩包链接: https://pan.baidu.com/s/1geC4ooz 密码: 3vpt 所有的一切———所有的一切都被染成了红与黑. 翻卷的红莲烈焰舔舐着大地,释放出异抽的黑烟 ...

  5. 【ACM】nyoj_106_背包问题_201308152026

    背包问题时间限制:3000 ms  |  内存限制:65535 KB 难度:3描述 现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值v和重量w(1<=v,w<=10 ...

  6. JQuery获取select选中值和清除选中状态(转)

    1.获取值 var provinceSearch = $("#loc_province_search").find("option:selected").att ...

  7. Spring MVC-处理程序映射(Handler Mapping)-Bean名称Url处理程序映射(Bean Name Url Handler Mapping)示例(转载实践)

    以下内容翻译自:https://www.tutorialspoint.com/springmvc/springmvc_beannameurlhandlermapping.htm 说明:示例基于Spri ...

  8. django book chapter 2

    Django’s optional GIS (Geographic Information Systems) support requires Python 2.5 to 2.7. 这里提到了djan ...

  9. HDU--1054--Strategic Game【最小点覆盖】

    链接:pid=1054">http://acm.hdu.edu.cn/showproblem.php?pid=1054 题意:一个熊孩子玩策略游戏,他须要用最少的士兵守卫最多的道路.假 ...

  10. Git 主要的工作流程

    Git使用个进制字符的SHA- Hash来唯一标识对象 如:e98757d0598ab6eeaf1df0d87dd00826048bd80b git 有种对象 1.blob 表示文本文件,二进制文件或 ...