Scala 基础(6)—— 控制结构】的更多相关文章

1. Scala 的内建控制结构 Scala 有几个内建的控制结构,包括: if 表达式 while 循环和 do-while 循环 for 表达式 try 表达式 match 表达式 Scala 的所有控制结构都返回某种值作为结果,这是函数式编程采取的策略: 程序是被用来计算出某个值,所以程序的各个组成部分也应该计算出某个值. 以上的5个控制结构中,有一个被称之为循环,而不是表达式,因为它不会返回一个有意义的值. while 和 do-while 的返回值的类型永远都是 Unit,即单元值,写…
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk1.8 scala-2.10.4(依赖jdk1.8) spark-1.6 Scala是一种混合功能编程语言,类似java,运行于JVM,集成面向对象编程和函数式编程的各种特性.(1)Scala可以与Java互操作:它用scalac这个编译器把源文件编译成Java的class文件,从Scala中调用所有的Java类库,也同样可以从Java应用程序中调用Scala的…
Scala基础学习 摘要: 在篇主要内容:如何把Scala当做工业级的便携计算器使用,如何用Scala处理数字以及其他算术操作.在这个过程中,我们将介绍一系列重要的Scala概念和惯用法.同时你还将学到作为初学者如何浏览Scaladoc文档 1. 使用Scala解释器 2. 用var和val定义变量 3. 数值类型 4. 使用操作符和函数 5. 浏览Scaladoc Scala解释器 启动Scala解释器的步骤如下: 安装Scala 确保scala/bin目录位于系统PATH中 在你的操作系统中…
Scala基础语法 声明与定义: val,常量声明                       val  x:T(把x声明成一个类型为T的常量)  x是变量的名字,T是变量的类型          val  x:T=e    x是常量,值是不可以改变的 var,变量声明 var  x:T  (和val一样)  var x:T=e  x是变量,值是可以改变的 类型省略(默认类型)          val x=e   var x=e 声明省略(连续声明)          val x1,x2,x3…
在最开始处引入 log 相关的 包 import org.apache.log4j.{Logger,Level} 在需要屏蔽日志输出的地方加上这两行代码 // 屏蔽不必要的日志显示在终端上 Logger.getLogger("org.apache.spark").setLevel(Level.ERROR) Logger.getLogger("org.eclipse.jetty.server").setLevel(Level.OFF) // scala io Case…
条件表达式: Scala的if else语法结构和Java的一样.只是,Scala的if else表达式有值.这个值就是跟在if或者else后面的表达式的值. 比如: if(x>0) 0 else 1 该表达式的值就是0或者1,详细的依据x值推断. 能够将if else表达式的值赋值给变量: val s=if(x>0) 0 else 1 这个跟例如以下语句一致: if(x>) s=0 else s=1 当然.第一种写法更好,它能够用来初始化一个val(常量),而另外一种s必须是var(变…
Scala基础语法总结:Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的.如果一行里写多个语句那么分号是需要的 val s = "菜鸟教程"; println(s)A:区分大小写 -  Scala是大小写敏感的,这意味着标识Hello 和 hello在Scala中会有不同的含义.def main(args: Array[String]) - Scala程序从main()方法开始处理,这是每一个Scala程序的强制程序入口部分. 标识符字符数字和符号字符数…
1. 占位符 _ 针对 Scala 基础(7)—— 函数字面量和一等函数 中最后提到的,关于 filter 函数字面量的精简写法,可以使用占位符 _ 来代替. 占位符_,用来表示一个或者多个参数.(这里的多个参数不是表示一个下划线代表多个参数,而是多个下划线可以代表多个参数) 在函数字面量的表达中,可以将下划线看成是“要填的空”,函数每次被调用时,这个“空”就回被一个参数“填”上. 例如: def main(args: Array[String]): Unit = { val list = Li…
1. 函数字面量 在 Scala 基础(3)—— 基础类型和基础操作 中提到了函数字面量,这里具体解释函数字面量的语法. 下面展示一个具体的函数字面量,它由三部分组成: (x: Int, y: Int) => x + y 圆括号内部的参数列表 右箭头 函数体 2. 一等函数 一等函数可以说是 Scala 中非常重要的特性. 所谓一等函数,就是使用函数字面量,将其作为值进行传递. 函数字面量会被编译成类,并且在运行时实例化成函数值,做一个简单的类比: 函数字面量 -> 类 函数值 -> 对…
有了 Scala 基础(4)—— 类和对象 的前提,现在就可以来构建一个基于 Scala 的函数式对象. 下面开始构造一个有理数对象 Rational. 1. 主构造方法和辅助构造方法 对于每一个类的定义,Scala 只允许一个主构造方法,主构造方法的入参紧跟在类定义的后面: class Rational(n: Int, d: Int) { } val r = new Rational(1,2) // 有理数 1/2 你可能需要一个分母 d 被预定义为 1 的一个构造方法,这事就需要用到辅助构造…