Scala 基础入门 内容整理及课后习题

第1章 基础

1. 在Scala中键入3.,然后按Tab键。有哪些方法可以被应用?

答:输入3.,按下Tab后,出现如下函数:
Scala 基础入门 内容整理及课后习题_第1张图片

2. 在Scala REPL中,计算3的平方根,然后再对该值求平方,现在这个结果与3相差多少?(提示:res变量是你的朋友。)

Scala 基础入门 内容整理及课后习题_第2张图片

3. res变量是val还是var?

答:val,在doc窗口下改变一下值就知道了。

4. Scala允许你用数字去乘字符串——去REPL中试一下"crazy"*3。这个操作做什么?在Scaladoc中如何找到这个操作?

答:得到结果crazycrazycrazy,在Scaladoc的search中输入*,就可以对应找到。
在这里插入图片描述

5. 10 max 2的含义是什么?max方法定义在哪个类中?

答:返回10和2中较大的数;定义在Int类中。

6. 用BigInt计算2的1024次方。

import scala.math._
var res=BigInt("1")
for(i<- 1 to 1024)
  res=res*BigInt("2")
print(res)

计算结果为:179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216

7. 为了使用probablePrime(100,Random)获取随机质数时不在probablePrime和Radom之前使用任何限定符,你需要引入什么?

import scala.math.BigInt._
import scala.util.Random

8. 创建随机文件的方式之一是生成一个随机的BigInt,然后将它转换成三十六进制,交出类似于"qsnvbevtomcj38o06kul"这样的字符串。查阅Scaladoc找到在Scala中实现该逻辑的办法。

import scala.math.BigInt._
import scala.util.Random
BigInt(Random.nextInt()).toString(36)

9. 在Scala中如何获取字符串的首字符和尾字符?

val s1="adfasdf"
s1(0)
s1(s1.length-1)

10. take、drop、takeRight和dropRight这些字符串方法是做什么用的?和substring相比,他们的优缺点是什么?

take(n):取前n个字符。
drop(n):去掉前n个字符。
takeRight(n):从右侧开始取前n个字符。
dropRight(n):从右侧开始去掉前n个字符。
相比substring,这些方法只能从头或尾开始,从中间截取的话需要使用substring,或者综合使用上面的这些方法,但相对麻烦些。

本章笔记

REPL:“读取-求值-打印”循环,read-eval-print loop

你可能感兴趣的:(Scala笔记)