最近在做一个spark项目,顺便分享一下我的Scala入门过程。这一系列文章假定读者有一定的java或者其他面向对象编程语言基础。本文主要介绍Scala的流程控制和异常处理。
先上一段代码
注:ITEYE不支持Scala语法高亮,所以为了看起来方便,我选择作为Java来展示,但这是Scala代码,这点不用怀疑。。
object TestScala2 { def main(args: Array[String]): Unit = { //test 'for' for (i <- 1 to 10) println(i) //test 'dowhile' var line = "" do { line = StdIn.readLine() println(line) } while (line != "") //test 'if else' val a = (Math.random() * 10).toInt; val result = if (a % 2 == 0) "even:" + a else "odd:" + a println(result) //test 'try catch finally' try { //.... throw new Exception("--exception message--") } catch { case e: Exception => println("the exception is " + e.getMessage) } finally { println("finally") } } }
我们先看第一行for循环的代码,它是做一个从1到10的循环,将遍历的每一个结果赋值给i,再将i打印出来。“<-”是赋值符号,在Scala中非常常见。“1 to 10”表示1到10的循环,也可以写成“1.to(10)”,由于在Scala中一切皆对象,1是一个int类型的对象,它有to这个方法,并且接收另一个int对象作为参数。
在第二个例子中,将键盘的输入赋值给line并打印,如果line为空则跳出,否则继续循环接收输入。StdIn.readLine()表示接收键盘输入,StdIn这个类通过“import scala.io.StdIn”引入。while循环和dowhile循环类似。
第三个例子,判断一个随机数是奇数还是偶数,通过if else语句块实现,语法和Java类似,但有一点,Scala可以直接接收if else语句块的返回值。另外Math是java.lang这个包里的函数,Scala由于运行在jvm上,因此它可以直接调用Java。
最后一个例子是异常的处理。这里插一句,try catch finally语句块从语法上来说可以作为流程控制的手段,但从语义上来说,建议仅作为异常处理来使用,而不要用来控制流程的跳转,当然这是题外话了。我们看到在catch中,使用case来匹配捕获的异常,可以写若干个case,只要有一个能匹配上,即终止,不像Java中只要没有break就会继续匹配。
相关推荐
第4讲-Scala编程详解:条件控制与循环 共7页 第5讲-Scala编程详解:函数入门 共5页 第6讲-Scala编程详解:函数入门之默认参数和带名参数 共5页 第7讲-Scala编程详解:函数入门之变长参数 共4页 第8讲-Scala编程详解...
第4讲-Scala编程详解:条件控制与循环 共7页 第5讲-Scala编程详解:函数入门 共5页 第6讲-Scala编程详解:函数入门之默认参数和带名参数 共5页 第7讲-Scala编程详解:函数入门之变长参数 共4页 第8讲-Scala编程详解...
第4讲-Scala编程详解:条件控制与循环 共7页 第5讲-Scala编程详解:函数入门 共5页 第6讲-Scala编程详解:函数入门之默认参数和带名参数 共5页 第7讲-Scala编程详解:函数入门之变长参数 共4页 第8讲-Scala编程详解...
第4讲-Scala编程详解:条件控制与循环 共7页 第5讲-Scala编程详解:函数入门 共5页 第6讲-Scala编程详解:函数入门之默认参数和带名参数 共5页 第7讲-Scala编程详解:函数入门之变长参数 共4页 第8讲-Scala编程详解...
第4讲-Scala编程详解:条件控制与循环 共7页 第5讲-Scala编程详解:函数入门 共5页 第6讲-Scala编程详解:函数入门之默认参数和带名参数 共5页 第7讲-Scala编程详解:函数入门之变长参数 共4页 第8讲-Scala编程详解...
第4讲-Scala编程详解:条件控制与循环 共7页 第5讲-Scala编程详解:函数入门 共5页 第6讲-Scala编程详解:函数入门之默认参数和带名参数 共5页 第7讲-Scala编程详解:函数入门之变长参数 共4页 第8讲-Scala编程详解...
第4讲-Scala编程详解:条件控制与循环 共7页 第5讲-Scala编程详解:函数入门 共5页 第6讲-Scala编程详解:函数入门之默认参数和带名参数 共5页 第7讲-Scala编程详解:函数入门之变长参数 共4页 第8讲-Scala编程详解...
第4讲-Scala编程详解:条件控制与循环 共7页 第5讲-Scala编程详解:函数入门 共5页 第6讲-Scala编程详解:函数入门之默认参数和带名参数 共5页 第7讲-Scala编程详解:函数入门之变长参数 共4页 第8讲-Scala编程详解...
不错的spark & scala入门书
资源名称:Scala程序设计:Java虚拟机多核编程实战资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
赠送jar包:scala-compiler-2.11.12.jar; 赠送原API文档:scala-compiler-2.11.12-javadoc.jar; 赠送源代码:scala-compiler-2.11.12-sources.jar; 赠送Maven依赖信息文件:scala-compiler-2.11.12.pom; 包含...
1. if表达式 2.语句终结符、块表达式 3.输入和输出 4.循环 5.高级for循环
第1章简介11.3 函数式编程71.4 本书的内容91.5 本书面向的读者111.6 致谢11第 2 章 起步132.4 命令行上的Scala 162.5 把S
scala入门精华讲义,基本命令,详细实例。适合新手作为学习指南
1.函数的定义与调用 2.在代码块中定义包含多行语句的函数体 3. 递归函数与返回类型
Scala简介&快速入门 基础语法 变量 数据类型 流程控制 操作符重载 模式匹配 函数式编程基础 函数式编程说明 函数定义/声明 函数运行机制 递归 函数注意事项和细节 过程 惰性函数和异常 面向对象编程初级...
scala 入门PDF文档,编码规范文档。 Scala 是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。 Scala 运行在 Java 虚拟机上,并兼容现有的 Java 程序。
赠送jar包:scala-xml_2.11-1.0.4.jar; 赠送原API文档:scala-xml_2.11-1.0.4-javadoc.jar; 赠送源代码:scala-xml_2.11-1.0.4-sources.jar; 赠送Maven依赖信息文件:scala-xml_2.11-1.0.4.pom; 包含翻译后的API...
emacs-scala-mode 该模式旨在为Scala语言提供基本的emacs支持,包括: 代码,注释和多行字符串的本地缩进 运动命令 突出显示 另请参阅 。 安装 根据我们的指南,首选机制是通过MELPA和use-package : ( use-...
基础语法:1.Scala与Java的关系; 2.安装Scala; 3.scala解释器的使用 ; 4.声明变量; 5.数据类型与操作符;