Scala

								Scala
重要特性:
			1.运行在jvm上面的动态解释型语言
			2.与java可以混编
			3.类型自动推测
			4.并发,分布式
			5.接口与抽象类可结合,多实现,多继承
			6.高阶函数(最重要特性):高灵活性,参数列表可传递除去java以外的函数
			返回值也可为一个函数
			7.模式匹配(分支语句,既能匹配值也可匹配字符串与引用类型)

在Scala中单行的变量声明可不用分号结尾

数据类型:
			1.包含java所有基本类型与引用类型
			2.Unit:表示无值,与其它语言中的void等同
			3.Null:便是空值或者空的引用
			4.Noting:所有其它类型的子类,表示没有值
			5.Any:所有的类型的超累,任何实例都属于Any类型
			6.AnyRef:所有引用类型的超类
			7.AnyVal:所有值类型的超类
			8.None:Option的两个子类之一,另一个是Some,用于安全函数的返回值
			9.Nil:长度为零的List	

变量与常量的声明:
1.var 用于声明变量
2.val 用于声明常量

构造器声明:
class Person(name:String,age:int) //变量名:变量类型
构造器重写: def this(参数列表){this(name,age)} //必须调用默认构造器

创建对象的时候,除了方法内部不执行,其它的都会执行

被Object 修饰的方法不能传参,可以理解为一个单例的对象,而且修饰的方法都是静态的方法

伴生类:在同一个Scala文件中,若class与object的名字相同,则互为伴生类,伴生对象,它们可以直接访问对方的私有变量

class属性自带get,set方法

循环结构体与java一致
println(1 to 10) // 打印1~10
println(1 until 10) // 左闭又开 1~9
println(1 to (10,2)) // 2为步长 打印 1 , 3 , 5 , 7 , 9

for(i < - 1 to 10){println(i)} 换行打印1~10
可将判断语句写在 循环体的参数列表中

双层for循环可以同时写在一个for循环体的参数列表中:
for(i <- 1 to 10; j <-1 to 10)

Scala不支持自增与自减运算,在函数中return可以省略不写,默认执行到函数最后一行return
函数返回值可以省略,会自动推断函数返回值类型,显示的调用return时,不可省略返回值类型

如果将等号省略掉,则函数自动将返回值丢弃掉,没有返回值的时候可以将等号省略掉.
函数传参默认为常量,在函数内部不能修改参数的值
递归函数不能省略返回值类型
默认值参数函数,直接在函数参数列表中为形式参数赋值,传参顺序为自左向右
嵌套函数: 类似java中的方法中调用另外一个方法
偏应用函数:可以将函数中参数列表中的一个参数作为固定值,多次使用,可以只提供函数中的部分参数来使用

							高阶函数

概念:1.函数的参数是函数 2.函数的返回值是函数 3.函数的参数列表和返回值都是函数
柯里化函数:是高阶函数的简写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值