Scala的函数:
目前博客园中的代码编辑器中还不支持Scala语言....用的Java代码的存储方式
1 object TestScala { 2 def main(args: Array[String]): Unit = { 3 //println("hello world!!") 4 5 //调用方式一: 6 var c = add(1,3)//该行打印4 7 println(c) //该行返回"()" 这在scala中有一个专门的名称描述,叫做Unit类型. 8 /* 9 * 返回结果: 10 * 4 11 * () 12 */ 13 14 var d = add2(1,3) 15 println(d) 16 /* 17 * 返回结果: 18 * 4 19 */ 20 21 //调用方式二: 22 var e = add2(a =1,3) 23 //var e = add2(a =1, b=3) 24 //var e = add2(b =3, a=1) 25 //var e = add2(b =3,1) 这样是不可以的. 26 println(e); 27 /* 28 * 返回结果: 29 * 4 30 */ 31 32 33 } 34 /* 35 * 函数定义 36 * 无返回值的函数(或者说返回Unit类型) 37 */ 38 def add(a:Int , b:Int){ 39 println(a + b) 40 } 41 42 /* 43 *定义有返回值的函数必须满足两个条件: 44 *第一:小括号()和大括号{} 中间必须添加等号. 45 *第二:将有值的变量放到最后一行. scala默认返回最后一行的值. 46 *第三:如果返回值类型强制制定为Unit类型,返回值就是Unit类型. 47 */ 48 def add2(a:Int , b:Int) :Int = {//:Int 可以不写,scala会判断返回值是什么类型 49 a + b 50 } 51 52 // def add2(a:Int , b:Int) :String = { 定义成String类型的返回值,会报编译错误 53 // a + b 54 // } 55 56 // def add2(a:Int , b:Int) :Unit = { 定义成Unit类型的返回值,不会报编译错误,但是返回值变成了Unit类型 57 // a + b 58 // } 59 60 def add3(a:Int , b:Int) :Int = { 61 a + b 62 } 63 64 def add4(a: Int, b: Int) = { 65 "a=" + a + " b=" + b 66 } 67 }
Scala中的if语句:
1 object TestScalaIf { 2 def main(args: Array[String]): Unit = { 3 4 // val resutlt = judge1(-100) 5 // println(resutlt) 6 7 val resutlt2 = judge2(100) 8 println(resutlt2) 9 } 10 /* 11 * scala中不存在三元运算符,使用if/else 12 */ 13 def judge1(x:Int) = { 14 val c = if(x > 0) 1 else "superman" 15 c 16 } 17 18 /* 19 * scala在做分层判断时,必须要把每一种可能性都判断好 20 */ 21 /* 22 def judge2(x: Int) = { 23 if(x>0){ 24 1 25 }else if(x<0){ 26 -1 27 }else{ //这种情况下和Java没有任何的区别. 28 0 29 } 30 } 31 */ 32 def judge2(x: Int) = { 33 if(x>0){ 34 1 35 }else if(x<0){ 36 -1 37 } 38 0//这个0是无论x是什么样的值都会走的.最后的返回值都是此处的0 39 } 40 41 }