knowledge的专栏

Scala是基于jvm的静态语言。

在定义函数的时候,后面的=的作用:如果函数有返回值的时候必须有“=”,如果没有返回值的时候可以不带“=”。如果没有显示的指定返回值类型,默认Unit.

def add(a:Int,b:Int):Int={a+b}for循环支持这种格式i%2==0){ println(i)}=================================================================================================类在new出一个对象的时候,会首先执行一遍主类的语句(在new Person的时候会首先执行两个println的语句)。class Person(var name:String,var age:Int){ println("this is the person class") println("name:"+this.name+" age:"+this.age)}在主构造方法中定义变量的时候,,需要带var/val,默认是private(this)。在继承Person的时候,主构造方法不需要带var/val.class Student(name:String,age:Int,var bj:String) extends Person(name,age){ override def toString="tostring method"}在重写父类的方法或变量时,需要用关键字overwrite。case class的使用:abstract class Animal;case class Cat(name:String) extends Animal;case class Dog(name:String) extends Animal;object FourDemo extends App{ def findAnimal(a:Animal){a match {case Cat(_) => println("this is a cat")case Dog(_) => println("this is a dog")case _ => println("other")} } findAnimal(Cat("kk")) }========================================================================================集合:List集合由head和tail组成。val list = List(1,2,3,4)println(list.head) //1println(list.tail) //2,3,4集合都有可变和不可变两种,可变的集合都在scala.collection.mutable包下面,对list来说。是ListBuffer。对可变集合的操作要区分+/-/++/–是会创造一个新的Set,而+=/++=/-=/–=是不会创造一个新的集合的。集合中重要的方法:map/filter/foreach/reduce/flatten/flatMap/sum/max/min

= List(1,2,3,4)println(list.map(_*2))//List(2, 4, 6, 8)println(list.map(_*2).filter(_>2)) //List(4, 6, 8)list.map(_*2).filter(_>2).foreach(println) //468println(list.map(_*2).filter(_>2).reduce(_+_))val list2=List("a","b","c")println(list zip list2) //List((1,a), (2,b), (3,c))val list3=List(List(1,2),List(3,4),List(5))println(list3.flatten)//List(1, 2, 3, 4, 5)println(list3.flatMap(_.map(_*2))) // List(2, 4, 6, 8, 10)println(list.sum) //10

~~~~~持续更新中~~~~~~

即使爬到最高的山上,一次也只能脚踏实地地迈一步。

knowledge的专栏

相关文章:

你感兴趣的文章:

标签云: