在scala中,万物皆对象,变量方法函数都是对象,都可以调用方法
在scala中,没有运算符,都是方法:1.+(2) 简写成 1+2 =3; 1.-(2) 简写成 1-2 =-1
1、定义变量
var/val x={if (y>0) 1 else if (y<-2) -1 else 0} 这是块表达式,大括号可以省略
2、循环
for和while循环,for常用
for循环语法结构:for (i <- 表达式/数组/集合)
///for(i <- 表达式),表达式1 to 10返回一个Range(区间) //每次循环将区间中的一个值赋给i for (i <- 1 to 10) println(i) val arr = Array("a", "b", "c") for (i <- arr) println(i) //每个生成器都可以带一个条件,注意:if前面没有分号 //代码解释:当i=1,j=1,2,3 时 ,如果i!=j,就执行循环语句 ;当i=2,j=1,2,3 时 ,如果i!=j,就执行循环语句 当i=3,j=1,2,3 时 ,如果 i!=j,就执行循环语句 for(i <- 1 to 3; j <- 1 to 3 if i != j) print((10 * i + j) + " ") println() val v = for (i <- 1 to 10) yield i * 10 println(v) //每次迭代生成集合中的一个值 |
3.定义方法(def =)
4.定义函数( =>)
f1是函数名, 没有的话就是匿名函数
在函数式编程语言中,函数是“头等公民”,它可以像任何其他数据类型一样被传递和操作。
def m1(f: (Int, Int) => Int) : Int = {
f(2, 6)
}
对比函数和数据类型
def m1(f: int) : Int = {
f+3
}
5.方法和函数
//定义一个方法, //返回值类型也是Int类型 | |
//定义一个函数的两种方法 | |
//将方法转化为函数 val fuct=m1 _ 方法+空格+下划线 |