Scala学习-01-变量与类型】的更多相关文章

1.小试牛刀 使用Scala自带的REPL shell(Read Evaluate Print Loop)学习和尝试Scala语言库,创建的变量在会话期间都是有效的. Ctrl+D可退出REPL shell 实验1: scala> println("hello world")hello world scala> 5*7res1: Int = 35 scala> 2* res1res2: Int = 70 2.处理数据中的字面量.值.变量和类型 字面量:直接在源代码中出…
Scala运行在jvm之上,可以调用Java类库和与Java框架交互,并将面向对象与面向函数结合在一起. 特点: 1 保留了静态类型检查.安全保障高. 2 函数式编程,更加灵活. 3 运行于jvm之上,可以直接编译成Java字节码,可以使用现成的大量Java类库. Scala程序可以向其他解释型语言一样通过REPL开发,但是Scalal程序会被快速编译成字节码,然后将字节码交给Jvm执行. REPL — 交互式解释器环境. R(read).E(evaluate).P(print).L(loop)…
1.介绍 Scala 提供了强大的模式匹配机制,应用也非常广泛. 一个模式匹配包含了一系列备选项,每个都开始于关键字 case.每个备选项都包含了一个模式及一到多个表达式.箭头符号 => 隔开了模式和表达式. 先看一个整型值模式匹配的例子 match 对应 Java 里的 switch,但是写在选择器表达式之后.即: 选择器 match {备选项}. 2.基于类型的模式匹配 acceptAnything的参数类型Any允许任何类型的参数,如果向某个方法传递的类型具有多样性,并且没有任何共性部分,…
看到Option类型就知道这本教材应该要说那个了. 使用过guava后,应该知道guava中的Optional类的作用是什么.算了找下原始文档好了: Optional<T> is a way of replacing a nullable T reference with a non-null value. An Optional may either contain a non-null T reference (in which case we say the reference is &…
一.本章要点 单例类型可用于方法串接和带对象参数的方法 类型投影对所有外部类的对象都包含了其他内部类的实例 类型别名给类型指定一个短小的名称 结构类型等效于”鸭子类型“ 存在类型为泛型的通配参数提供了统一形式 使用自身类型来表明某特质对混入它的类或对象的类型要求 ”蛋糕模式“用自身类型来实现依赖注入 抽象类型必须在子类中具体化 高等类型带有本身参数化类型的类型参数 二.单例类型 给定任何引用v,可以得到类型.type,可能的两个值:v和null.例: //通过this返回自身串接 class D…
1.变量不是‘盒子’. 1.1 不同的值,变量名没变,   变量地址也会变. 1.2 相同的值,不同的变量名,变量地址是相同的…
Android Testing学习01 介绍 测试测什么 测试的类型 Android 测试 测什么 1.Activity的生命周期事件 应该测试Activity的生命周期事件处理. 如果你的Activity应该在onPause()和onDestroy()中保存状态,并在onCreate()中恢复:你应该写测试去证明:状态能够被正确地保存和恢复. 配置改变事件也需要被测试,因为有些事件会导致当前Activity的重建,比如屏幕旋转有时候会重建Activity.你应当去测试事件是否被正确地处理,新建…
这一章的一些基础性的东西,主要包括Scala中的基本变量类型,以及相关的一些操作符. 一.简单类型 下表中列出Scala语言中的基本类型,以及其字节长度,其中Byte, Short, Int, Long以及Char都属于整型,整型再加上Float和Doble统称为数字类型. 类型 描述 Byte 8位有符号补码整型(-2^7~2^7 - 1) Short 16位有符号补码整型(-2^15~2^15 - 1) Int 32位有符号补码 整型(-2^31~2^31 - 1) Long 64位有符号补…
Scala类型注意事项: 1.Any是绝对的根,所有的其他可实例化类型均有AnyVal和AnyRef派生. 2.所有AnyVal的类型成为值类型(所有数值类型.char.Booble和Unit) 3.而其他类型都以AnyRef(引用类型)为根,并且只能做为对象在堆中分配内存,通过一个内存引用来访问. 4.Scala中提供了null类型表示空类型,意味着对象不指向任何堆内存空间. 5.Scala语法更加优先使用实际类型和实例而不是保留字,如null 6.Unit类型与上述类型均不同,它是一种指示没…
除了推演变量的类型,scala也会推演方法的返回类型.不过这里有一处需要注意:方法返回类型的推演依赖于方法的定义方式.如果用等号"="定义方法,scala就会推演方法返回类型:否则,它就认为方法的返回为void.看一个例子: def printMethodInfo(methodName: String) { println("The return type of " + methodName + " is " + getClass().getDe…