• Scala基础(1)


    Scala基础语法

      声明与定义:

        val,常量声明                       val  x:T(把x声明成一个类型为T的常量)  x是变量的名字,T是变量的类型          val  x:T=e    x是常量,值是不可以改变的

        var,变量声明       var  x:T  (和val一样)  var x:T=e  x是变量,值是可以改变的

        类型省略(默认类型)          val x=e   var x=e

        声明省略(连续声明)          val x1,x2,x3  等价于 val x1; val x2; val x3                  var x1,x2,x3:T=e 等价于 var xn:T=e

        def,函数声明           def abc(xn:T):T*=e     def定义函数,abc函数名,xn参数,T参数类型,后面的T返回值类型

        无参函数         def adder()=e

        type类型声明

        class,类声明

        object,对象声明

    Scala有哪些类型?

        1.数值型:Int,Long,Short,Byte

        2.浮点型:Double,Float

        3.布尔型:Boolean

        4.字符型:char , String Char序列

        除了String归于java.lang包外,其他基本类型均是scala包的成员

        Int等基本类型的全名是scala.Int,但是包scala同java.long的所有成员都能自动引用,因为能再实际使用时候简化

        

    Scala操作符运算:

        使用中缀数学操作符+、-、*、/、%并产生对应的数值结果

        使用比较操作符<、>、>=、=<并产生布尔值结果

        使用逻辑操作符&&、||并产生布尔值结果

        使用对等操作符==、!=并产生布尔值结果

        使用位操作符&、|、^、~并产生数值结果

          

        实际上,ScaLa没有任何操作符,所有的操作符运算都是对方法(函数)的调用

        如1+2实际上是调用了.+() 这个方法1.+(2)

        在具体的调用中,调用+实际上包含了+的各种类型参数的重载,而无需额外定义                          1+2就是两个Int类型相加,1+1.2就是Int+Double

        操作符具有优先级                1+5*4=21 (1+5)*4=24

        操作符优先级一般如下:

          特殊字符 > */% > +- > : > =!> <> > & > ^ > | > 其他字母 > 赋值操作符    

        scala支持如“***”“+-+”之类的操作符重载,考虑其优先级一般以第一个符号为主

        值得注意的是,形如“*=”的操作符重载,会被认为是赋值操作符而具有最低的优先级

          m *= n+5 等价于 m *= (n+5)

    语句结束:

        Scala是基于行的语言,分号和换行均可作为语句的结束

        判定换行是否为语句的结束有以下规则:

          换行前的符号是一个语句的结束:常量、标识符、保留字及其他分隔符

          换行后的符号是一个语句的开始:除部分分隔符及保留字外的所有符号

          符号处在一个允许多语句的区域:Scala源文件中,匹配的{与}间

        

        换行不作为语句的结束:

          匹配的(与)之间,[与]之间

          XML模式下的区域

          case符号及匹配的=>符号之间

          if、while、for、type是允许跨两行的合法语句

    通常的Scala编写规范:

        代码格式化,不同段落、不同文件的Scala应保持相同的语法格式

        层次间缩进,避免长语句

        合理的命名;

          短作用域短名字,长作用域长名字

          通用缩写,词意与目的相近,莫要使用add来命名一个做减法的函数

          避免不同用途时重用名字

          避免用反引号声明保留字

          有返回值的方法(函数)用可描述的名字

        利用{}创建复合表达式

        及时注释 

  • 相关阅读:
    ubuntu 12.04 配置iscsi共享及挂载iscsi共享
    python_数据类型
    python_基本操作
    shell习题第5题:批量更改文件后缀名
    shell习题第4题:监控ip地址存活
    shell习题第3题:统计内存大小
    shell习题第2题:统计ip访问量
    shell习题第1题:每日一文件
    IIS网站的应用程序与虚拟目录的区别及应用
    http状态码
  • 原文地址:https://www.cnblogs.com/fishperson/p/10527064.html
Copyright © 2020-2023  润新知