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

第1章 基础

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

答:输入3.,按下Tab后,出现如下函数:
在这里插入图片描述

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

在这里插入图片描述

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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值