Scala

Scala 是一门多范式的编程语言。设计初衷是实现可伸缩的语言、并集成面向对象编程和函数式编程的各种特性。目的是面向对象又面向函数。

Scala在windows安装

http://www.scala-lang.org/download/
官网下载scala-2.12.4.msi,双击此安装,选择安装位置,之后默认安装即可。
设置环境变量:

新增:SCALA_HOME
编辑path变量:%SCALA_HOME%\bin和%SCALA_HOME%\jre\bin
cmd窗口输入:scala -version

Scala在Liunx安装

http://www.scala-lang.org/download/
官网下载scala-2.12.4.tgz,放在usr/local下。

  • 解压: tar zxvf scala-2.12.4.tgz
  • 重命名目录:mv scala-2.12.4 scala
  • 设置环境变量:vi /etc/profile
 export PATH=/usr/local/scala/bin:$PATH
 source /etc/profile
  • 检查是否成功: scala | scala -version

Scala交互式解释器

  • :quit 退出
  • val 常变量
  • var 变量
  • scala不需要分号结尾 ;scala尽量避免使用return语句
  • Unit相当于void;
  • scala中无++
    数组
  • Lists不可修改
  • Tuples 可以包含不同类型的数据,索引从1开始
  • Sets Map
  • ==比较值和java中不同;
  • 类可以有参数:叫类参数
  • 应用成员变量this可有可无,但是引用对象本身this不能缺少
  • 回溯函数(递归)
  • 自定义运算符,可以使对象像基本类型使用
  • val 函数式编程风格
  • 尽量避免使用while循环
  • for clauses yield body 生成新集合
  • finally中用来进行清理工作,一般不要返回值
  • match表达式(类似switch)
  • 重复参数:*

Scala组合和继承

  • mkString 实现toString()方法
  • max min until to abs
  • Scala.Null 和Scala.Nothing
  • Ordered Trait
  • Extractor

正则表达式

  • findFirstIn
  • findAllIn
  • findPrefixOf

List

  • list不可以修改
  • head
  • tail
  • isEmpty
  • 合并两个list使用:::
  • reverse 如:
List(1,2,3,4).reverse
  • drop
  • take
  • splitAt
  • flatten
  • zip
  • unzip List
  • toString
  • mkString
  • flatMap

过滤列表:

  • filter
  • partition
  • find
  • takeWhile
  • dropWhile
  • span
字符串插值功能:(2.10.0之后)
	val name = "James"
	println("hello $name")
JAVA中调用scala
  scalac fileName.scala //编译scala文件
  javap ClassName //查看类源码
  javac -cp $SCALA_HOME/lib/scala-library.jar:. TestJAVAfileName.java //编译java文件
  java -cp $SCALA_HOME/lib/scala-library.jar:. TestJAVAfilname //执行
JAVA的map对象转换成Scala中的map对象
import scala.collection.JavaConverters._
asScala.toMap
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值