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就会推演方法返回类型:否则 ...
随机推荐
- pixhawk在linux(ubuntu16.04)下的开发环境搭建和源码编译
1查找安装文档(http://dev.px4.io/starting-installing-linux.html)(本文仅针对硬件为PIXHAWK的开发环境搭建,其他硬件请参考官方文档) ...
- 1044 拦截导弹 1999年NOIP全国联赛提高组 个人博客:attack.cf
1044 拦截导弹 1999年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 某国为了防御敌 ...
- (2017.10.16) javascript 数据类型转换与操作
javascript 有 5 种基本数据类型:undefined.null.Boolean.String.Number,还有1 种较复杂的数据类型 Object:各种类型之间可以相互转换,其中有些有趣 ...
- window.open()弹出窗口参数说明及居中设置
window.open()可以弹出一个新的窗口,并且通过参数控制窗口的各项属性. 最基本的弹出窗口代码 window.open('httP://codeo.cn/'); window.open()各参 ...
- Java集合框架—Set
集合框架 Set的特点:无序,不可以重复元素. (1)HashSet:数据结构是哈希表.线程是非同步的. 保证元素唯一性的原理:判断元素的hashCode值是否相同. ...
- Unity的stateMachineBehaviour
Unity5新增的StateMachineBehaviour是对状态机的内置,确实方便了很多,这里记录它的两个问题: 1.如果正在执行的状态被打断,当前状态的OnStateExit不会被执行,该问题在 ...
- less的使用总结
简单执行less 一.使用npm全局安装less: npm install -g less 二.创建less文件 三.执行命令将less文件转换成css文件 lessc less/style.less ...
- windows 10 无法使用内置管理员账户打开应用的解决方案
步骤 运行regedit.msc: 依次找到:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\ ...
- Idea01 Idea2018中集成Tomcat9导致OutPut乱码
版本和平台 idea2018.3 tomcat9 jdk1.8 windows7 64位 output乱码 经过测试,项目编码格式设置为utf-8,在main方法中输出中文正常. 而iedea集成to ...
- LEETCODE60——第K个排列
class Solution { public: string getPermutation(int n, int k) { '); vector<bool> flag(n, false) ...