scala函数定义、流程控制与异常处理
2016-02-21 14:10
323 查看
场景
scala语法基础实验
package com.scode.scala /** * author: Ivy Peng * function: scala函数定义、流程控制、异常处理基础 * date:2016/02/21 13.17 * sum: * 1、scala较java更能体现面向对象,数字 1 也有方法 : 1.to(10) * 2、语法更 简洁,能省就省 :语句末尾可以不用 ";"结束 * 3、scala中可以直接调用java中相关类 * 4、java相当于吉他,而scala就相当于钢琴 -> 没错音乐与程序是相通的! */ object ScalaBasics { def main(args:Array[String]) { looper(1,10) testIf(0) testFor testDowhile testException(1) } /** * 函数定义语法: * def funName(arg:argType,...)[:returnType] = * { * [returnValue] * } */ def looper(x:Long,y:Long):Long = { var a = x var b = y while(a!=0) { val temp = a a = b%a b = temp } b } /** * 条件控制 if-else */ def testIf(x:Int) = { //语法一 var file = "scala.java" if(0.equals(x)) file = "scala.scala" else "spark.scala" println(file) //语法二 var file2 = if(0.equals(x)) "scala.scala" else "spark.scala" println(file2) } /** * 循环控制 for : 变量不用显性定义可以直接使用 */ def testFor() = { for(i <- 1 to 10) { println(i) } for(i <- 1.to(10)) { println(i) } var files = (new java.io.File(".")).listFiles() for(file <- files) { println(file) } } /** * 循环控制 do-while */ def testDowhile() { var line = "" do { line = readLine() println(line) } while(!"".equals(line) ) } /** * 异常控制 * 语法: * try{}catch{[case e:Exception =>]...}finally{} */ def testException(x:Int) = { try { var num = if(x%2 == 0) x%2 else throw new RuntimeException("Input should be event!") println(num) } catch { case e:Exception => println(e.getMessage()) } finally { //do-something } } }
参考文献
scala 深入浅出实战经典 . 王家林相关文章推荐
- Android MediaPlayer Error -1004
- 《面向对象分析与设计》阅读笔记1
- 代理模式
- ubuntu下latex安装(含中文环境)
- ubuntu初探3---对文件的操作命令
- ZOJ1029
- 30-Tomcat unable to start within 45 seconds.
- const 关键字
- 数据结构(8)--栈的应用之行编辑程序、括号匹配检验、数制转换、hanio塔问题
- 网站的压力测试
- 228. Summary Ranges
- Spring 框架的设计理念与设计模式分析
- 【Linux 开发篇】之 vim编辑器
- Jetty 的工作原理以及与 Tomcat 的比较
- 3660 Cow Contest (传递闭包 floyd)
- a=aa&b=bb化为{a:"aa",b:"bb"}方法
- AQS框架
- Mysql全局ID生成方法
- Android发送消息相关类的源码解析,Handle,MessageQueue,Looper
- java中的equals和==