100行代码入门Scala
来源:互联网 发布:晒书房 知乎 编辑:程序博客网 时间:2024/06/16 05:14
100行代码入门scala
//定义类,传入变量默认实现get set方法class People(var name:String, var age:Int) { //默认构造函数 println("get people one") name+="_name" var company = "abc" //自定义构造函数 def this(name:String, age:Int,company:String) { this(name,age) this.company = company } def incage(count:Int){ age += count if (age >100) { age =100 } } def deage(count:Int){ age -= count if (age < 0) { age = 0 } } //返回值为String,无返回值可以不写 def toStr():String ={ "name:"+name+" age:"+age }}object TestOne { // 无返回值可以返回值写Unit,也可以不写 def main(args: Array[String]): Unit = { var p1 = new People("long", 32) p1.incage(2) println(p1.name) println(p1.age) println(p1.company) //定义一个不可更改String元素 val name : String = "tian" //定义一个可以更改值的int变量 var age : Int = 28 var p2 = new People(name, 28, "hy") p2.deage(2) println(p2.name) println(p2.age) println(p2.company) for (i<-10 to 1 by -1) { p2.deage(i) println(p2.toStr()) } //定义列表 val numList = List(2,3,4,5,6,10,12,17,18,9) //末尾缀加,形成新列表 var x = 1 :: numList //开头缀加形成新列表 var y = numList :+ 66 println(x) println(y) for (j<-numList){ p1.incage(j) println(p1.toStr()) } //定长数组 var myList = Array(1.9, 2.9, 3.4, 3.5) myList(2)=8.8 for ( x <- myList.reverse) { println( x ) } //list,array默认是定长的,需要动态扩容可用 ArrayBuffer,ListBuffer; import scala.collection.mutable.ArrayBuffer import scala.collection.mutable.ListBuffer //var s = Set("long","tian","zhang") var s: Set[String] = Set("long","tian","yang") s+="wang" for (x <- s) { println(x) } // var A:Map[String,Int] = Map() var A = Map("long" -> 32, "tian" -> 28) //追加元素 A += ("yang" -> 18) //重写元素 A += ("yang" -> 20) //判断元素是否存在,存在则获取打印元素 if (A.contains("yang")){ println(A("yang")) } A.keys.foreach{key=> print("name="+key) println(" age="+A(key))} }}运行以及结果
D:\>scalac TestOne.scalaD:\>scala TestOneget people onelong_name34abcget people onetian_name26hyname:tian_name age:16name:tian_name age:7name:tian_name age:0name:tian_name age:0name:tian_name age:0name:tian_name age:0name:tian_name age:0name:tian_name age:0name:tian_name age:0name:tian_name age:0List(1, 2, 3, 4, 5, 6, 10, 12, 17, 18, 9)List(2, 3, 4, 5, 6, 10, 12, 17, 18, 9, 66)name:long_name age:36name:long_name age:39name:long_name age:43name:long_name age:48name:long_name age:54name:long_name age:64name:long_name age:76name:long_name age:93name:long_name age:100name:long_name age:1003.58.82.91.9longtianyangwang20name=long age=32name=tian age=28name=yang age=20
阅读全文
1 0
- 100行代码入门Scala
- Spark GraphX 入门实例完整scala代码
- Spark GraphX 入门实例完整Scala代码
- Scala入门
- scala 入门
- scala入门
- scala 入门
- scala入门
- Scala入门
- scala入门
- Scala入门
- Scala入门
- scala入门
- scala入门
- 【scala 代码片段1】轻松入门scala--列表的操作以及文件读取
- 【scala 代码片段2】轻松入门scala--列表的操作以及集合元素映射
- 【scala 代码片段3】轻松入门scala--集合的操作交并补
- Scala详解---------快速入门Scala
- Jekyll博客添加RSS feed订阅功能
- tensorflow学习fully_connected_feed.py
- JavaScript、Ajax与jQuery的关系
- JS时间格式化
- php的配置和安装-index.php
- 100行代码入门Scala
- SQL的一些操作
- XCTF嘉年华 re1 Writeup
- js内置方法的两种不同操作方式
- js java 运算符优先级用法总结
- js复制文字
- es6 之 Generator(一)
- spring boot thymeleaf 用法
- Sublime text 3安装时,add to explorer context menu是什么意思?