scala:
java语言脚本化,运行在JVM之上。java能用的库,scala也能用。
面向函数:
直奔主题
直接写程序,运行即可
安装scala解析器:
tar
配置PATH
scala进入命令行
java和scala区别:
javac java
java ---> .class ----> App
scalac scala
scala ----> .class ----> App
scala常用类型:7种,并不刻意区分基本类型和引用类型
Byte Char Short Int Long Float Double Boolean 都是类
infer:类型推断,定义变量时候可以不用定义变量类型,自己会进行判断
scala java
Int int + Integer
val (value) final
var 变量
scala基础语法学习:
scala> :history
scala> :help
scala> :clear
scala> : 1 + 2
res4: Int = 3
scala> 5 + res4
res5: Int = 8
scala> "hello" + res5
res6: String = hello8
scala> val x = 2 + 5 --> 指定变量类型
x : Int = 7
scala> x = 10 --> 报错
scala> var y = 1 + 4 --> 不指定变量类型
y : Int = 5
scala> y = 11 --> 正确
scala> val greeting : String = null 指定变量类型
scala> val greeting : Any = "Hello" --> 任意类型,区分大小写
scala> a + b --> +加号是方法,下面两个等同
res9:Int = 200
scala> a.+(b)
res10:Int = 200
在scala里面,+-*/,&|^>><<等操作符实际上是方法。a 方法 b = a.方法(b)。如:1 to 10 = 1.to(10)
val x = 1.to(10) --> 输出1到10 range,函数方法
x: scala.collection.immutable.Range.Inclusive = Range(1,2,3,4,5,6,7,8,9,10)
var y = 2.to(10)
y: scala.collection.immutable.Range.Inclusive = Range(2,3,4,5,6,7,8,9,10)
Int --> RichInt
Double --> RichDouble
Char --> RichChar
to 方法是RichInt类中的方法,在1.to(10)里面,Int
var x = 1 to 10 --> 操作符
x: scala.collection.immutable.Range.Inclusive = Range(1,2,3,4,5,6,7,8,9,10)
var x = 1.toString --> 1自动转换成Integer
x: String = 1
val x:Int = 1.toString --> 报错,指定x为Int类型,但是又将1转换为String类型
StringOps:字符串操作,字符串工具类
var x = "hello".intersect("world")
x: String = lo --> 判断字符串重叠部分
val x = 97.toChar
x: Char = 97
val:Char = 97 --> 报错哦
val x : Short = 100
x : Short = 100
scala>a += 3
scala> a
res13: Int = 103
scala里面没有++/-- 不支持(说的是因为Int类不可变,每次出来都是新的变量)
支持+= | -=