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. Python - 面对对象(其他相关,异常处理,反射,单例模式,等..)

    目录 Python - 面对对象(其他相关,异常处理,反射,等..) 一.isinstance(obj, cls) 二.issubclass(sub, super) 三.异常处理 1. 异常处理 2. ...

  2. BZOJ 1452 Count 【模板】二维树状数组

    对每种颜色开一个二维树状数组 #include<cstdio> #include<algorithm> using namespace std; ; ][maxn][maxn] ...

  3. 树状数组&线段树

    先是树状数组. 令这棵树的结点编号为C1,C2...Cn.令每个结点的值为这棵树的值的总和,那么容易发现: C1 = A1 C2 = A1 + A2 C3 = A3 C4 = A1 + A2 + A3 ...

  4. noip模拟赛 排序

    分析:因为序列是不严格单调的,所以挪动一个数其实就相当于把这个数给删了.如果a[i] < a[i-1],那么可以删掉a[i],也可以删掉a[i-1](!如果没考虑到这一点就只有90分),删后判断 ...

  5. Sencha Toucha 2.1 文件上传

    javascript代码: Ext.onReady(function() { Ext.create('Ext.form.Panel', { title: 'Upload a Photo', width ...

  6. Spring Boot静态资源处理

    Spring Boot静态资源处理 8.8 Spring Boot静态资源处理 当使用Spring Boot来开发一个完整的系统时,我们往往需要用到前端页面,这就不可或缺地需要访问到静态资源,比如图片 ...

  7. 了解一下JAVA中的NIO模块

    网上资料大把,但要写写代码,我这个年纪的人才有一点点记忆了.. 参考URL: http://blog.csdn.net/wuxianglong/article/details/6612282 pack ...

  8. Spring MVC-表单(Form)标签-文件上传(File Upload)示例(转载实践)

    以下内容翻译自:https://www.tutorialspoint.com/springmvc/springmvc_upload.htm 说明:示例基于Spring MVC 4.1.6. 以下示例显 ...

  9. CF #330 C

    改了题目之后,就是没有奇数的测试了... 其实可以很轻易地发现,要距离近的一方只会删除两端的,而要求远的一方会删除中间的. 那么,很明显的,剩下的两点会相差x/2个节点,于是,只要计算i和i+x/2的 ...

  10. Linux局域网搭建

    系统版本号:Linux red hat 6.3 1. 打开ifcfg-eth0 # cd /etc./sysconfig/network-scripts # vim ifcfg-eth0 2. 改动i ...