Scala 速通语法(一)| 变量 | 运算符

Scala简介


  1. Scala 静态类型语言
  2. Scala 多范式编程语言 支持面对对象编程 函数式编程
  3. Scala 会被编译成Java字节码文件 调用现有Java类库

简单语法

Object:声明一个单例对象 一般叫做伴生对象
main方法:可以直接从外部调用的执行的方法
def 方法名称(参数名称:参数类型):返回值类型 = {方法体}

可以省略分号 ; 加上也可以

package com.zhy.chapter01
object Hello {
  def main(args: Array[String]): Unit = {
    println("hello scala")
  }
}

变量

  • 变量基本用法
    //1.var | val 变量名 [: 变量类型] = 变量值
    //2.Scala中小数默认**Double** 整数默认**Int**
    //3.Scala中编译器会自动推断类型,所以变量类型大部分时候可以省略
    //4.Scala中有两种定义变量方式:var 变量 val 不可变变量(常量)【但是修饰对象中的属性可以变,只是修饰的这个常量对象地址不可变】
    //5.val没有线程问题 效率高
    //6.val 修饰的变量在编译后,等同于加上 final
    //7.变量声明时,需要初始值
    
  • 变量数据类型
    • Scala 与 Java 有着相同的数据类型,在 Scala 中数据类型都是对象,也就是说 scala 没有 java
      中的原生类型
    • Scala 数据类型分为两大类 AnyVal(值类型) 和 AnyRef(引用类型), 注意:不管是 AnyVal 还是 AnyRef 都是对象
    //因为 Int 是一个类,因此他的一个实例,就是可以使用很多方法
    //在 scala 中,如果一个方法,没有形参,则可以省略()
    object TypeDemo01 {
    	def main(args: Array[String]): Unit = {
    		var num1: Int = 10
    		println(num1.toDouble + "\t" +num1.toString + 100.toDouble)
    		var isPass = true // println(isPass.toString)
    		sayHi()
    	}
    	def sayHi(): Unit = {
    		println("say hi")
    	}
    }
    
  • 类型图
    image
  • 命名规则
    • 首字符为操作符(比如+ - * / ),后续字符也需跟操作符 ,至少一个(反编译)
    • 用反引号....包括的任意字符串,即使是关键字(39 个)也可以

运算符

  • 算术运算符 + - * / %不介绍同Java
  • 关系运算符 大于小于等等 不介绍同Java
  • 逻辑运算符 与或非 同Java
  • 赋值运算
    • =
    • += 先加后赋值 -= *= ...等都一样
    • <<= 左移后赋值 >>= 右移后赋值 &= ...类比理解

Scale不支持三目运算符,在Scala 中使用 if – else 的方式实现。
例如:

val num = 5 > 4 ? 5 : 4   //没有
val num = if (5>4) 5 else 4
posted @ 2021-05-17 10:41  —清风碎心—  阅读(80)  评论(0编辑  收藏  举报