Scala语言入门五(函数)-阿里云开发者社区

开发者社区> Java技术进阶> 正文

Scala语言入门五(函数)

简介: Scala语言函数的使用

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提供了两种方式,分别为tountil, 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 )
   }
}

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
Java技术进阶
使用钉钉扫一扫加入圈子
+ 订阅

Java技术进阶成长,课程资料,案例解析,实战经验全都有!

官网链接