• 1.scala语法


    1. 对象的apply方法
      (1)对象调用apply()方法,可省略成()
      (2)string对象的apply方法返回第n个字符

      "hello"(4)  //‘o’
      
    2. if语句的返回值
      java把语句和表达式看做2个东西,语句执行动作,表达式返回值。eg:if语句没有返回值。而scala中,大部分的语法结构都有返回值。
      (1)if..else..语法结构的返回值 = if/else后面跟随的表达式的值

      scala> val s = if(1>0) 1 else -1
      res0: Int = 1
      
    3. for
      (1)scala中没有for(初始值;条件;更新变量)结构的循环
      (2)如需这样的循环,2种选择:while / for(i <- 1 to n)

      scala> for(i <- 1 to 5) print(i+",")
      1,2,3,4,5,
      

    (3)scala的for由3部分组成:生成器,守卫,循环体
    生成器:变量 <- 表达式
    守卫:if语句
    循环体:循环的逻辑,如果循环体以yield开始,则for的返回值时一个集合

    ```scala
    for(i <- 1 to 2; j <- 1 to 3)
      print(i*j+",")   //1,2,3,2,4,6,
      
    //带守卫的for
    for(i <- 1 to 2; j <- 1 to 3 if j!=2)
      print(i*j+",")   //1,3,2,6
      
    //yield构建集合
    for(i <- 1 to 10)
      yield i % 3   //Vector(1, 2, 0, 1, 2, 0, 1, 2, 0, 1)
    ```
    
    1. 函数

      //1.默认参数
      def decorate(value:String,left:String="[",right:String="]"): String ={
        left + value + right
      }
      decorate("haha") //[haha]
      
      //2.可变参数
      def sum(args:Int*): Int ={
        var sum=0
        for(i <- args)
          sum += i
        sum
      }
      sum(1 to 5: _*)  //15q
      
    2. 懒值
      (1)懒值在第一次被调用时初始化,如果没被使用过,则不去初始化
      (2)每次访问懒值时,scala都会调用一个方法来以线程安全的方式检查该值是否被初始化

      val words = scala.io.Source.fromFile("/home/lj/aaa.txt")         //words被定义时赋值
      def words2 = scala.io.Source.fromFile("/home/lj/aaa.txt")        //每次使用words2时被调用
      lazy val words3 = scala.io.Source.fromFile("/home/lj/aaa.txt")   //懒值在首次使用时初始化
      
    3. 异常处理
      scala没有受检异常---不需要声明函数或方法抛出某种异常。try代码快返回Nothing类型

        var in = new URL("http://www.baidu.com").openStream()
        try{
          //TODO 
        }finally {
          in.close()
        }
      
  • 相关阅读:
    冲刺阶段每日站立会议个人博客十二
    冲刺阶段每日站立会议个人博客十一
    针对其他团队建议的反馈
    软件工程概论第五周学习进度条
    冲刺阶段每日站立会议个人博客十
    冲刺阶段每日站立会议个人博客九
    每日站立会议个人博客八
    每日站立会议个人博客七
    软件工程概论第四周学习进度条
    每日站立会议个人博客六
  • 原文地址:https://www.cnblogs.com/72808ljup/p/5417683.html
Copyright © 2020-2023  润新知