世界 你好
package demo.scala
{
/**
* 基础的scala类
*/
object Hello {
def main(args: Array[String]): Unit = {
val s: String = "hello world"
println(s)
}
}
/**
* 基础的scala1类
*/
object Hello1 {
def main(args: Array[String]): Unit = {
val s = "hello world1"
println(s)
}
}
}
常量和变量
/**
* 测试常量和变量定义类
*/
object Variable {
def main(args: Array[String]): Unit = {
var myVar = 10
myVar = 11
val myVal = "Hello, Scala!"
val myVal1, myVal2 = 12
val myArray = ("数据组1", "数据组2", "数据组3")
println(myVar + "\t" + myVal + "\t" + myVal1 + "\t" + myVal2 + "\t" + myArray)
}
访问修饰符
object Modifier {
class Out {
class In {
private[Out] def f(): Unit = {
println("私有方法")
}
protected def f1(): Unit = {
f()
}
}
class In1 extends In {
def f2(): Unit = {
f1()
}
}
(new In).f()
(new In1).f2()
}
}
运算
object Operation {
}
逻辑语句
object LogicalStatement {
def main(args: Array[String]): Unit = {
val i = 20
if (i == 20) {
print("i的值为:" + i)
}
}
}
循环语句
object LoopStatement {
def main(args: Array[String]): Unit = {
for (a <- 0 to 2) {
print(a + "\t")
}
println()
for (b <- 0 until 10) {
print(b + "\t")
}
println()
for (a <- 0 to 2; b <- 0 to 10) {
print(a + "\t")
print(b + "\t")
println()
}
println()
val lists = List(1, 2, 3, 5, 6)
for (a <- lists) {
print(a + "\t")
}
println()
for (a <- lists if a > 1; if a < 6) {
print(a + "\t")
}
println()
val x = for {a <- lists if a > 1; if a < 5} yield a
println(x)
for (a <- x) {
print(a + "\t")
}
println()
}
}
字符串
/**
* 字符串
*/
object characterString {
val str: String = "ok"
def main(args: Array[String]): Unit = {
println(str)
}
}
字符串
object Arrays {
def main(args: Array[String]): Unit = {
val array = Array("1", "2", "4")
for (x <- array) {
print(x + "\t")
}
println()
val list = List("1", "2", "3")
for (x <- list) {
print(x + "\t")
}
println()
val set = Set("2", "2", "4")
for (x <- set) {
print(x + "\t")
}
println()
val map = Map("key1" -> "value1", "key2" -> "value2", "key3" -> "value3")
map.keys.foreach {
i =>
print("key:\t" + i)
print("\t")
print("value:\t" + map(i))
println()
}
println()
}
}
提取器
/**
* 提取器是从传递给它的对象中提取出构造该对象的参数。
* 类似于构造方法 我们可以 def apply(): Extractor = new Extractor()
*/
object Extractor {
def main(args: Array[String]): Unit = {
print(Extractor(6))
}
def apply(x: Int): Int = x * 2
def unapply(x: Int): Int = x / 2
}