zoukankan      html  css  js  c++  java
  • 快学Scala--01--基本概念

    1.基本概念:

    1.1Scala 解释器:

    shell>>scala 回车
    Scala 并不是一个解释器,输入的内容被快速的编译成字节码,字节码交给了JVM运行,因此被称为REPL

    1.2.声明值和变量

    val 定义的值实际上是一个常量----你无法改变它的内容
    var 声明的值是可以改变的
    scala> val i=0;
    i: Int = 0
    
    scala> var j=1
    j: Int = 1
    
    scala> i=2
    <console>:12: error: reassignment to val
           i=2
    scala> j=3
    j: Int = 3
     
    声明变量和值的时候不需要指定类型,类型会被推断
    但是你可以指定其类型,如下
    scala> val i:Int =9;
    i: Int = 9
    
    scala> val test:String ="hello"
    test: String = hello
    scala 当中,仅当同一行代码中存在多条语句才需要使用分号隔开

    1.3.常用类型

        Byte Char Short Int Long Folat Double Boolean
        Scala 并不刻意区分基本类型和引用类型

      
    scala> 1.toString
    res1: String = 1
    
    scala> 1.to(10)
    res2: scala.collection.immutable.Range.Inclusive = Range 1 to 10
        包装类型和和基本类型之间的转换是Scala编译器的工作
    scala> "hello".intersect("world")
    res3: String = lo
     
    我们使用方法而不是强制类型转换来做数值类型之间的转换
    toInt toDouble toChar toString

    1.4.算术和操作符重载

    + - *  /  %   & | ^ >> << 
    =注意没有++和-- 但是有  count+=1,和count-=1;
    显示:a.to(b)
    隐式:a to b
    操作符重载意思是自己定义操作符

    1.5.调用函数和方法

    import scala.math._
    sqrt(2)
    pow(2,4)
    min(2,Pi)
    无静态方法,但是有 类似的特性,叫做单例对象,而且一个类还有一个伴生对象

    1.6.Apply方法

    scala> val s="hello"
    s: String = hello
    ​
    scala> s(2)
    res27: Char = l
    ​
    scala> s.apply(2)
    res28: Char = l

    1.7Scaladoc 的使用

    C是类,O是伴生对象
     

    2.概念补充

    2.1Scala的基础类型

        Scala共计14种基础类型:
        Null 值
    空值是 scala.Null 类型。
    Scala.Null和scala.Nothing是用统一的方式处理Scala面向对象类型系统的某些"边界情况"的特殊类型。
    Null类是null引用对象的类型,它是每个引用类(继承自AnyRef的类)的子类。Null不兼容值类型
    2.2.变量的声明
        变量声明一定需要初始值,否则会报错。真的嘛,试一试
        声明形式:  var/val  VariableName : DataType [= Initial Value]
        元组对的声明: var pa=(100,"hello")
    2.3访问修饰符
        private protected public 如果没有指定访问修饰符,默认是public
    对于protected【】 和private【】 要仔细体会
    2.4.字符串的运算
        字符串也支持 + 的连接运算,包括和数字进行连接,结果返回字符串
        Thread.sleep()照用不误
        Scala 自动将函数的最后一行作为返回值 不需要return 关键字,当然也可以写上
     
     
    《快学Scala》高清中文PDF+源代码
    提取码:an5d 
     
  • 相关阅读:
    ES6变量的解构赋值、字符串的新增方法
    JavaScript的基础语法及DOM元素和事件
    ES 新特性、异步、TypeScript
    JS实现PC端URL跳转到对应移动端URL
    jquery版本过低安全漏洞问题
    重磅!华为云社区·CSDN【寻找黑马程序员】有奖征文活动奖项公布!!
    车标知识学习网页开发,与Flask通过base64展示二进制图片 #华为云·寻找黑马程序员#
    大型情感剧集Selenium:3_元素定位 #华为云·寻找黑马程序员#
    大型情感剧集Selenium:2_options设置 #华为云·寻找黑马程序员#
    【nodejs原理&源码赏析(9)】用node-ssh实现轻量级自动化部署
  • 原文地址:https://www.cnblogs.com/feixiaobai/p/7a762c9bb495b3db19086f9fc6849cf6.html
Copyright © 2011-2022 走看看