《快学Scala》——基础
声明值和变量
用val定义的值实际上是常量。用var定义的值是变量。在scala中鼓励使用val。不需要给出值或变量的类型,这个信息可以通过初始化的表达式推断出来。(声明值和变量但不做初始化会报错)
在Scala中,变量或函数的类型总是写在变量或函数名称的后面。如下:
val greeting: String = null val greeting: Any = "Hello"在Scala中,仅当同一行中存在多条语句是才需要使用分号隔开。
我们可以将多个值或变量放在一起声明,如下:
val xmax, ymax = 100 //将xmax和ymax设为100 var greeting, message: String = null //greeting和message都是字符串,被初始化为null。
常用类型
Scala有7种数值类型:Byte、Char、Short、Int、Long、Float和Double,以及一种Boolean类型。这些类型是类,
scala并不区分基本数据类型和引用类型。在Scala中,我们不需要包装类型。在基本类型和包装类型的转换是Scala编译器的工作。举例来说,如果你创建一个Int数组,最终在虚拟机中得到的是一个int[]数组。
Scala用底层的java.lang.String类来表示字符串,不过他通过StringOps类给字符串追加了上百种操作。详情见Scala API文档。
在Scala中,我们用方法,而不是强制类型转换,来做数值类型之间的转换。举例来说,
99.4.toInt得到99。和
Java一样,toString将任意的对象转换成字符串,包含数字的字符串也可以转换成数值,使用toInt和toDouble。
算术和操作符重载
Scala的操作符和Java基本上一样,只是有一点特别:这些操作符实际上是方法。例如:
a+b
是如下方法调用的简写:
a.+(b)
在Scala中几乎可以用任何符号为方法命名。Scala并没有提供++和--操作,我们需要使用+=1或者-=1来实现递增和递减。
Java中不允许对操作符进行重载,Scala中允许我们自定义操作符。
调用函数和方法
在Scala中使用函数时,不需要从某类调用它的静态方法。如使用数学函数:
sqrt(2)//将产出1.41421356237307951 pow(2,4)//将产出16.0 min(3,Pi)//将产出3.0这些数学函数是在scala.math包中定义的,你可以用如下语句进行引入:
Import scala.math._ //在scala中字符“_”是通配符,类似Java中的“*”, //在使用scala开头的包时可以省略scala注:不带参数的Scala方法,通常不使用圆括号。
《快学Scala》——基础的更多相关文章
- 《Google软件测试之道》基础
<Google软件测试之道>,一直听朋友讲起这本书,出于琐事太多,一直没机会拜读,最近部门架构觉得我们IT部门的技术太low,就给我们挑选了一些书籍,让我们多看看... 个人的一种学习习惯 ...
- 小课堂week14 Google软件测试之道
读<Google软件测试之道> 在IT领域,Google是一面旗帜,是一家非常善于思考善于尝试的公司.随着面临挑战的不断增大,传统的测试开展方式也越来越力不从心,这本书讲述的就是一次完整的 ...
- 《Google软件测试之道》测试开发工程师
拖延了将近半年的草稿,断断续续的写完了.之前草草翻看完这本书,关注点主要在TE上,而关于SET的部分则只是浏览,最近后知后觉,又翻出了这本书,重新看了一遍,又有新收获. 就说说Google的SET是如 ...
- 《Google软件测试之道》简介
<Google软件测试之道>,一直听朋友讲起这本书,出于琐事太多,一直没机会拜读,最近部门架构觉得我们IT部门的技术太low,就给我们挑选了一些书籍,让我们多看看... 个人的一种学习习惯 ...
- 《Google软件测试之道》- Google软件测试介绍
<Google软件测试之道>- Google软件测试介绍 2015-05-21 目录 1 质量与测试 2 角色 3 组织结构 4 爬.走.跑 5 测试类型 相关链接 与Micro ...
- 《Google 软件测试之道》摘录
最近刚刚看完<Google 软件测试之道>,受益颇多,遂记录下: 只有在软件产品变得重要的时候质量才显得重要 第一章:谷歌软件测试介绍 角色介绍 SWE(Software Engineer ...
- 《Google软件测试之道》
Google软件测试之道 Google对质量的理解 质量不等于测试,即质量不是被测出来的 开发和测试应该并肩齐驱,测试就是开发过程中不可缺少的一部分 质量是一种预防行为而不是检测 Google对软件测 ...
- google软件测试之道--读后笔记
看完google软件测试之道,以前有认真看过一次,今天又重新看了一遍. 在google,测试人员严格区分为SET和TE.SET前期深度参与项目的开发,推动开发人员的自测,从破坏者的角度寻 ...
- google软件测试之道读后感(一)
这几天在抽空读一本新书,久负盛名的<google软件测试之道>.之前在网络上一点一点地看过它的英文版,很受触动,还做了很长的读书笔记,现在看到了中文版,才恍觉之前的好些理解存在不恰当的地方 ...
- 《Google软件测试之道》【PDF】下载
<Google软件测试之道>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382198 内容介绍 每天,Google都要测试和发布 ...
随机推荐
- java学习笔记 --- 集合
1.定义:集合是一种容器,专门用来存储对象 数组和集合的区别? A:长度区别 数组的长度固定 集合长度可变 B:内容不同 数组存储的是同一种类型的元素 而集合可以存储不同类型的元素 C:元 ...
- PPAPI插件开发指南
转载请注明出处:http://www.cnblogs.com/fangkm/p/4401075.html 前言 插件一直是浏览器的重要组成部分,丰富浏览器的运行能力,实现一些HTML+JS实现不了本地 ...
- 数据结构(三) 用java实现七种排序算法。
很多时候,听别人在讨论快速排序,选择排序,冒泡排序等,都觉得很牛逼,心想,卧槽,排序也分那么多种,就觉得别人很牛逼呀,其实不然,当我们自己去了解学习后发现,并没有想象中那么难,今天就一起总结一下各种排 ...
- JS调用WebService,发布到IIS,网页提示WebService未定义[已解决]
VS2013中,JS调用WebService,一直运行正常.部署到WindowsServer2008之后,在网页中访问,始终提示网页中有错误,点开之后发现是WebService未定义. 于是上网查解决 ...
- Asp.net SignalR 应用并实现群聊功能 开源代码
ASP.NET SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程.实时 Web 功能是指这样一种功能:当所连接的客户端变得可用时服务 ...
- IDMC制造业ERP业务场景测试之一——硅钢片制造业务流程测试
一.测试地址 硅钢片业务测试数据库地址为:http://www.bonawifi.com,测试数据库名字为SiliconSteelSheet,测试账号:用户名demo ,密码demo 二.业务说明 根 ...
- 性能调优案例分享:jvm crash的原因 2
3.core dump分析 有了core dump文件,接下来要做的就是通过命令去解析此文件,定位具体问题了,主要有以下三个命令: (1)先执行gdb $JAVA_HOME$/bin/java cor ...
- 学习HTML5的第二周
---恢复内容开始--- 这是我学习H5的第二周,在本周,我独立完成了一个网站的首页和一个二级页,虽然在做网页的时候我遇到了许多问题,但我自己想办法解决了其中的大部分,只留下了一小部分没有头绪的问题等 ...
- 深入tornado中的协程
tornado使用了单进程(当然也可以多进程) + 协程 + I/O多路复用的机制,解决了C10K中因为过多的线程(进程)的上下文切换 而导致的cpu资源的浪费. tornado中的I/O多路复用前面 ...
- Java面试题04-final关键字详解
Java面试题04-final关键字详解 本篇博客将会讨论java中final关键字的含义,以及final用在什么地方,感觉看书总会有一些模糊,而且解释的不是很清楚,在此做个总结,以备准备面试的时候查 ...