• scala的基础部分


    最近接触到spark,spark又是scala编写的,所以需要学习一下scala。

    scala是面向对象的,一切皆为对象, 数值,函数都是对象。

    println("Welcome to the Scala")  /就这样进入scala学习模式了。。。。

    1、变量
    val x=10;自动转换类型为Int。
    val y:Int=10;自定义变量y的类型。
    lazy val c=a+b ;当变量c第一次被使用的时候才会被计算值。

    2、scala类型体系
    基类:Any
    Any下面是AnyVal和AnyRef
    val x:Long=20
    val u:Unit=() //相当于java中null
    3、函数
    def funName(param:paramTyte):ReturnType={
    //function body
    }
    def hello(name : String):String = {
         s"hello,${name}"
    }

    def hello1(name : String) = {
    println(s"hello,${name}")
    "hello String"
    }

    4、if表达式

    val a = 1; 
    if(a == 1){
    println("a = " +a);
    }else{
    println("a != " +a)
    }                                   
    if(a != 1)
    "a!=1"

    5、for循环

    for(i<- 1 to 3){
    println(i)
    }
    for(i<-1 until 3){
    println(i)
    }
    val list = List("hello","hello2","hello33")
    for{
    s<- list
    }println(s)
    for(i<-0 until list.length){
    println(list(i))
    }

    6、try{}catch{}finally{}异常捕获

    try {
    var i = Integer.parseInt("hello")
    } catch {
    case t: Throwable => t.printStackTrace()
    }finally {
    println("不论什么情况我都要执行!")
    }

    7、match匹配

    var myVar = "myValue"; 
    myVar match {
    case "value1" => println(myVar + " 1");
    case "value2" => println(myVar + " 2");
    case "myValue" => println(myVar + " 3");
    case _=> println("--没有找到我到我这里来--");
    } //> myValue 3

    利用周末休息时间到这里基础差不多学完了,自己总结的很简单,但是都是验证过的代码,后续还是会继续深入学习的。

  • 相关阅读:
    选择和冒泡
    马尔科夫模型
    网络IO
    java项目相对路径
    MySQL 数据类型
    基于 Token 的身份验证方法
    git 打标签
    git版本回退
    robotframework使用过程中的一些总结
    robotframework安装robotframework-requests库遇到的几种问题
  • 原文地址:https://www.cnblogs.com/xubiao/p/5616315.html
Copyright © 2020-2023  润新知