zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    POJ 2923 Relocation (状态压缩,01背包)
    HDU 2126 Buy the souvenirs (01背包,输出方案数)
    hdu 2639 Bone Collector II (01背包,求第k优解)
    UVA 562 Dividing coins (01背包)
    POJ 3437 Tree Grafting
    Light OJ 1095 Arrange the Numbers(容斥)
    BZOJ 1560 火星藏宝图(DP)
    POJ 3675 Telescope
    POJ 2986 A Triangle and a Circle
    BZOJ 1040 骑士
  • 原文地址:https://www.cnblogs.com/DreamDrive/p/5596185.html
Copyright © 2011-2022 走看看