Scala学习-01-变量与类型
Scala运行在jvm之上,可以调用Java类库和与Java框架交互,并将面向对象与面向函数结合在一起。
特点:
1 保留了静态类型检查。安全保障高。
2 函数式编程,更加灵活。
3 运行于jvm之上,可以直接编译成Java字节码,可以使用现成的大量Java类库。
Scala程序可以向其他解释型语言一样通过REPL开发,但是Scalal程序会被快速编译成字节码,然后将字节码交给Jvm执行。
REPL — 交互式解释器环境。
R(read)、E(evaluate)、P(print)、L(loop)
输入值,交互式解释器会读取输入内容并对它求值,再返回结果,并重复此过程。
Scala变量声明:
scala> var res=6*3
res: Int = 18 scala> var str="HelloWorld"
str: String = HelloWorld
用val定义常量
Scala中推荐使用val,除非真的要改变这个值的时候。
scala> var res=6*3
res: Int = 18 scala> var str="HelloWorld"
str: String = HelloWorld
注意:必须赋初值。因为编译器要根据初值给变量定义类型。
res: Int = 56
scala> res="test"
<console>:12: error: type mismatch;
found : String("test")
required: Int
res="test"
自定义类型
scala> var res : String = "HelloWorld"
res: String = HelloWorld scala> res+"Scala"
res11: String = HelloWorldScala
格式和java有一定的区别。
Java: String res
Scala: res : String
分号分隔
在Java中每一行都要用“;”分隔,Scala中只有在一行代码多条语句的情况下使用“;”
可以将多个变量放一起声明
val xmax, ymax = 100 // 将xmax֗和max设为100
var greeting, message: String = null
// greeting֗message都是字符串,被初始化为null
Scala常用类型
scala> 1.toString()
res12: String = 1 scala> 1.to(10)
res13: scala.collection.immutable.Range.Inclusive = Range 1 to 10
Scala中的int double……都是类,并且Scala并不刻意区分基本类型和引用类型
在Scala中,包装类型的转换由Scala编译器完成,并不需要程序员考虑。
Scala中的类型转换
Scala通过方法做类型转换。
scala> 99.7.toInt
res14: Int = 99 scala> "99.7".toDouble
res15: Double = 99.7
Scala学习-01-变量与类型的更多相关文章
- Scala学习笔记(1)-基本类型归纳
1.小试牛刀 使用Scala自带的REPL shell(Read Evaluate Print Loop)学习和尝试Scala语言库,创建的变量在会话期间都是有效的. Ctrl+D可退出REPL sh ...
- scala 学习笔记七 基于类型的模式匹配
1.介绍 Scala 提供了强大的模式匹配机制,应用也非常广泛. 一个模式匹配包含了一系列备选项,每个都开始于关键字 case.每个备选项都包含了一个模式及一到多个表达式.箭头符号 => 隔开了 ...
- scala学习手记19 - Option类型
看到Option类型就知道这本教材应该要说那个了. 使用过guava后,应该知道guava中的Optional类的作用是什么.算了找下原始文档好了: Optional<T> is a wa ...
- Scala学习十八——高级类型
一.本章要点 单例类型可用于方法串接和带对象参数的方法 类型投影对所有外部类的对象都包含了其他内部类的实例 类型别名给类型指定一个短小的名称 结构类型等效于”鸭子类型“ 存在类型为泛型的通配参数提供了 ...
- python学习 01 变量
1.变量不是‘盒子’. 1.1 不同的值,变量名没变, 变量地址也会变. 1.2 相同的值,不同的变量名,变量地址是相同的
- Android Testing学习01 介绍 测试测什么 测试的类型
Android Testing学习01 介绍 测试测什么 测试的类型 Android 测试 测什么 1.Activity的生命周期事件 应该测试Activity的生命周期事件处理. 如果你的Activ ...
- Programming In Scala笔记-第五章、Scala中的变量类型和操作
这一章的一些基础性的东西,主要包括Scala中的基本变量类型,以及相关的一些操作符. 一.简单类型 下表中列出Scala语言中的基本类型,以及其字节长度,其中Byte, Short, Int, Lon ...
- Scala学习笔记(2)-类型注意
Scala类型注意事项: 1.Any是绝对的根,所有的其他可实例化类型均有AnyVal和AnyRef派生. 2.所有AnyVal的类型成为值类型(所有数值类型.char.Booble和Unit) 3. ...
- scala学习手记20 - 方法返回类型推断
除了推演变量的类型,scala也会推演方法的返回类型.不过这里有一处需要注意:方法返回类型的推演依赖于方法的定义方式.如果用等号"="定义方法,scala就会推演方法返回类型:否则 ...
随机推荐
- spring中自动装配bean
首先用@Component注解类: package soundsystem: import org.springframework.stereotype.Component; @Component p ...
- 序列化流与反序列化流,打印流,工具类commons-IO
1序列化流与反序列化流 用于从流中读取对象的操作流 ObjectInputStream 称为 反序列化流 用于向流中写入对象的操作流 ObjectOutputStream 称为 序列化流 特 ...
- 学JS的书籍
1.JavaScript DOM 编程艺术 [说明] 这本书最大的特点就是简明易懂,循序渐进,适合初学者,非常容易上手. 计划:三天读完 读书总结:待写 2.Javascript权威指南 特点是权威. ...
- 好吧,不说闲言碎语,不抱怨,好好工作,好好学习,多总结。记录一下昨天做vuejs的心得
1.做了两个bat文件,一个是直接定位到vuejs项目并且运行,另一个就是打包 run.bat d:cd wwwcd vuecd dtbpmcnpm run devpause build.bat cd ...
- O2O创业团队,遇到生死悠关的问题,希望大家支招?
简单概括下情况:公司名下有两个内部创业团队,A团队成立3年以上,现在模式基本成熟稳定,有固定营收,但是还未收支平衡:B团队O2O项目,成立5个月左右,还处于萌芽阶段,技术+运营+市场共计9名成员,现总 ...
- 【虚拟机-部署】通过 Powershell 来调整 ARM 模式下虚拟机的尺寸
需求描述 在部署完 ARM 模式的虚拟机以后,可以通过 PowerShell 命令来调整虚拟机的尺寸,以下是通过 PowerShell 命令来调整 ARM 模式的虚拟机尺寸. Note 本文只限于 A ...
- APP自动化测试
CTS工具,主要是基于Androidinstrumentation和JUnit测试原理推单元测试用例: Monkey用来对UI进行压力测试,伪随机的模拟用户的按键输入,触摸屏输入,手势输入等: ASE ...
- 在DataGridView控件中验证数据输入
实现效果: 知识运用: DataGridView控件的公共事件CellValidating //将System.Windows.Forms.DataGridViewCellValidatingEven ...
- python 列表 字典转json
一.Dictionary 转为JSON 将dict转为JSON,这里利用包json import jsonaItem = {}aItem["id"] = "2203&qu ...
- java中Integer和int的区别
亲看这里 例子: public class Test { public static void main(String[] args) { Integer i = new Integer(128); ...