一.环境搭建
官网下载scala编译器或插件
二.数据类型
scala中的数据类型和java中数据类型最大的区别就是scala中的数据类型都是对象 , 也就是scala中没有原生的数据类型!
scala中的数据类型分成两类 AnyVal(值类型)和AnyRef(引用类型) , 两种对象都属于Any ,都是对象.
例如: val age:Int = 23
age是一个Int数值类型的变量 , 数值类型的变量也属于一个对象 , 所以age变量就是一个对象,也拥有很多方法
Any : 所有类型的父类 , 类似于java中的Object
AnyVal: 数值类型(简单类型)
AnyRef: 引用数据类型
Null: 应用类型的子类,类似于java中的null ,是所有引用类型的子类
Nothing: 所以类型的子类 可以返回给任意的变量或者函数 通常异常时使用,表示此处有错误
三.基本语法
1.1二分查找
def binarySearch(arr: Array[Int], find: Int): Int = {
if (arr.length == 0) {
println("数组为空")
return -1
}
// 对待排的数组排序
val sorted: Array[Int] = arr.sorted
// 起始位置所以
var start = 0
// 检索的最后一个元素
var end = arr.length - 1
while (start <= end) {
val midd = (start + end) / 2
if (sorted(midd) > find) {
end = midd - 1
} else if (sorted(midd) < find) {
start = midd + 1
} else {
println(s"$find in index :$midd")
return midd
}
}
return -1
}