scala 基础

基本类型

Boolean,Byte,char,Float,Double,Int,Long,short,Unit

Unit 表示无值,和其他语言中 void 等同。用作不返回任何结果的方法的结果类型。Unit只有一个实例值,写成()

变量和常量定义

// 格式 var|val 变量名称 (: 数据类型 ) = 变量值
val name = " wang " //val修饰常量,相当于java中的final
var age = 18 // 使用 var 修饰的变量 , 值可以修改
val nickName : String = " 牛牛 " //可以指定数据类型,否则系统自动推断

字符串格式化输出

val name = "wang"
val price = 19.1
val url = "www.baidu.com"
//'f'插值器相当于C语言中的`printf`,可以输出格式化字符串
println(f"$name%s 学费 $pirce%1.2f, 网址是 $url") 
printf("%s 学费 %1.2f, 网址是 %s",name,pirce,url)  //和使用'f'插值器是等价的
println(s"name=$name, pirce=$pirce, url=$url") //'s'插值器结合'$'符可以直接使用变量
println(s"1 + 1 = ${1 + 1}")// 's'插值器结合'$'符{}内可以写表达式

条件表达式

val score = 70
val res = {
    if(score > 60 && score < 70) "及格"
    else if(score >=70 && score < 80) "优秀"
    else "优秀"
}

循环语句

for(ele <- Array(1,2,3)){ //有点像python中的循环,<- 代替了in
    print(ele)
}

for(i <- 0 to 5){//前后都是闭区间
    println(i)
}

for(i <- 0 until 6){//前闭后开,相当于Python中的range
    println(i)
}


for(i <-arrayif e % 2 == 0) { //添加过滤器,和python相似
    println(i)
}

方法定义和调用

// def methodName ([list of parameters]):[return type] = {}
def sum(a:Int, b:Int): Int = {
    a+b
}
val res = sum(1,5)

val f1 = res _ //将方法转换为函数


函数的定义和调用

val f1 = (x: Int) => x * 10 //第一种函数定义的方法
f1(10)
val f2:(Int, Int) => Int = (x, y) => x * y


方法作为参数

多值参数

def f(a: String*) = {
    for (p <- a){
        println(p)
    }
}

f(1,2,3)

默认参数

def add(a: Int = 1, b: Int = 7): Int = {
    a+b
}
add()

高阶函数(闭包)

部分餐宿应用函数

科里化

科里化和python中的闭包有点相似

偏函数

数组的定义

var x:Array[String] = new Array[String](3) //长度可变,内容可变(var)
var y  = new Array[String](3) //长度可变,内容可变(var)
val z = Array(1,2,3) //长度不可变,内容可变(val)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值