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);
}
}