scala 入门demo
来源:互联网 发布:正规淘宝运营 编辑:程序博客网 时间:2024/06/05 06:15
http://www.yiibai.com/scala/
/** * Created by Administrator on 2015/9/16. */object HelloWorld { def main(args: Array[String]) { println("laizi helloworld") }}
/** * Created by Administrator on 2015/10/21. */object Collect { def main(args: Array[String]) { // Define List of integers. val l = List(1,2,3,4) println(l) // Define a set. var s = Set(1,3,5,7) println(s) // Define a map. val m= Map("one" -> 1, "two" -> 2, "three" -> 3) println(m.toString()) println(m) // Create a tuple of two elements. val t = (10, "Scala") println(t) // Define an option val o:Option[Int] = Some(5) println(o) }}
object For { def main(args: Array[String]) { var a = 0; val numList = List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); // for loop execution with a yield var retVal = for {a <- numList if a != 3; if a < 8 } yield a // Now print returned values using another loop. for (a <- retVal) { println("Value of a: " + a); } }}
class Person { private var name=null; var age=0; protected var city=null; protected def f() { println("f") } def d() { println("d") } def c() { println("c") } def addInt( a:Int, b:Int ) : Int = { var sum:Int = 0 sum = a + b return sum }}
import scala.util.control.Breaks/** * Created by wjh on 2015/10/21. */object Main { def printMe( ) : Unit = { println("Hello, Scala!") } def testBreak(){ var a = 0; val numList = List(1,2,3,4,5,6,7,8,9,10); val loop = new Breaks; loop.breakable { for( a <- numList){ println( "Value of a: " + a ); if( a == 4 ){ loop.break; } } } println( "After the loop" ); } //基本语法 def main (args: Array[String]) { printMe(); println("xxx"); println("data") println(Main.toString) //可变变量 var myVar : String = "Foo可变变量" myVar="fuck"; println(myVar) //不可变变量 val myVal : String = "Foo不可变变量" //myVal="fuck"; println(myVal) var myVar1 = 10; val myVal1 = "Hello, Scala!"; println(myVar1) println(myVal1) val (myVar2, myVar3) = Pair(40, "Foo多重任务") // val (myVar2: Int, myVar3: String) = Pair(40, "Foo多重任务") println(myVar2) println(myVar3) var person=new Person(); person.d(); person.c(); println(person.addInt(12,12)); //调用java方法 println(Math.PI) println(Thread.currentThread().getName); System.out.println("来自java") var name=this.getClass.getSimpleName(); println(name) var cls:String=this.getClass.getClassLoader.getClass.getName(); println(cls) println(System.getProperties()); //http://www.yiibai.com/scala/scala_for_loop.html var i=0; for(i<- 0 to 15) { println("fuck"+i); } for( a <- 1 until 10){ println( "Value of a: " + a ); } i=5; while(i>0) { println("ok"+i); i=i-1; } testBreak(); } override def toString: String =super.toString}
import java.io.{FileNotFoundException, FileReader, IOException}import java.util.Dateobject TestName { def main(args: Array[String]) { delayed(time()); printInt(b = 5, a = 7); for (i <- 1 to 10) println("Factorial of " + i + ": = " + factorial(i)) var palindrome = "Dot saw I was Tod"; var len = palindrome.length(); println("String Length is : " + len); printStrings("Hello", "Scala", "Python"); println("Returned Value : " + addInt()); val str1: String = "Hello, " val str2: String = "Scala!" println("str1 + str2 = " + strcat(str1)(str2)) val date = new Date log(date, "message1") log(date, "message2") Thread.sleep(1000) log(date, "message3") //迭代器 val it = Iterator(20, 40, 2, 50, 69, 90) // println(it.size) //println(it.length) // println(it.max) //println(it.min) while (it.hasNext) { println(it.next()) } try { val f = new FileReader("input.txt") } catch { case ex: FileNotFoundException => { println("Missing file exception") } case ex: IOException => { println("IO Exception") } } finally { println("Exiting finally...") } } def time() = { println("Getting time in nano seconds") // System.nanoTime System.currentTimeMillis() } def delayed(t: => Long) = { println("In delayed method") println("Param: " + t) //调用 t; } def printInt(a: Int, b: Int) = { println("Value of a : " + a); println("Value of b : " + b); } //递归调用 def factorial(n: BigInt): BigInt = { if (n <= 1) 1 else n * factorial(n - 1) } //可变参数 def printStrings(args: String*) = { var i: Int = 0; for (arg <- args) { println("Arg value[" + i + "] = " + arg); i = i + 1; } } //默认参数值 def addInt(a: Int = 5, b: Int = 7): Int = { var sum: Int = 0 sum = a + b return sum } def strcat(s1: String)(s2: String) = { s1 + s2 } def log(date: Date, message: String) = { println(date + "----" + message) }}
/** * Created by Administrator on 2015/10/21. */object TestObj { class Yiibai(val xc: Int, val yc: Int) { var x: Int = xc var y: Int = yc def move(dx: Int, dy: Int) { x = x + dx y = y + dy println("Yiibai x location : " + x); println("Yiibai y location : " + y); } // override def toString(): String="x="+x+",y="+y override def toString(): String = { "x=" + x + ",y=" + y } } class Location(override val xc: Int, override val yc: Int, val zc :Int) extends Yiibai(xc, yc){ var z: Int = zc def move(dx: Int, dy: Int, dz: Int) { x = x + dx y = y + dy z = z + dz println ("Yiibai x location : " + x); println ("Yiibai y location : " + y); println ("Yiibai z location : " + z); } override def toString(): String = { "x=" + x + ",y=" + y+",z="+z } } def main(args: Array[String]) { val pp = new Yiibai(10, 20); pp.move(20, 20); println(pp) val loc = new Location(10, 20, 15); // Move to a new location loc.move(10, 10, 5); println(loc) printYiibai def printYiibai{ println ("Yiibai x location : " + pp.x); println ("Yiibai y location : " + pp.y); } //http://www.yiibai.com/scala/scala_pattern_matching.html println(matchTest("two")) println(matchTest("test")) println(matchTest(1)) print("Please enter your input : " ) val line = Console.readLine println("Thanks, you just typed: " + line) } //模式匹配 def matchTest(x: Any): Any = x match { case 1 => "one" case "two" => 2 case y: Int => "scala.Int" case _ => "many" }}
实例源码下载(右键保存图片,重命名为rar即可):
0 0
- scala 入门demo
- 打开Scala的大门--scala入门小例子demo
- Scala入门
- scala 入门
- scala入门
- scala 入门
- scala入门
- Scala入门
- scala入门
- Scala入门
- Scala入门
- scala入门
- scala入门
- scala排序demo
- scala线程demo-newFixedThreadPool
- scala线程demo-CachedThread
- scala线程demo-callable
- scala demo - 继承关系
- Linq 使用GroupJoin和DefaultIfEmpty实现左联接
- Appium 处理滑动
- 从Java转iOS第一个项目总结(常用第三方,工具介绍)
- redis常用命令
- 数组中不相邻元素的最大和
- scala 入门demo
- C++实现split函数
- 解决在iOS9上安装的软件显示未受信任的企业级开发者
- 吉哥系列故事——完美队形I(最长严格递增回文串 +hdu 4512)
- vs2010快捷键大全
- 自定义AlertDialog样式
- 虚拟现实大会ChinaVR2015报告之-电子试衣和三维人体建模
- Cordova与PhoneGap
- mac上安装mysql第一次登陆遇到的问题