目录
标识符的定义规则
for循环
breakable介绍
函数式编程
1)函数式编程的介绍
2)方法和函数的定义
3)递归
scala是什么?
1.scala是一门多范式的编程语言。
2.由spark的兴起,带动scala的发展。
java scala 和jvm的关系。
编写的java代码首先要经过javac编译器,编译成.class文件。然后经过java运行将.class文件加载到jvm中去运行。jvm是屏蔽机器本身硬件的。
编写一个 object ,对应的注释。
生成文档注释
scaladoc -d /usr/xwh/document test.scala
-d 是指定的参数
/usr/xwh/document 生成的文档注释存放的路径
test.scala 对这个文件生成文档
定义变量
var a : Int = 1;
val b : String = "aaa";
a = 3
println(a)
println(b)
var 和 val 的区别 用var定义的变量可以修改,用val定义的变量不可以修改。
数据类型
强制类型转换
将精度大的数据类型转换为精度小的数据类型,转换时要加上强制类型转换。
标识符的定义规则
for循环
breakable
函数式编程
1)函数式编程的介绍
2)方法和函数的定义
object Test {
def main(args: Array[String]): Unit = {
//调用的一个方法
val dog = new Dog
println("dog = "+ dog.sum(10,10))
//调用的一个函数
// dog.sum _ 将一个方法转换成函数
val function1 = dog.sum _
println("function1 = "+ function1(20,20))
//函数的定义
val function2 = (n1:Int,n2:Int) =>{
n1 + n2
}
println("function2 = "+ function2(30,30))
}
}
class Dog{
def sum(n1:Int,n2:Int):Int ={
return n1 + n2;
}
}
函数和方法的关系图
只是身份的不同 (按照不同的场合)
小张 在家是丈夫 在学校是校长
函数的定义
3)递归
递归的定义就是自己调用自己。
总结:1.循环调用自己本身就相当于重新进入一个函数(重新压栈)
2.调用总会有出口(有结果),否则就会陷入死循环。
3.重新压栈,每一次传入的参数都是独立的。
4)函数的注意细节讨论
5)惰性函数