zoukankan      html  css  js  c++  java
  • 寒假学习日报(三十六)

      今日学习:scala

    惰性函数:在调用的时候才会分配资源,非调用情况下不会执行

    package com.chapter01.hanshu
    
    object trylazy {
      def main(args: Array[String]): Unit = {
        val tre = sum(5, 6)
        //lazy不能修饰var类型变量
        lazy val res = sum(10, 20)
        println("====================")
        println("res=" + res)
      }
      def sum(n1:Int,n2:Int): Int ={
        println("sum函数已被执行 " + "n1=" + n1 + " n2=" + n2)
        return n1 + n2
      }
    }

     需要使用lazy进行声明,不可修饰var类型变量

    异常处理

    第一种是try catch处理:

    package com.chapter01.hanshu
    
    object ExceptionDemo {
      def main(args: Array[String]): Unit = {
        try {
          var res = 10 / 0
        }catch {
          case ex: ArithmeticException=>println("捕获了除数为0的算数异常")
          case ex: Exception=>println("捕获了异常")
        }finally {
          println("scala finally")
        }
        println("继续执行")
      }
    }

     第二种是throw处理

    package com.chapter01.hanshu
    
    object ThrowDemo {
      def main(args: Array[String]): Unit = {
        //    var res = test()
        //    println(res.toString)
        //如果希望test()后程序继续执行,还是要引入try catch
        try {
          test()
        } catch {
          case ex: Exception => println("输出异常信息:" + ex.getMessage)
          case ex: ArithmeticException => println("算数异常!")
        }
        println("继续执行")
      }
    
      def test(): Nothing = {
        throw new ArithmeticException("捕获No1异常!")
      }
    }

     这里也可以看出scala中try catch处理异常使用了case进行抛出处理,case的话是按顺序执行的,因此在之后编写代码的过程中,越详细的异常处理要往前放,越笼统的往后放。

    第三种是注释处理:

    package com.chapter01.hanshu
    
    object ThrowsComment {
      def main(args: Array[String]): Unit = {
        f11()
      }
      @throws(classOf[NumberFormatException])//等同于NumberFormatException.class
      def f11()={
        "abc".toInt
      }
    }

  • 相关阅读:
    4、linux-grep awk sed and cuf sort uniq join
    2、linux-compress and uncompresse
    1、linux-wget
    Blast 如何使用Blast+(Linux)转载
    1、R-reshape2-cast
    2、R-reshape2-melt
    doc下批处理文件的感想
    关于大数的四则运算
    hadoop分布式安装教程(转)
    关于java中sizeof的问题
  • 原文地址:https://www.cnblogs.com/20183711PYD/p/14402735.html
Copyright © 2011-2022 走看看