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

scala中有两种变量类型:可变变量和不可变变量。可变变量指的是变量被赋值后,变量值可以随着程序的运行而改变,可变变量用关键字 var 定义,不可变变量用关键字 val 定义。

val helloString = "Hello Word"  //Scala 会自动进行类型判断
helloString = "Hello" //错误,不能被重新赋值

//var 可变变量
var helloString = "Hello Cruel Word"
//重新赋值
helloString = "GoodBye Cruel Word"

另外,变量定义的初始化还可以用占位符 '_' 进行初始化,字符类型的初始化成null,数字类型的初始化为0

var 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.141529

Char类型表示的是字符类型,用单引号将字符包裹起来。

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

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值