spark_20180328
// 2.1 条件表达式
val x = 2
val s = if (x > 0) 1 else -1
if (x > 0) "positive" else -1
// 返回值类型不一致,无法确定返回值的类型,所以返回Any类型 // 2.2 语句终止
var n = 2
var r = 0
if (n > 0) {r = r * n; n -= 1 }
if (n > 0) {
r = r * n
n -= 1
} // 2.3 块表达式和赋值
// 在scalak ,{}块包含一系列表达式,其结果也是一个表达式。块中最后一个表达式的值就是块的值
// 这个特性对于那种对某个val的初始化需要分多步完成的情况很有用
import scala.math.sqrt
val distance = { val dx = x - 1; val dy = x - 2;sqrt(dx * dx + dy * dy) } // 2.4 输入和输出
print("Answer: ") // 不换行
println(22) // 换行
println("Answer: "+ 22)
printf("Hello,%s! You are %d years old.\n","CC",1) // 格式化打印
val name = readLine("Your name: ")
print("Your age: ")
val age = readInt()
printf("Hello, %s! Next year, your will be %d.\n",name, age + 1) // 循环
while (n > 0) {
r = r * n
n -= 1
}
var result1 = 1
for ( i <- 1 to 22) {
result1 = result1 * i
}
val str1 = "Hello "
var sum = 0
for (i <- 0 until str1.length){
sum += str1(i)
}
var sum1 = 0
for(ch <- "Hello") {sum1 += ch} // 2.6 高级for循环和for推导式
for(i <- 1 to 3; j <- 1 to 3) {print((10 * i + j) + " ")}
for(i <- 1 to 3; j <- 1 to 3 if i != j){print((10 * i + j) + " ")}
for(i <- 1 to 10) yield i % 3 // Vector(1, 2, 0, 1, 2, 0, 1, 2, 0, 1)
for(c <- "Hello"; i <- 0 to 1) yield (c + i).toChar
for(i <- 0 to 1; c <- "Hello") yield (c + i).toChar // 2.7 函数
def abs(x: Double) = if(x >= 0) x else -x
def fac(n: Int) = {
var r = 1
for (i <- 1 to n) {
r = r * i
}
r
}
spark_20180328的更多相关文章
随机推荐
- INT 21H 指令说明及使用方法
很多初学汇编语言的同学可能会对INT 21H这条指令感到困惑,不知道是什么意思,下面就以一段简单的程序为大家讲解: 例如:需要键盘输入,并且回显. AH的值需要查表取得,表在下面 指令: M ...
- bzoj 4066 简单题——KDtree(带重构)
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4066 带部分重构的KDtree.就是那个替罪羊树思想的. 写了对拍,调了半天,发现忘了 re ...
- Azure xplate cli创建虚拟机
Azure的管理工具多种多样.其中Portal和PowerShell是经常使用的. 但用MAC和Linux的同学最喜欢的还是Bash环境. Azure也提供了跨平台的命令行工具:Azure xplat ...
- 利用SharedRegion实现核间共享
导入SharedRegion模块 SharedRegion模块是一个共享区域,特别是对于多处理器环境下,SharedRegion模块就是用于让一个内存区域能被不同处理器共享并操作.这个模块会给每个处理 ...
- HDOJ1166(线段树点修改)
敌兵布阵 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- 左连接,右连接,内连接,Union
数据库的三种常用连接解析: 官方解释: 1.left [outer] join(左外联接) 返回 包括左表中的所有记录和右表中联结字段相等的记录 2.right [outer] join(右外联接) ...
- 2017清北学堂(提高组精英班)集训笔记——动态规划Part3
现在是晚上十二点半,好累(无奈脸),接着给各位——也是给自己,更新笔记吧~ 序列型状态划分: 经典例题:乘积最大(Luogu 1018) * 设有一个长度为 N 的数字串,要求选手使用 K 个乘号将它 ...
- 利用包管理器安装Node.JS
步骤1:用curl获取源代码在我们用卷曲获取源代码之前,我们必须先升级操作系统,然后用卷发命令获取NodeSource添加到本地仓库. root@ubuntu-15:~#apt-get update安 ...
- docker里安装ubuntu
使用 Ubuntu 官方镜像 Ubuntu 相关的镜像有很多,这里使用 -s 10 参数,只搜索那些被收藏 10 次以上的镜像 $ docker search -s 10 ubuntu NAME DE ...
- layui 表格新增删除一行
1.html 代码 <div class="layui-row layui-col-space5"> <div> <span style=" ...