Scala 速通语法(一)| 变量 | 运算符
Scala简介
- Scala 静态类型语言
- Scala 多范式编程语言 支持面对对象编程 函数式编程
- 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") } }
- Scala 与 Java 有着相同的数据类型,在 Scala 中数据类型都是对象,也就是说 scala 没有 java
- 类型图
- 命名规则
- 首字符为操作符(比如+ - * / ),后续字符也需跟操作符 ,至少一个(反编译)
- 用反引号
....
包括的任意字符串,即使是关键字(39 个)也可以
运算符
- 算术运算符 + - * / %不介绍同Java
- 关系运算符 大于小于等等 不介绍同Java
- 逻辑运算符 与或非 同Java
- 赋值运算
- =
- += 先加后赋值 -= *= ...等都一样
<<=
左移后赋值>>=
右移后赋值 &= ...类比理解
Scale不支持三目运算符,在Scala 中使用
if – else
的方式实现。
例如:
val num = 5 > 4 ? 5 : 4 //没有
val num = if (5>4) 5 else 4