1、Scala安装与基础

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)的缩写。

原文地址:https://www.cnblogs.com/haisongvip/p/9521034.html

时间: 2024-08-18 08:02:47

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

JVM 并发性: Java 和 Scala 并发性基础

处理器速度数十年来一直持续快速发展,并在世纪交替之际走到了终点.从那时起,处理器制造商更多地是通过增加核心来提高芯片性能,而不再通过增加时钟速率来提高芯片性能.多核系统现在成为了从手机到企业服务器等所有设备的标准,而这种趋势可能继续并有所加速.开发人员越来越需要在他们的应用程序代码中支持多个核心,这样才能满足性能需求. 在本系列文章中,您将了解一些针对 Java 和 Scala 语言的并发编程的新方法,包括 Java 如何将 Scala 和其他基于 JVM 的语言中已经探索出来的理念结合在一起.

Mysql安装和基础操作

1.环境检查: 先检查是否已经安装了:rpm -qa |grep mysql ---两个都检查下,查看mysql是否安装 rpm -qa |grep MySQL若安装有可删除:rpm -e ****** 2.安装:1)安装前准备:mkdir usr/mysql cd进入该目录,上传安装包到/usr/mysql目录下2)安装:rpm -ivh MySQL-server-5.0.16-0.i386.rpm rpm -ivh MySQL-elient-5.0.16-0.i386.rpm3)验证安装是否

zabbix 安装和基础监控

Zabbix安装和监控 系统环境 [[email protected]~]# cat /etc/redhat-release CentOSrelease 6.3 (Final) [[email protected]~]#  uname -a Linux zabbix2.6.32-279.el6.x86_64 #1 SMP Fri Jun 22 12:19:21 UTC 2012 x86_64 x86_64 x86_64GNU/Linux Yum安装nginx.php.mysql 配置nginx

Hive安装和基础使用

1.安装JDK并设置环境变量 2.上传安装包 3.解压 4.设置环境变量# vi ~/.bash_profile或vi /etc/profile5.进入hive shell# hive shell或# hive 6.常见操作 查看数据库清单hive> show databses; 查看表清单hive> show tables;查看表结构hive> desc table_name;创建数据库,location为hdfs中的路径为hdfs中的路径,不存在的目录会自动创建.hive> c

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

NSIS安装制作基础教程[初级篇], 献给对NSIS有兴趣的初学者 作者: raindy 来源:http://bbs.hanzify.org/index.php?showtopic=30029 时间:2005-02-15 点击:70791 raindy NSIS简介: NSIS 是“Nullsoft 脚本安装系统”(Nullsoft Scriptable Installation System)的缩写,它是一个免费的 Win32 安装.卸载系统,它的特点:脚本简洁高效:系统开销小:当然进行安装.

Linux安装与基础命令

首先准备一个liunx镜像和一台安装好虚拟机的电脑. 配置好虚拟机,选在稍后安装.选择镜像文件,开启虚拟机进行安装. 配置yum源.首先插入光盘.由于是虚拟机,用的光盘镜像, 在/mnt/下面创建一个文件夹yum .      复制所有光盘里的内容到/mnt/yum   cp -rf /media/RHEL_5.9\ x86_64\ DVD/*  /mnt/yum 用vim编辑器配置文件   vim /etc/yum.repo.d/rhel-debuginfo.repo 配置如下: [rhel]

MongoDB 学习笔记一 安装以及基础命令

一.MongoDB安装配置 1.获取最新版本: wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.0.2.tgz 2.解压缩即可执行 tar zxvf mongodb-linux-x86_64-2.0.2.tgz tar zxvf mongodb-linux-x86_64-2.0.2.tgz cd /usr/mongodb-linux-x86_64-2.0.2/bin 但是在运行前,需要创建mongodb需要的存放数据和日志的

docker 实战---安装一个基础镜像 (一)

泡了几天官网,对docker有了一点了解.准备着手搭建一个公司的开发测试环境,包括java.python. 环境介绍 首先说明一下我的环境 2台物理服务器(后面简称主机) 主机A的配置如下: [[email protected] ~]# lsb_release -a LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:p

Scala安装及开发环境搭建

最近想学习下scala,为后面转大数据做一些沉淀. 1. 首先保证jdk已经成功安装 2. 去官网下载scala安装程序 http://www.scala-lang.org/download/all.html 会列出不同的版本. 3. 安装scala  安装路径记得不要有空格否则可能会出现以下这种状况,还有,如果jkd版本不支持你安装的scala 也会出现下面的情况,需要升级jdk. 4. 安装成功后,环境变量 path中会自动加入路径,所以不需要自己配置,如果想根据自己的意思配置,则另行修改.