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. Huawei-R&S-网络工程师实验笔记20190607-STP生成树协议(基本配置、桥优先级、根桥选举、根端口、路径开销、边缘端口)

    >Huawei-R&S-网络工程师实验笔记20190607-STP生成树协议(基本配置.桥优先级.根桥选举.根端口.路径开销.边缘端口) >>实验开始,先上拓扑图参考: &l ...

  2. GlobalSign 多域型(SNAs) SSL 证书

    GlobalSign 多域型(SNAs) SSL 证书 GlobalSign 多域型(SNAs) SSL 证书,有别于通配符 SSL 证书可以同时保护一个域名下所有的子域名网站,SANs 证书更进一步 ...

  3. Girls Love 233

    Girls Love 233 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) P ...

  4. poj 3621最优比例生成环(01分数规划问题)

    /* 和求最小生成树差不多 转载思路:http://www.cnblogs.com/wally/p/3228171.html 思路:之前做过最小比率生成树,也是属于0/1整数划分问题,这次碰到这道最优 ...

  5. 知新之--12-factors

    作为总的原则,在程序设计上很有高度... 参考URL:http://12factor.net/zh_cn/ ========================================== 12- ...

  6. [bzoj2086][Poi2010]Blocks_单调栈_双指针

    Blocks bzoj-2086 Poi-2010 题目大意:题目链接. 注释:略. 想法:首先,不难发现,如果连续的一段数的平均值不小于输入的k的话,这段数是满足题意的. 所以,我们再次简化一下:将 ...

  7. cogs 29. 公路建设

    29. 公路建设 ★   输入文件:road.in   输出文件:road.out   简单对比时间限制:1 s   内存限制:128 MB [问题描述] A 国是一个新兴的国家,有 N 个城市,分别 ...

  8. php require和include差别

    require 的用法如 require("MyRequireFile.php"); .这个函数通常放在 PHP 程序的最前面.PHP 程序在运行前,就会先读入 require 所 ...

  9. Parallel in C#

    https://docs.microsoft.com/en-us/dotnet/standard/parallel-programming/how-to-write-a-simple-parallel ...

  10. Karma和Jasmine自动化单元测试——本质上还是在要开一个浏览器来做测试

    1. Karma的介绍 Karma是Testacular的新名字,在2012年google开源了Testacular,2013年Testacular改名为Karma.Karma是一个让人感到非常神秘的 ...