Scala函数的使用
1、定义
def 方法名(参数名: 参数类型): 返回值类型 = {//方法体}
/**
* @author Gjing
**/
object Test {
def main(args: Array[String]): Unit = {
sayHello("Hello")
}
def sayHello(text: String):Unit = {
println(text)
}
}
如果你不写等于号和方法主体,那么方法会被隐式声明为抽象(abstract),包含它的类型于是也是一个抽象类型。
2、默认值
调用方法时如果为传参,则会使用默认值
/**
* @author Gjing
**/
object Test {
def main(args: Array[String]): Unit = {
sayWorld()
}
def sayWorld(text: String = "World"):Unit = println(text)
}
3、命名参数
可通过参数名指定你当前设置的值是哪一个参数
/**
* @author Gjing
**/
object Test {
def main(args: Array[String]): Unit = {
nameTest(text1 = "hello",text2 = "world")
}
def nameTest(text1: String, text2:String): Unit = {
println(text1, text2)
}
}
4、可变参数
不限制参数的数量,如Java1.5出现的...
/**
* @author Gjing
**/
object Test {
def main(args: Array[String]): Unit = {
varTest(1,2,3,4)
}
def varTest(a: Int*):Unit = println(a)
}
5、条件表达式
和java类似
object Test {
def main(args: Array[String]): Unit = {
if (1 == 1) println(true) else println(false)
}
}
6、循环表达式
在循环时很多时候会用到区间,scala提供了两种方式,分别为to
和until
, to
关键字会包含右边的值,比如1 to 10
,此时循环输出会是1-10;until
不包含, 循环输出会是1-9
a、while
运行一系列语句,如果条件为true,会重复运行,直到条件变为false
object Test {
def main(args: Array[String]) {
// 局部变量
var a = 10;
// while 循环执行
while( a < 20 ){
println( "Value of a: " + a );
a = a + 1;
}
}
}
b、for
用来重复执行一系列语句直到达成特定条件达成,一般通过在每次循环完成后增加计数器的值来实现
object Test {
def main(args: Array[String]) {
// for 循环
for( a <- 1 to 10){
println( "Value of a: " + a );
}
}
}
c、do while
条件表达式出现在循环的尾部,所以循环中的 statement(s) 会在条件被测试之前至少执行一次
object Test {
def main(args: Array[String]) {
// 局部变量
var a = 10;
// do 循环
do{
println( "Value of a: " + a );
a = a + 1;
}while( a < 20 )
}
}