一.算术和操作符重载 a + b 是如下方法的简写: a.+(b) 在scala中你可以使用任何符号来为方法命名.比如BigInt类就定义了一个/%的方法,该方法返回一个对偶,对偶的内容是除法操作得到的商和余数. 通常来说,你可以用 a 方法 b 作为以下代码的简写 a.方法(b) 这里的方法是一个带有两个参数的方法(一个隐式的和一个显示的).例如1.to(10)可以简写成1 to 10 scala语言并没有提供++和--操作符,我们需要使用+=1和-=1 scala认为Int类是不可变的. 对…
中置操作符(二元操作符),操作符位于两个参数之间.操作符包括字母,比如to,也可以包括操作符字符,比如1->10,等同于方法调用1.->(10) a 标识符 b 其中的标识符是一个带有两个参数的方法(一个隐式参数和一个显式参数),例如:1 to 10,实际上是一个方法调用1.to(10) class Fraction(n: Int, d: Int) { val num: Int = n val den: Int = d //使用操作符的名称来定义一个方法 def *(other: Fracti…
1.Option类型 Option类型可以有两种类型,一种是Some(x),一种是None对象 比如Scala的Map的get方法发现了指定键,返回Some(x),没有发现,返回None对象 2.列表 List类型中的所有元素都具有相同的类型. 空列表的类型为List[Nothing].对于任意类型T的List[T],List[Nothing]都是其子类. val list = List[String]("1","2","3") val list…
1. 变量 val定义的值实际上是一个常亮,无法改变其内容 scala> val num = 0 num: Int = 0 scala> num = 2 <console>:12: error: reassignment to val num = 2 ^ 如果要声明其值可变的变量,可以使用var scala> var number = 0 number: Int = 0 scala> number = 2 number: Int = 2 在Scala中,建议使用val,…
有了可运行的环境,就需要写一些简单的语句来认识一下Scala,本文没有写那么详细,只是为了方便查看.唤起回忆 (1)变量的定义方法 Scala有两种变量 var val 注意:在解释器中,可以用一个之前已经使用了的名字定义新的val (2)函数结构 def max(X:Int,Y:Int):Int={ if(X>Y) X else Y } 既不带参数也不返回有用结果的函数定义: def greet()=println("Hello, World !") def printArgs…
1.构造映射 //构造这样的一个映射 val sources=Map(,,) //构造了一个不可变的Map[String,Int],值不能改变, //可变映射 val scores = new scala.collection.mutable.HashMap[String,Int] //映射是对偶的集合.简单来说就是两个值构成的组,这两个值不一定适合同一类型的,如("Alice",10).->操作符用来创建对偶: 改代码产出的值是:() 2.获取映射中的值:在scala中,函数和…
1.获取对象: a) 通过名称来获取元素:document.getElementById() //属于静态方法,方法前面只能用document b) document.getElementsByClassName() c) document.getElementsByTagName() //属于动态方法,方法前面可以用其他元素,如oUl.getElementsByTagName("li"),找到的是一个元素的集合, 用TagNames的时候,必须要加上“[]”,如aLi[i].onc…
1. 简单类与无参方法 class Person { var age = 0 // 必须初始化字段 def getAge() = age // 方法默认为公有的 } 备注 在Scala中,类并不声明为public. Scala源文件可以包含多个类,所有这些类都具有公有可见性.属性不声明默认为public. 使用类: val p = new Person // 或者new Person() p.age = 23 println(p.getAge()) // 23 调用无参方法时,可以写上圆括号,也…
scala变量理解: package com.cxy.scala object Hello { def main(args: Array[String]): Unit = { println("hello") val age: Int =; val a :Short = val b :Long = val c : Float=20f val d : Double= var bln : Boolean =true ' } } scala是一个完全面向对象语言,所以他没有基础数据类型,所以…
一.高阶函数 --------------------------------------------------- 1.作为值的函数:在Scala中,函数是头等公民,就和数字一样. import scala.math._ val num =3.14 val fun = ceil _ //这段话将num 设置为3.14 ,fun设置为ceil函数.ceil函数后的_意味着你确实指的是这个函数,而不是 碰巧忘记了给他传送参数scala>def add(a,b)=a+bscala>val f =…