1.seq[String]

  用[]表示参数类型,java使用<>表示参数,因为Scala 允许以<命名方法和变量名,java不允许

2.支持range的类型:Char 、Int 、 Long 、 Float 、 Double 、BigInt(任一大小整数)、BigDecimal(任意大小浮点数)

//闭区间,步长2
1 to 10 by 2
//左闭又开,步长1
1 until 10
//字符根据ASCII码递增
'd' to 'a' by 1

3.Scala返回类型Unit类型,类似java void,但Unit类型是有值的,值为().

4.java的方法名在Scala中是保留字时,使用反引号

import java.util.Scanner.`match`

5.for yield  for循环返回新的集合

val list2 = for {i <- list if(i.contains("a"))} yield i

6.可插入字符串

    val a = "a"
val b = 2f
println(s"${a}bc")
printf("%.2f\nb",b)
println(f"${b}%.2f\nb")

7.模式匹配

 在 case 子句中,以小写字母开头的标识符被认为是用来提取待匹配值的新变量。如果需要引用之前已经定义的变量时,应使用反引号将其包围。以大写字母开头的标识符被认为是类型名称

def checkY(y: Int) = {
for {
x <- Seq(99, 100, 101,"")
} {
val str = x match {
     //判断是否等于形参y需加反引号,否则相当于匹配所有输入,并把输入赋予y
case `y` => "found y!"
//判断类型是否为整型
case i: Int => "int: "+i
//匹配所有输入
case _ =>"unexpected"
}
println(str)
}

8、for推导式

  for{} yield 返回值类型为for中第一个生成器表达式的类型

  for 推导式的语法实际上是编译器提供的语法糖,它会调用容器方法 foreach 、 map 、flatMap 以及 withFilter 方法

//result类型为Vector
val list = List("a","b","c","d")
val vector = Vector("A","B","C","D")
val result = for{
vector2 <- vector
list2 <-list
list3 <- list2
} yield list3
print(result)
}

Scala基础的更多相关文章

  1. 【Scala学习之一】 Scala基础语法

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk1.8 scala-2.10.4(依赖jdk1.8) spark ...

  2. Scala学习(一)--Scala基础学习

    Scala基础学习 摘要: 在篇主要内容:如何把Scala当做工业级的便携计算器使用,如何用Scala处理数字以及其他算术操作.在这个过程中,我们将介绍一系列重要的Scala概念和惯用法.同时你还将学 ...

  3. Scala基础(1)

    Scala基础语法 声明与定义: val,常量声明                       val  x:T(把x声明成一个类型为T的常量)  x是变量的名字,T是变量的类型          v ...

  4. scala 基础知识总结

    在最开始处引入 log 相关的 包 import org.apache.log4j.{Logger,Level} 在需要屏蔽日志输出的地方加上这两行代码 // 屏蔽不必要的日志显示在终端上 Logge ...

  5. 1.scala基础语法总结

    Scala基础语法总结:Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的.如果一行里写多个语句那么分号是需要的 val s = "菜鸟教程"; pr ...

  6. Scala 基础(8)—— 占位符_和部分应用函数

    1. 占位符 _ 针对 Scala 基础(7)—— 函数字面量和一等函数 中最后提到的,关于 filter 函数字面量的精简写法,可以使用占位符 _ 来代替. 占位符_,用来表示一个或者多个参数.(这 ...

  7. Scala 基础(7)—— 函数字面量和一等函数

    1. 函数字面量 在 Scala 基础(3)—— 基础类型和基础操作 中提到了函数字面量,这里具体解释函数字面量的语法. 下面展示一个具体的函数字面量,它由三部分组成: (x: Int, y: Int ...

  8. Scala 基础(5)—— 构建函数式对象

    有了 Scala 基础(4)—— 类和对象 的前提,现在就可以来构建一个基于 Scala 的函数式对象. 下面开始构造一个有理数对象 Rational. 1. 主构造方法和辅助构造方法 对于每一个类的 ...

  9. Scala基础知识[一]

    摘要:在Scala 是 Scalable Language 的简写,是一门多范式(multi-paradigm)的编程语言.设计初衷是要集成面向对象编程和函数式编程的各种特性.Scala 运行在Jav ...

  10. Scala基础简述

    * Scala基础简述 本文章作为Scala快速学习的教程,前提环境是:我假设在此之前,你已经学会了Java编程语言,并且我们以随学随用为目标(在此不会深度挖掘探讨Scala更高级层次的知识).其中语 ...

随机推荐

  1. JAVA EE 的学习目标

    本学期是大三下学期,是一个很关键的学习期.在这里定下一个短期的目标. 职业发展目标:我的职业目标其实不是计算机方向,我是准备考公.但是,作为第二手专业打算,如果考公务员失败,我根据我的性格来分析我会选 ...

  2. grep用法

    正则表达式只是一种表示法,只要工具支持这种表示法, 那么该工具就可以处理正则表达式的字符串.vim.grep.awk .sed 都支持正则表达式,也正是因为由于它们支持正则,才显得它们强大:在以前上班 ...

  3. sql表中数据遍历

    步骤: 1:先定义一个临时表,把需要用的数据放入临时表中,如果数据不连续,则在临时表中定义一个自增长键 DECLARE @temp table(Id INT IDENTITY(1, 1) ,ShopC ...

  4. Git实操

    使用git首先要理解工作区(working).暂存区(stage或者index).和版本库(repo区),很多命令都是和这三个概念相关的. git init 初始化git仓库,会生成默认的.git文件 ...

  5. ng-model-options 时延

    ng-model-options="{updateOn: 'blur'}" 失去焦点时生效 ng-model-options="{debounce:500}" ...

  6. java生成二维码扫码网页自动登录功能

    找了很多资料,七七八八都试了一遍,最终写出来了这个功能. 菜鸟一枚,此文只为做笔记. 简单的一个生成二维码,通过网页确认登录,实现二维码页面跳转到主页面. 有三个servlet: CodeServle ...

  7. thinkPHP验证码不显示问题

    使用验证码的时候,不显示图片时,要清理下输出缓存:ob_clean_end();

  8. tensorFlow可以运行的代码

    折腾了很久,终于运行成功. 才云科技的书不错,就是需要微调一二. 心得:1,记得activate tensorflow,然后再python 2,Python的代码格式很重要,不要错误. 3,还不清楚如 ...

  9. Python基础(切片,list循环,元组)

    list和字符串循环: 切片:list取值的一种方式,同样适用于字符串(因为字符串也有下标) 不可变类型:元组,字符串

  10. c++ stl sort 自定义排序函数cmp要遵循 strict weak ordering

    满足strict weak ordering的运算符能够表达其他所有的逻辑运算符(logical operator): <(a, b)  : (a < b) <=(a, b): !( ...