Scala常用数据类型实战

1.数组

object ScalaDataType {
    
    
  def main(args: Array[String]): Unit = {
    
    
    // val 声明常量
    val string = "scala";
    // var 来声明变量
    var str = "to";
    str = " many";

    val a = 20;
    if (a < 50) {
    
    
      println("number is " + a);
    }
    //    println(string == str)

    //    val unit = calculationSum(30, 60)
    //    println(unit)
  }

  // unit 类似于 Java 的void  带 return 需要 定义返回类型
  def calculationSum(x: Int, y: Int): Int = {
    
    
    return x + y;
  }

  val multiplier = (i: Int) => i * 10 - 1;
  println(println("muliplier(1) value = " + multiplier(5)))

  val name: String = "hello scala";

  println(name.length)

  val addr = "北京";

  val a = 34;

  // 数组

  // 创建长度为3的数组
  var z: Array[String] = new Array[String](3)

  z(0) = "Runoob";
  z (1) = "Baidu";

  var zz = new Array[String](3)
}

数组常用方法

object TestArray {
    
    
  def main(args: Array[String]): Unit = {
    
    
    var myList = Array(1, 3, 5, 8, 4, 5, 23, 9)
    // 遍历
    for (x <- myList) {
    
    
      //      println(x)
    }

    // 遍历求和
    var total = 0.0;
    for (i <- 0 to (myList.length - 1)) {
    
    
      total += myList(i);
    }
    println("遍历求和" + total)

    // 遍历求最大
    var max = myList(0);
    for (i <- 0 to (myList.length - 1)) {
    
    
      if (myList(i) > max) {
    
    
        max = myList(i)
      }
    }
    println("数组的最大值 为:" + max)

  }
}

2、list

object ScalaList {
    
    
  def main(args: Array[String]): Unit = {
    
    
    // 字符串列表
    val list = List("Runoob", "Google", "Baidu")
    // val site: List[String] = List("Runoob", "Google", "Baidu")

    val list3 = List("XinLang", "HuaWei", "XiaoMi")

    // 整形列表
    val list2 = List(1, 4, 5, 89)
    // val nums: List[Int] = List(1, 2, 3, 4)

    // 空列表
    val empty = List()
    // val empty: List[Nothing] = List()

    // 二维列表
    val dim = List(
      List(1, 2, 3),
      List(4, 5, 6),
      List(7, 8, 9)
    )
    //    println(empty)
    // head 返回第一个元素
    //    println(list2.head)
    // tail 返回一个列表,除了第一元素的其他所有元素 (即是 剔除第一个元素)
    println(list2.tail)

    //    你可以使用 ::: 运算符或 List.:::() 方法或 List.concat() 方法来连接两个或多个列表。实例如下:

    // 使用 List.:::() 方法
    val strList = list.:::(list3)
    val mixList = list.:::(list2)
//    println(mixList)

    val site1 = "Runoob" :: ("Google" :: ("Baidu" :: Nil))
    val site2 = "Facebook" :: ("Taobao" :: Nil)

    // 使用 ::: 运算符
    var fruit = site1 ::: site2
//    println( "site1 ::: site2 : " + fruit )

    // 使用 concat 方法
    fruit = List.concat(site1, site2)
    println( "List.concat(site1, site2) : " + fruit )

  }
}

3、定义对象

class Point(xc: Int, yc: Int) {
    
    
  var x: Int = xc;
  var y: Int = yc;

  def move(dx: Int, dy: Int): Unit = {
    
    
    x = x + dx;
    y = y + dy;

    println("x点的坐标 " + x);
    println("y点的坐标 " + y);
  }
}

猜你喜欢

转载自blog.csdn.net/weixin_43975771/article/details/120750875