Scala的基本语法总结

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 }
原文地址:https://www.cnblogs.com/DreamDrive/p/5596185.html