Scala的基础学习(二)变量

2015-06-17 09:53:22   作者:MangoCool   来源:MangoCool

Scala变量有两种形式。值和变量。一个值变量其实就是一个常量,这就意味着一旦给予申明初始化,它的值是不能改变的。换句话说就是它是不可变的。另外一个就是常规变量,它的值是可以改变的。


申明var和val变量

下面是让你看到如何声明这两个var和val类型的变量:

var myVar : Int = 0;
val myVal : Int = 0;
第一个变量myVar,是被申明成一个var类型的变量。意思就是这个变量的值是可以被改变的。

第二个变量myVal,是被申明成一个val类型的变量。意思就是这是一个值,一个常量,这个值一旦被申明初始化是不可以被改变的。


变量的类型和类型的接口

这个例子在定义了变量名之后还指定了该变量的一个变量类型,中间用冒号分隔。在这个例子中我反复申明了变量的类型,类型是Int:

var myVar : Int = 0;
val myVal : Int = 1;

这个变量的类型在定义变量之后指定,在变量赋值之前。

当你给一个变量初始化,Scala编译器就会根据你赋的值来推断出这个变量的类型。这是因为调用了类型的接口。因此,你如下可以申明一个变量:

var myVar = 0;
val myVal = 1;
当然,假如你在定义变量之后没有给变量初始化,那么编译器是不可能推断出这个比变量的类型的。所以,你必须指定这个类型,假如你没有给变量做初始化。如下:
var myVar :Int;
val myVal :Int;


域,参数和局部变量

在Scala中变量有不同的三种角色,域,方法的参数和局部变量。在Scala中是没有静态变量的。

域是变量也是属于一个对象。域可以存在于每一个对象的方法中,也可以在对象外,这个就取决于访问修饰符的申明。可以是var和val两种。

方法的参数作为一个变量是在方法被调用时将值传给方法的。方法的参数仅仅只能在方法里面,但是传入的对象可能从外部访问,如果有一个对象的引用来之于方法之外。方法参数类型应该是val的。

局部变量就是申明在方法内的变量。局部变量仅仅只能在方法里面访问,但是如你创建的是一个对象就可能不同,如果你从方法中返回了它们。局部变量可以是var和val类型的。

注:本文为译文,为了让自己还能保持学习的激情,必须这么做!自己感觉都翻译得有点怪怪的,欢迎指教!


文章来源:http://tutorials.jenkov.com/scala/variables.html

标签: Scala Variables var val

分享:

上一篇Scala的基础学习(三)数据类型

下一篇Scala的基础学习(一)类和对象

关于我

一个喜欢唱歌,热衷旅行,爱好电子产品的码农。没事,跟三五好友吼上几嗓子,约上几个背着行囊去露营或者宅在家里抱着孩子敲代码。

座右铭:当你的才华还撑不起你的野心的时候,你就应该静下心来学习,永不止步!

            人生之旅历途甚长,所争决不在一年半月,万不可因此着急失望,招精神之萎葸。


Copyright 芒果酷(mangocool.com) All rights reserved. 湘ICP备14019394号

免责声明:本网站部分文章转载其他媒体,意在为公众提供免费服务。如有信息侵犯了您的权益,可与本网站联系,本网站将尽快予以撤除。