1. // 2.1 条件表达式
    val x = 2
    val s = if (x > 0) 1 else -1
    if (x > 0) "positive" else -1
    // 返回值类型不一致,无法确定返回值的类型,所以返回Any类型
  2.  
  3. // 2.2 语句终止
    var n = 2
    var r = 0
    if (n > 0) {r = r * n; n -= 1 }
    if (n > 0) {
    r = r * n
    n -= 1
    }
  4.  
  5. // 2.3 块表达式和赋值
    // 在scalak ,{}块包含一系列表达式,其结果也是一个表达式。块中最后一个表达式的值就是块的值
    // 这个特性对于那种对某个val的初始化需要分多步完成的情况很有用
    import scala.math.sqrt
    val distance = { val dx = x - 1; val dy = x - 2;sqrt(dx * dx + dy * dy) }
  6.  
  7. // 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)
  8.  
  9. // 循环
    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}
  10.  
  11. // 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
  12.  
  13. // 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的更多相关文章

随机推荐

  1. 滑动swipe的妙用

    转自:http://www.cnblogs.com/NEOCSL/archive/2013/03/04/2942861.html iterface ITouchable; function OnPic ...

  2. nmp部署(Nginx Mariadb Php-fpm)

    #主机:192.168.2.129(mini2) 既是php主机,也是数据库主机#yum install -y php php-fpm php-mysql mariadb-server[root@~ ...

  3. stm32之外设控制

    本文将提到以下内容: 蜂鸣器 按键控制 电容触摸 温度传感器 红外 TFTLCD触摸屏 MPU6050传感器 SPI-FLASH SDIO_SD卡 ucos-III移植 一.蜂鸣器 蜂鸣器是一种一体化 ...

  4. 问题:部署到iis上后Chart图片不显示;结果:使用webchart过程中遇到的一些问题

    使用webchart过程中遇到的一些问题 2013年04月30日 ⁄ 综合 ⁄ 共 4874字 ⁄ 字号 小 中 大 ⁄ 评论关闭   安装条件:1.操作系统如果是2003的,那么需要到sp2补丁2. ...

  5. <%@ include file=""%>与<jsp:include page=""/>两种方式的作用

    一.前言 身为一名coder有太多太多的知识点要去学,太多太多的东西要去记.往往一些小细节也就难免疏忽,但悲催的是多数困恼你的bug就是因为这些微不足道的知识点.我们又不是机器人,怎么可能什么都记得了 ...

  6. javaScript之事件处理程序

    事件就是用户或浏览器自身执行的某个动作,JavaScript与HTML的交互也是通过事件实现的.而相应某个事件的函数就叫做事件处理函数.包括以下几种: 1.HTML事件处理程序    某个元素支持的每 ...

  7. [hdu1402]A * B Problem Plus(FFT模板题)

    解题关键:快速傅里叶变换fft练习. 关于结果多项式长度的确定,首先将短多项式扩展为长多项式,然后扩展为两倍. #include<cstdio> #include<cstring&g ...

  8. C++中对象的常引用

    直接传递对象名 用对象名做函数参数时,在函数调用时将建立一个新的对象,它是形参对象的拷贝. ================下面给出一个直接传递对象名的例子程序1.1================= ...

  9. Flask14 渲染问题、API、项目文档

    3 前端渲染和后端渲染 这两种渲染都属于动态页面 区分前后端渲染的关键点是站在浏览器的角度 3.1 后端渲染 浏览器请求服务器后获取到的是完整的HTML页面(即:后台已经组装好HTML文件啦),利用f ...

  10. map-reduce的八个流程

    下面讲解这八个流程  Inputformat-->map-->(combine)-->partition-->copy&merge-->sort-->red ...