• 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 }
  • 相关阅读:
    JS中attribute和property的区别
    px(像素)、pt(点)、ppi、dpi、dp、sp之间的关系
    计算几何
    动态凸包
    斜率DP题目
    斜率DP个人理解
    后缀数组题目
    CF#190DIV.1
    MANACHER---求最长回文串
    扩展KMP题目
  • 原文地址:https://www.cnblogs.com/DreamDrive/p/5596185.html
Copyright © 2020-2023  润新知