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 }


 


作者:SummerChill