package com.hengheng.scala

import scala.util.control.Breaks._
import scala.util.Random

object Application{
  def main(args : Array[String]) {
    println("Hello, World!")
    println(addSayHelloFirst(5, 10))
    val I = List(1, 2, 3)
    I.map((i) => {
      println("HI")
      println(i + 9)
    })

  }
  def addSayHelloFirst(i : Int, j : Int) : Int = {
    println("Hello")
    i + j
  }
  def add(i : Int, j : Int) = i + j
  val add2 = add(2, _ : Int)
  println(add2(99))
  def devide(i : Int)(j : Int) : Int = i / j
  val devideBy2 = devide(_ : Int)(2)
  println(devideBy2(100))
  var _100Devide = devide(100)(_ : Int)
  println(_100Devide(10))
  var k = 5
  if(k > 10) {
    println("k is more than 10.")
  }
  else if(k < 0) {
    println("k is less than 0")
  }
  else {
    println("k is between 1 and 10")
  }
  var i = 0
  var sum = 0
  while(i < 10) {
    sum += i
    i += 1
  }
  println(sum)
  sum = 0
  for (i <- 1 to 9) {
    sum += i
  }
  println(sum)

  breakable {
    while(true) {
      val r = new Random()
      val i = r.nextInt(10)
      println("i == " +i)
      if(i == 5) {
        break
      }
    }
  }
}

  输出:

101
50
10
k is between 1 and 10
45
45
i == 9
i == 0
i == 4
i == 9
i == 3
i == 1
i == 2
i == 1
i == 3
i == 5
Hello, World!
Hello
15
HI
10
HI
11
HI
12

SCALA常规练习A的更多相关文章

  1. SCALA常规练习C

    package com.hengheng.scala abstract class Animal { def walk(speed : Int) def breathe() = { println(& ...

  2. SCALA常规练习B

    package com.hengheng.scala class Point(val x : Int, val y : Int) { val isOriginal : Boolean = { x == ...

  3. 【Todo】【读书笔记】大数据Spark企业级实战版 & Scala学习

    下了这本<大数据Spark企业级实战版>, 另外还有一本<Spark大数据处理:技术.应用与性能优化(全)> 先看前一篇. 根据书里的前言里面,对于阅读顺序的建议.先看最后的S ...

  4. scala学习笔记2

    一.算术和操作符重载 a + b 是如下方法的简写: a.+(b) 在scala中你可以使用任何符号来为方法命名.比如BigInt类就定义了一个/%的方法,该方法返回一个对偶,对偶的内容是除法操作得到 ...

  5. scala学习笔记1

    一.REPL scala解释器读到一个表达式,对它进行求值,将它的打印出来,接着再继续读下一个表达式.这个过程被称作 读取-打印-循环,即REPL. 从技术上讲,scala程序并不是一个解释器.实际发 ...

  6. [翻译]The Neophyte's Guide to Scala Part 12: Type Classes

    The Neophyte's Guide to Scala Part 12: Type Classes 过去的两周我们讨论了一些使我们保持DRY和灵活性的函数式编程技术,特别是函数组合,partial ...

  7. Scala并发编程

    Scala的actor提供了一种基于事件的轻量级线程.只要使用scala.actors.Actor伴生对象的actor方法,就可以创建一个actor.它接受一个函数值/闭包做参数,一创建好就开始运行. ...

  8. 【Scala】Scala之Classes and Properties

    一.前言 前面学习了控制结构,下面学习Scala的Class和Properties. 二.Class&Properties 尽管Scala和Java很类似,但是对类的定义.类构造函数.字段可见 ...

  9. scala 随笔

    创建map,并向map添加元素 val idMap = Map( "group_id" -> "GID", "sim_id" -> ...

随机推荐

  1. Cocos3.0测试版发布(中文)

    最新的cocos2d-x 3.0版本,我们的目标不仅是改进渲染机制,增加对2.5D的支持,基于组件的系统功能,和更好的Label功能.同时 我们希望能够进一步优化引擎,并且使用更友好的C++ API ...

  2. DFU工作过程中USB机制

    在一级bootloader执行进入USB启动方式之后,设备进行枚举.枚举过程中会通过PC端发送命令对连接的USB设备进行枚举.当枚举成功之后,在PC端可以看到设备的盘符. 当设备能够被PC正确识别之后 ...

  3. 物联网MQTT协议分析和开源Mosquitto部署验证

    在<物联网核心协议—消息推送技术演进>一文中已向读者介绍了多种消息推送技术的情况,包括HTTP单向通信.Ajax轮询.Websocket.MQTT.CoAP等,其中MQTT协议为IBM制定 ...

  4. js中return false,return,return true的使用方法及区别

    起首return作为返回keyword,他有下面两种返回体式格式 1.返回把握与函数成果 语法为:return 表达式; 语句停止函数履行,返回调用函数,而且把表达式的值作为函数的成果 2.返回把握无 ...

  5. KVM与VMware的性能比较

    结合网页http://www.linuxidc.com/Linux/2011-01/31755.htm等整理 物理环境内存4G ,CPU4个,动态硬盘120G KVM: 硬盘测试瞬间读取速度Timin ...

  6. 从零开始学习jQuery-------jQuery元素选择器(三)

    下面我们来介绍一下jQuery元素选择器,在Web开发中我们最常用的操作是获取元素,然后对获取的元素进行一系列的操作,jQuery根据获取页面元素的不同,可以将jQuery选择器分为四大类:基本选择器 ...

  7. [转] C++11带来的move语义

    PS: 通过引入接收右值的函数形参,可以通过接收右值来实现高效 PS在C++11中,标准库在<utility>中提供了一个有用的函数std::move,这个函数的名字具有迷惑性,因为实际上 ...

  8. 案例:java中的基本排序

    //冒泡排序 import java.util.Arrays; public class ForTest{ public static void main(String args[]){ int[] ...

  9. Java基础知识强化之IO流笔记19:FileOutputStream的三个write方法

    1. FileOutputStream的三个write方法:  void write(byte[] buffer)           Writes the entire contents of th ...

  10. Android WindowManager的使用

    经常,我们看到在桌面上可移动的悬浮窗,这种场景还是很多的, 像流量统计,桌面歌词等,安全软件的清理小部件 这种小部件主要是通过 WindowManager ; WindowManager.Layout ...