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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步