您的位置:首页 > 其它

scala 开发入门(1)-- 变量及基本数据类型

2018-03-06 10:46 316 查看
scala中有两种变量类型:可变变量和不可变变量。可变变量指的是变量被赋值后,变量值可以随着程序的运行而改变,可变变量用关键字 var 定义,不可变变量用关键字 val 定义。val helloString = "Hello Word" //Scala 会自动进行类型判断
helloString = "Hello" //错误,不能被重新赋值

//var 可变变量
var helloString = "Hello Cruel Word"
//重新赋值
helloString = "GoodBye Cruel Word"另外,变量定义的初始化还可以用占位符 '_' 进行初始化,字符类型的初始化成null,数字类型的初始化为0var s2:String = _ //s2:String = null
var il:Int = _ //il:Int = 0
var f1:Float = _ //f1:Float = 0.0
var c1:Char = _ //c1:Char = ?lazy 修饰符可以被用来修饰 val 变量,经过 lazy 关键字修饰的变量只有在真正使用时才会被赋值lazy val v1 = "test" // v1:String = <lazy>

基本数据类型

Byte 字节类型                            8位有符号的整数

Short短整型                               16位有符号的整数
Int 整型                                     32位有符号的整数
Long长整型                               64位有符号的整数
Char字符型                                16位无符号字符
String字符串型                           连续字符串
Float浮点型                                32位浮点数
Double                                      64位双精度浮点数

Boolean                                     布尔型
如果直接输入浮点数,scala会默认解释成Double类型,需要在浮点数后加f才能定义Float类型的变量。val floatNumber = 3.141529f //floatNumber:Float = 3.141529Char类型表示的是字符类型,用单引号将字符包裹起来。var charLiteral = 'A'
var x = '\"' //部分特殊字符如双引号,换行符及反斜杠等的定义需要加转义字符 \ 或者用Unicode 编码
var x = '\u0022' //x:Char = "String类型表示的是字符串类型,用""包裹,或者用3个双引号 """ xxx """ 包裹
val helloWord = "Hello Word"
var helloWord = """Hello Word"""

基本操作符

 算术操作                   加(+)、减(-)、乘(*)、除(/)、取模(%)
 关系运算操作            大于(>)、小于(<)、小于等于(<=)、大于等于(>=)
 逻辑运算操作            与(&&)、或(||)、非(!)
 对象比较                   等于(==)或 x.equals(y) 等价 x == y
 字符串运算操作
 var str = "Hello"   // str:String = Hello
 str.indexOf("o")   // 4 查找对应位置
 str.toUpperCase    //这个不用解释了 str.toLowerCase
 str.reverse        //反转 olleH
 str.drop 3         //丢弃前3个字符 lo

 str slice<1,4>     //相当于python str[1:4]  res = ell

元组类型

元组可以将不同的值放在一个变量中保存("hello","china","beijing") // (String,String,String) = (hello,china,beijing)
var tuple = ("Hello","China",1) //不同的变量类型

//要访问元组的内容,可以通过 变量名._N 的方式进行,N表示元组中元素的索引号
tuple._1 // Hello 注意索引是从 1 开始,而不是 0

//在使用时还可以将元组的内容进行提取,对变量进行初始化
val (first,second,third) = tuple
first:String = Hello
second:String = China
third:Int = 1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息