1.scala函数的组成
def 方法名(参数名:参数类型):返回值类型={
//括号内叫做方法体
//方法体内的最后一行为返回值,不需要使用return
}
默认参数:在函数定义时,允许指定参数的默认值
默认值是"pk"
def sayName(name:String="PK"):Unit={
print(name)
}
命名参数
def speed(distance:Float,time:Float):Float={
distance/time
}
默认是1,2,其中3是使用了命名参数
1.speed(100,10)
2.speed(distance = 100,time=10)
3.speed(time = 10,distance = 100)
可变参数–函数可以传很多参数
参数类型加一个*代表多个参数
def sum2(numbers:Int*)={
var result=0;
for(number<-numbers){
result+=number
}
result
}
条件表达式
Scala的条件表达式
Scala的if/else语法结构和Java或C++一样。
不过,在Scala中,if/else是表达式,有值,这个值就是跟在if或else之后的表达式的值。
var x=1
if(x>0){
true
}else{
false
}
循环表达式
语法
Scala 语言中 for 循环的语法:
for( var x <- Range ){
statement(s);
}
Range 可以是一个数字区间表示 i to j (左闭右闭),或者 i until j(左闭右开)。左箭头 <- 用于为变量 x 赋值
for(i<- 1 to 10 if i%2==0){
print(i)
}
for 循环集合
for 循环集合的语法如下:
for( var x <- List ){
statement(s);
}
object Test {
def main(args: Array[String]) {
var a = 0;
val numList = List(1,2,3,4,5,6);
// for 循环
for( a <- numList ){
println( "Value of a: " + a );
}
}
}
for 循环过滤
Scala 可以使用一个或多个 if 语句来过滤一些元素。
以下是在 for 循环中使用过滤器的语法。
for( var x <- List
if condition1; if condition2...
){
statement(s);
for 使用 yield
你可以将 for 循环的返回值作为一个变量存储。语法格式如下:
var retVal = for{ var x <- List
if condition1; if condition2...
}yield x
for循环遍历数组
//定义一个数组
var myList = Array(1.9, 2.9, 3.4, 3.5)
// 输出所有数组元素
for ( x <- myList ) {
println( x )
}
// 计算数组所有元素的总和
var total = 0.0;
for ( i <- 0 to (myList.length - 1)) {
total += myList(i);
}
println("总和为 " + total);
foreach 语法
var myList = Array(1.9, 2.9, 3.4, 3.5)
//x就是mylsist里面的每个元素
//=>就是将左边x作用一个函数,变成另外一个结果
//函数是println
myList.foreach(x=>println(x));