scala

1 scala 底层是有一种隐式转换机制,比如对String类型,底层会转化Scala的StringOps类型

2 scala 的通用的化简规则:调方法时候,方法的参数列表只有一个,则方法的()可以省略

 

数字:

1 scala中没有基本变量,都是对象和方法

2 scala的int 表面是java的int 但是底层通过隐式转换,转成了scala的RichInt类型

 to方法。用生成一个区间,一般用于for循环生成的范围

RichDouble  RichFloat

3 scala的操作符优先同java

4 scala 会以方法的调用顺序来运算

5 前置操作符 加上空格  分别是+(正数)  -(负数)   !(布尔取反)  ~(二进制)

6 scala在使用前置操作符可以通过unary_(+-)

 

1 scala 的if else 的用途和java一样

2 scala 的通用化简规则: 如果方法体{}中只有一行代码,则方法体{}可以省略

3 scala 的if  else 和java的不同的地方在于 :if else 是有返回值 的 ,可以接  ,返回值的不同 ,返回值的类型是Any

4 scala的通用规则:scala会将方法体{}最后的一行代码当做返回值,不要return

5 scala的Unit类型  java的void ,空类型    Any ---java 的Object

6 println 的返回值类型是Unit

7 scala的while用法一样java

8 scala通过下标操作集合类型时 ,下标数字同java,使用(index),不同java  [index]

 

for 循环

 for(i<-1 to 9 ; j<-1 to i ; val sep =if(i==j) "\t\n" else "\t") print(j+"*"+i+"=" +i*j  +sep)

1 scala 的集合是大的概论 ,包括: Array List Set  Map Tuple Range

2 for yield 的作用,遍历一个集合,返回一个新的集合,指的是:遍历的是Array,返回时Array

3 声明 map(key -> value)

 

异常

1 scala在catch,捕获异常用的是case来匹配

2 scala的match机制类比于java的switch case

 

break 和count

1 scala使用break要导包 import util.control.Breaks. ,或是breakcable 包裹

2 breakcable在for循环外,是break的效果,在for循环内,是 continue效果

 

函数

1 scala通过def 关键字当以函数  def 函数名(参数列表):返回值类型={ 方法体}

 

 

匿名函数

1 没有函数名  连接符号 =>   可以当做参数赋值  或传递

2 把匿名函数当参数进行传递,高阶函数

3 高阶函数允许将函数当参数进行传递

4 匿名函数通用化简规则:如果参数的类型可以推出,可以不写

5   如果匿名函数的参数只有一个,则参数的只有一个,则参数的()可以不写

6 可以通过_(占位符)

7 占位符指的是scala中的下划线_ ,可以用它当作一个或多个参数来使用 使用_占位符的前提要求:每个参数在函数仅出现一次。

 

递归函数

1 必须申明的数值的返回类型

2 写递归的技巧:a.找出递归的结束条件  b.找出函数关系 

3 在scala,结束条件的返回值必须是return

 

 

1   lazy数值声明之后,并不是马上赋值的,调用时才赋值

2   lazy 只能常量val

3 scala底层支持颗粒化。允许接受多个参数转化

4 前面是普通参数,后面是匿名函数,叫自建立控制结构

 

集合

1 Array List  Set Map Tuple  Range Iterator

2  immutable :定长数组Array  mutable :变长ArrayBuffer

 

以下是Array和List通用而且重要的方法
1.take
2.takeRight
3.drop
4.dropRight
5.head
6.last
7.mkString
8.intersect(交集)
9.union(并集)
10.diff(差集)
11.exists
12.count
13.filter(过滤)
14.sortBy(排序)
15.map(映射方法)
16.max
17.min
18.sum
19.reduce
20.reverse(反转)
21.dinstinct(去重)
22.mapValue(专用于映射Map类型的value) Array和List没有此方法

以上再重点掌握:1.filter  2.sortBy 3.map 4.reduce 5.mapValues

补充:掌握类型转换的技巧。比如一个方法,distinct,compactBuff类型,
但是List有,所以可以通过类型转化来实现

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值