您的位置:首页 > 其它

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 深入浅出实战经典 . 王家林
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: