声明值和变量

  • 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》——基础的更多相关文章

  1. 《Google软件测试之道》基础

    <Google软件测试之道>,一直听朋友讲起这本书,出于琐事太多,一直没机会拜读,最近部门架构觉得我们IT部门的技术太low,就给我们挑选了一些书籍,让我们多看看... 个人的一种学习习惯 ...

  2. 小课堂week14 Google软件测试之道

    读<Google软件测试之道> 在IT领域,Google是一面旗帜,是一家非常善于思考善于尝试的公司.随着面临挑战的不断增大,传统的测试开展方式也越来越力不从心,这本书讲述的就是一次完整的 ...

  3. 《Google软件测试之道》测试开发工程师

    拖延了将近半年的草稿,断断续续的写完了.之前草草翻看完这本书,关注点主要在TE上,而关于SET的部分则只是浏览,最近后知后觉,又翻出了这本书,重新看了一遍,又有新收获. 就说说Google的SET是如 ...

  4. 《Google软件测试之道》简介

    <Google软件测试之道>,一直听朋友讲起这本书,出于琐事太多,一直没机会拜读,最近部门架构觉得我们IT部门的技术太low,就给我们挑选了一些书籍,让我们多看看... 个人的一种学习习惯 ...

  5. 《Google软件测试之道》- Google软件测试介绍

    <Google软件测试之道>- Google软件测试介绍 2015-05-21 目录 1 质量与测试  2 角色  3 组织结构  4 爬.走.跑  5 测试类型  相关链接 与Micro ...

  6. 《Google 软件测试之道》摘录

    最近刚刚看完<Google 软件测试之道>,受益颇多,遂记录下: 只有在软件产品变得重要的时候质量才显得重要 第一章:谷歌软件测试介绍 角色介绍 SWE(Software Engineer ...

  7. 《Google软件测试之道》

    Google软件测试之道 Google对质量的理解 质量不等于测试,即质量不是被测出来的 开发和测试应该并肩齐驱,测试就是开发过程中不可缺少的一部分 质量是一种预防行为而不是检测 Google对软件测 ...

  8. google软件测试之道--读后笔记

         看完google软件测试之道,以前有认真看过一次,今天又重新看了一遍.   在google,测试人员严格区分为SET和TE.SET前期深度参与项目的开发,推动开发人员的自测,从破坏者的角度寻 ...

  9. google软件测试之道读后感(一)

    这几天在抽空读一本新书,久负盛名的<google软件测试之道>.之前在网络上一点一点地看过它的英文版,很受触动,还做了很长的读书笔记,现在看到了中文版,才恍觉之前的好些理解存在不恰当的地方 ...

  10. 《Google软件测试之道》【PDF】下载

    <Google软件测试之道>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382198 内容介绍 每天,Google都要测试和发布 ...

随机推荐

  1. CI Weekly #16 | 从另一个角度看开发效率:flow.ci 数据统计功能上线

    很开心的告诉大家,flow.ci 数据统计功能已正式上线. 进入 flow.ci 控制台,点击「数据分析」按钮,你可以按照时间日期筛选,flow.ci 将多维度地展示「组织与项目」的构建数据指标与模型 ...

  2. unity插件开发——一个例子:简单的svn集成

    在unity开发过程中,通常我们习惯性地在Windows操作系统下使用svn进行版本管理,而每次提交更新,都需要回到文件夹下的这种操作让人无法忍受.是不是可以集成svn到unity中呢?查了一圈uni ...

  3. js正则表达test、exec和match的区别

    test的用法和exec一致,只不过返回值是 true false. 以前用js很少用到js的正则表达式,即使用到了,也是诸如邮件名称之类的判断,网上代码很多,很少有研究,拿来即用. 最近开发遇到一些 ...

  4. Android 学习笔记之实时保存数据-现场保护onSaveInstanceState()

    数据保存:在软件开发中我们希望保存下各个Activity数据,以实现客户数据的时时保存,达到较好的用户体验. 那么我们需要解决如下问题: 1.什么时候保存? 2.保存哪些数据?     我想保存应用产 ...

  5. 1094:零起点学算法01——第一个程序Hello World!

    Description 题目很简单 输出"Hello World!"(不含引号),并换行. Input 没有输入 Output 输出"Hello World!" ...

  6. 一个可能让你记忆力飙升的软件 —— 这是一道填空(keng)题

    本文题目的两个含义: 1.填上次挖的坑,将优化后的软件分享给需要的网友(下载链接附在文末): 还没有看过的网友可以先看看这篇文章: 一个可能让你记忆力飙升的软件 2.这个软件的本质其实就是生成各种填空 ...

  7. 介绍三个Android支持库控件:TabLayout+ViewPager+RecyclerView

    本文主要介绍如下三个Android支持库控件的配合使用: TabLayout:android.support.design.widget.TabLayout ViewPager:android.sup ...

  8. 3 安装Zookeeper

    cnblogs-DOC 1.服务器环境 2.安装Redis3.安装Zookeeper4.安装MPush5.安装Alloc服务6.完整测试7.常见问题 从官网直接下载Zookeeper最新版本(Zook ...

  9. lua 数组

    lua 数组 语法结构 arr = { - } 一维数组 数组的值仍然是数组的, 为多维数组, 否则为一维数组 示例程序 local arr = {1, 2, 3} for i = 1, #arr d ...

  10. 【转】JDBC学习笔记(3)——复习和练习

    转自:http://www.cnblogs.com/ysw-go/ 复习部分 一.获取数据库连接 1)方式一 1 // 获取数据库连接 2 @Test 3 public void testGetCon ...