Ch02 控制结构和函数 - 练习
1. 一个数字如果为正数,则它的signum为1;如果是负数,则signum为-1;如果是0,则signum为0。编写一个函数来计算这个值。
scala> def signum(x:Int):Int = if(x>0)1 else if(x==0) 0 else -1signum: (x: Int)Intscala> signum(100)res6: Int = 1scala> signum(0)res7: Int = 0scala> signum(-2)res8: Int = -1
scala> def test = {}test: Unit scala> val t={}t: Unit = () |
scala> var y = 0y: Int = 0scala> var x=y=1x: Unit = ()
for(i <- 0.to(10).reverse) println(i) |
scala> def countdown(n: Int){ for(i <- 0.to(n).reverse) println(i) } //注意{}块前没有=号countdown: (n: Int)Unitscala> countdown(10)109876543210
scala> var i: Long=1; for(ch <- "Hello") i = i * ch.toInt //注意,使用Int会得到错误的结果,因为发生上溢出。i: Long = 9415087488
|
scala> var product: BigInt = 1; "Hello".foreach(product *= _.toInt)product: BigInt = 9415087488
|
scala> def product(s: String): BigInt = {var i: BigInt=1; s.foreach(i *= _.toInt); i}product: (s: String)BigIntscala> product("Hello")res38: BigInt = 9415087488 |
def product(s: String): BigInt={ if(s == null || s.length == 0) return 0 else if( s.length == 1) s(0).toInt else s.head.toInt * product(s.tail)} |
- xn=y2, 如果n是正偶数的话,这里的y=xn/2
- xn·xn-1,如果n是正奇数的话。
- x0=1。
- xn=1/x-n,如果n是负数的话。
def pow(x:Double, n:Int):BigDecimal={ if(n == 0) 1 else if(n > 0 && n % 2 == 0) pow(x, n/2) * pow(x, n/2) else if(n > 0 && n % 2 == 1) x * pow(x, n-1) else (n < 0) 1/pow(x, -n)}pow(0.1, -2) //res122: BigDecimal = 1E+2 |
Ch02 控制结构和函数 - 练习的更多相关文章
- Scala学习(二)--- 控制结构和函数
控制结构和函数 摘要: 本篇主要学习在Scala中使用条件表达式.循环和函数,你会看到Scala和其他编程语言之间一个根本性的差异.在Java或C++中,我们把表达式(比如3+4)和语句(比如if语句 ...
- Scala的控制结构和函数
控制结构和函数 先看以下简单的一个条件表达式的demo object TestConditional { def main(args: Array[String]): Unit = { // scal ...
- 2.scala控制结构、函数、异常处理
2.scala控制结构.函数.异常处理---小书匠,在线编辑器,MARKDOWN,Evernote,文件版本 a:focus { outline: thin dotted #333; outline: ...
- Python Revisited Day 04 (控制结构与函数)
目录 4.1 控制结构 4.1.1 条件分支 4.1.2 循环 4.2 异常处理 4.2.1 捕获与产生异常 4.2.2 自定义异常 4.3 自定义函数 Tips 参数默认值为可变时 危险 4.3.1 ...
- 快学Scala-第二章 控制结构和函数
知识点: 1.条件表达式 if(x>0) 1 else 0 scala每个表达式都有一个类型,如果一致则为它们的类型,如果为混合类型表达式,则为它们的公共超类型Any. if(x>0) 1 ...
- 《快学Scala》——控制结构和函数
条件表达式 在Scala中if/else表达式有值,这个值就是跟在if或else之后的表达式的值.例如: if (x > 0) 1 else -1 上述表达式的值是1或-1,具体是哪一个取决于x ...
- Python3控制结构与函数
1.if语句的另一种写法: expression1 if boolean_expression else expression2 boolean_expression为true时使用expressio ...
- 【scala】2.控制结构和函数
简介 在Java或者C++中,我们把表达式和语句看做两种不同的东西.表达式有值,而语句执行动作. 在Scala中,几乎所有构造出来的语法结构都是有值的.这个特性使得程序更加的精简,也更易读. 1.条件 ...
- Scala具体解释---------控制结构和函数
条件表达式: Scala的if else语法结构和Java的一样.只是,Scala的if else表达式有值.这个值就是跟在if或者else后面的表达式的值. 比如: if(x>0) 0 els ...
随机推荐
- mybatis查询结果和接收的不一样
记一次大坑:mybatis查询结果和接收的不一样,折腾我好几个小时. 先上代码:代码是要查询排名,sql执行的结果 SELECT b.operator_id, b.class_count, b.cla ...
- Android Studio编译报错“java.lang.OutOfMemoryError: GC overhead limit exceeded
1.在build.gradle添加脚本指定编译堆内存 如果在整个工程中生效,则在build.gradle中增加如下配置: android { .............. dexOptions { i ...
- oracle表查询优化
ORACLE有个高速缓冲的概念,这个高速缓冲就是存放执行过的SQL语句,那oracle在执行sql语句的时候要做很多工作,例如解析sql语句,估算索引利用率,绑定变量,读取数据块等等这些操作.假设高速 ...
- Linux 环境变量_006
***Linux 环境变量指系统运行程序或命令的能快速找到其位置等其它功能,不用输入复杂命令.以$PATH环境变量为例子, $PATH决定了shell指定寻找命令或程序的路径,比较执行ls命令,如果没 ...
- redis服务器学习一
一:什么是redis服务器 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zs ...
- 应用程序连接hbase报错:java.net.SocketTimeoutException: callTimeout=60000
背景说明: 今天对生产环境hbase增加了节点,下午的时候一个同事反馈,应用程序后台报错,如下: Tue Feb 26 17:35:35 CST 2019, null, java.net.Socket ...
- webpack模块化原理
https://segmentfault.com/a/1190000010349749 webpack模块化原理-commonjs https://segmentfault.com/a/119 ...
- classmethod作用
>>> class A(object): bar = 1 def func1(self): print 'foo' >>> class A(object): bar ...
- Microsoft office 2019 正式版镜像下载
http://www.xitongtiandi.net/soft_yy/4373.htmlMicrosoft office 2019 正式版镜像下载 http://www.xitongtiandi.n ...
- [WCF] Restful 自定义宿主
IPersonRetriever: /* * 由SharpDevelop创建. * 用户: Administrator * 日期: 2017/6/2 * 时间: 22:13 * * 要改变这种模板请点 ...