Scala学习笔记

1、Scala自定义函数

object MethodDemo {
  def main(args: Array[String]): Unit = {
    maxNum(5, 6)
    //无参数函数可以省略括号
    helloScala
  }

  //带参数函数
  def maxNum(x: Int, y: Int): Int = {
    if (x > y) {
      println("最大值是: " + x)
      return x
    } else {
      println("最大值是: " + y)
      return y
    }

  }

  //无参数函数
  def helloScala(): Unit = {
    println("Hello Scala ...")
  }
}

结果:

最大值是: 6
Hello Scala ...

 

2、for循环:

import scala.util.control.Breaks

object ScalaDemo {
  def main(args: Array[String]): Unit = {
    var array = (0 to 10).toArray
    var length = array.length
    println("the length of array is " + length)
    var loop = Breaks
    //最基本的for循环写法
    for (a <- array) {
      print(a + " ")
    }
    println()
    //for循环的守护模式,实现continue和break
    println("for循环的守护模式,实现continue和break")
    //break
    for (a <- array if a < 5) {
      print(a + " ")
    }
    println()
    for (a <- array if a != 5 && a != 6) {
      print(a + " ")
    }
    println()
    println("实现9*9乘法表")
    for {i <- 1 to 9
         j <- 1 to i} {
      print(s"${j}*${i}=${i * j} ")
      if (j == i) {
        println()
      }
    }
  }
}

结果:

the length of array is 11
0 1 2 3 4 5 6 7 8 9 10 
for循环的守护模式,实现continue和break
0 1 2 3 4 
0 1 2 3 4 7 8 9 10 
实现9*9乘法表
1*1=1 
1*2=2 2*2=4 
1*3=3 2*3=6 3*3=9 
1*4=4 2*4=8 3*4=12 4*4=16 
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 

3、匿名函数

 在Scala中,函数也可以不需要命名,此时函数成为匿名函数;可以直接定义函数后,将函数赋值给某个变量;也可以将直接定义的匿名函数传入其他函数之中;Scala定义匿名函数的语法规则就是,(参数名:参数类型)=>函数体

object MethodDemo {
  def main(args: Array[String]): Unit = {
    val sayHello = (name: String) => {
      println("Hello " + name)
    }
    sayHello("Lucy")
  }
}

4、数组

import scala.collection.mutable.ArrayBuffer

/**
  * Created by zuowei.zhang on 2018/9/8 16:08
  */
object ArrayDemo {
  def main(args: Array[String]): Unit = {
    //数组的定义:定长数组
    println("定长数组")
    val arr1 = Array(1, 2, 3, 4, 5, 6)
    val arr2 = new Array[Int](10)
    //更新值
    arr1(0)=1000
    println(arr1(0))
    //数组的定义:可变数组
    println("可变数组")
    var buf=ArrayBuffer[Int]()
    buf.append(1)
    buf.append(2)
    buf+=3
    println(buf)
    println("指定位置插入数据")
    buf.insert(1,4)
    println(buf)
    println("删除数据")
    buf.remove(1)
    println(buf)
  }
}

结果:

定长数组
1000
可变数组
ArrayBuffer(1, 2, 3)
指定位置插入数据
ArrayBuffer(1, 4, 2, 3)
删除数据
ArrayBuffer(1, 2, 3)

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值