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的更多相关文章
随机推荐
- 功能强大的Northwoods GoDiagram控件库
Northwoods GoDiagram控件库用于开发图形应用 Northwoods GoDiagram控件库是付费软件,其官方网址为http://www.nwoods.com/ Northwoods ...
- hdu 1074 状态压缩
http://acm.hdu.edu.cn/showproblem.php?pid=1074 我们可以断定状态的终止态一定是n个数全部选完的情况,那么它的前一个状态是什么呢,一定是剔除任一门课程后的n ...
- Ruby中的%表示法
%{String} 用于创建一个使用双引号括起来的字符串,这个表示法与%Q{String}完全一样 result = %{hello} puts "result is: #{result ...
- React 特别需要注意的地方
如图:
- Spring pom配置详解(转)
转载至http://blog.csdn.net/ithomer/article/details/9332071# 原博主注释的很详细 <project xmlns="http://ma ...
- C++成员指针
C++中,成员指针是最为复杂的语法结构.但在事件驱动和多线程应用中被广泛用于调用回叫函数.在多线程应用中,每个线程都通过指向成员函数的指针来调用该函数.在这样的应用中,如果不用成员指针,编程是非常困难 ...
- 6.7 通过终端连接jboss,连接数据库
进入终端,通过 ssh jboss@ip地址即可. 然后通过sqlplus 数据库名,输入密码,即可连接数据库. 具体不懂的可以查看对应文档进行操作.
- TCP三次握手四次挥手原理
转自http://www.cnblogs.com/liuxiaoming/archive/2013/04/27/3047803.html TCP协议三次握手原理: 首先,给张图片,建立TCP三次握手的 ...
- JavaScript学习系列4 ----- JavaScript中的扩展运算符 三个点(...)
在JavaScript中, ES6开始有rest参数 和 三个点扩展运算符 (spread运算符) 我们来看看他们各自的用处 1. rest参数 rest参数的形式为 ...变量名 ...
- MIC-3395单板机不识别PCI设备
硬件环境: 单板机:MIC-3395 外设设备:自研的DSP6678板卡 现象: MIC-3395单板机不能识别DSP6678板卡,但是在MIC-3392上能够正常识别,排查若干问题后,升级3395的 ...