scala中有9大基本类型:

Byte 、Short 、Int 、Long、 Char 、String 、Float、 Double 、Boolean

与java的基本类型看起来基本是一致的,但实际上除了String,其他的所有的类型,都是使用scala包下的成员。scala虽然是强类型的语言,但是通过强大的类型推倒,scala基本不需要刻意地去指定类型.

变量

scala通过 val或者var来定义值和变量,val定义的值是不可变的,而var定义的变量是可变的。比如:

val a=
val a=

这样scala就会报错,而使用:

var a=
var a=

就不会有问题,也就是说val声明的变量所引用的实例是不可修改的。而var声明的变量引用的对象是可以随意修改的。在scala的世界里鼓励大家多用val,以此提升不变性和函数式风格。

同时,我们可以 在变量后面添加 类型来指定变量的类型。

val msg : String = "Hello, world!"

我们也可以像java一样把一个对象赋给一个变量

val c = new java.math.BigInteger("")

java虽然是一个面向对象的语言,但是依然将基本类型和对象从概念上区分开来。而在scala中,将一切都视为了对象。这样的好处就是可以在基本类型对象上调用方法。

多变量赋值

在scala中,元组是指不变的对象序列,我们可以使用它来对多个变量进行赋值。

scala> val (one,two,three)=("a","b","c")
one: String = a
two: String = b
three: String = c

总结

基本类型

变量赋值

学习Scala02 基本类型的更多相关文章

  1. Python学习之数组类型一:

    Python学习之数组类型一: Numpy中的向量与矩阵: 1.创建:  向量.矩阵均由array函数创建,区别在于向量是v=array( [逗号分隔的元素] ), 矩阵是M=array( [[ ]] ...

  2. python3.4学习笔记(二) 类型判断,异常处理,终止程序

    python3.4学习笔记(二) 类型判断,异常处理,终止程序,实例代码: #idle中按F5可以运行代码 #引入外部模块 import xxx #random模块,randint(开始数,结束数) ...

  3. 02-Swift学习笔记-元组类型

    02-Swift学习笔记-元组类型 元组类型由N个任意类型的数据组成(N>=0) 元组类型的数据称为"元素" eg var size = (x:100 , y:100) si ...

  4. c++学习总结--复合类型,const。

    复习c++,有必要对一些东西做一下笔记,方便以后学习,如有问题,欢迎提出. 首先,最常用两种复合类型应该是引用和指针. 所谓复合类型,是在基本类型基础(如:int)上定义的类型. 引用是c++的一个复 ...

  5. C++ 11 学习1:类型自动推导 auto和decltype

    Cocos 3.x 用了大量的C++ 11 的东西,所以作为一个C++忠实粉丝,有必要对C++ 11进行一个系统的学习. 使用C++11之前,一定要注意自己使用的编译器对C++11的支持情况,有些编译 ...

  6. JavaScript系统学习小结——Object类型、Array类型

    今天学习JavaSript中引用变量中的Object类型和Array类型: 1. Js中大多数引用类型值都是Object类型的实例,Object类型在应用程序中存储和传输数据时,是非常理想的选择: 创 ...

  7. boost学习 内嵌类型检测 与 any 的代码练习

    本文是学习 boost源码的一些练习 参考文章来自 刘未鹏 C++的罗浮宫(http://blog.csdn.net/pongba) 目录 http://blog.csdn.net/pongba/ar ...

  8. 「Haskell 学习」二 类型和函数(上)

    随着学习的深入,笔记会补充和修订.当然,这个补充修订也许会鸽,但我一定会坚持写完. 这个笔记假定你至少学过C/C++及Python,或与这两种语言类型相同的语言. 类型系统概述 “Haskell’s ...

  9. c语言学习笔记 - 枚举类型

    今天学习了c语言的枚举类型的使用,可能是PHP里没使用过,开始看的时候还是觉得有点怪,后来做了下例子才理解,这里做个笔记记录一下. #include <stdio.h> enum anim ...

随机推荐

  1. CentOS6.5 (64bit) 光盘内部FTP源

    一.启动系统,用ISO镜像挂载[root@yum ~]# mkdir -p /mnt/cdrom01[root@yum ~]# mkdir -p /mnt/cdrom02 [root@yum ~]# ...

  2. 关于“float”的一次探索--遇到了一个span元素可以设置宽高引发的思考

    起初,这个问题和float还有设置宽高之间是没有任何关联的,一开始这是一个关于height和line-height的问题,目的是为了探究一下这两者之间的关系,但是在学习的过程中,我翻之前写的代码,发现 ...

  3. 其它数据类型和Json的转化

    1.ResultSet→Json public static String resultSetToJson(ResultSet rs) throws SQLException,JSONExceptio ...

  4. iOS多线程 GCD常见用法

    Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法. dispatch queue分成以下三种: 1)运行在主线程的Main queue,通过dispat ...

  5. 页面轮换,ViewFlipper 和 ViewPager 的区别

    ViewFlipper继承ViewAnimator,切换view的时候是有动画效果的,适合做ppt,多界面的程序欢迎引导界面,算是个轻量级的组件,适合展示静态数据,少量数据. ViewPager继承V ...

  6. jquery easyui window中的datagrid,只能显示一次问题

    最近项目中用到easyui 的动态创建window ,window中嵌入了datagruid.第一次打开是能显示数据,但再次打开时确没显示: 注:url已成功返回了数据. 多次查阅easyui帮助文档 ...

  7. 实验 2 用C语言编写简单程序

    #include<stdio.h> int main() { int x,y; printf("enter x:"); scanf("%d",&am ...

  8. zabbix3.0 微信告警

    首先需要申请一个企业号,其实公众号也可以,不过脚本不一样.而且公众号任何人都可以关注,有泄密的风险.企业号只有指定的人可以关注,安全性较高.申请企业号,需要一个绑定你本人开户银行卡的微信号. 申请网址 ...

  9. linux中shell变量$#,$@,$0,$1,$2的含义解释(转)

    变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) $- 使用Set命令设定的Flag一览  ...

  10. C++单元测试 之 gtest -- 组合数计算.

    本文将介绍如何使用gtest进行单元测试. gtest是google单元测试框架.使用非常方便. 首先,下载gtest (有些google项目包含gtest,如 protobuf),复制目录即可使用. ...