Scala入门(一)基本数据类型与变量

最近工作需要用到Spark,就不可避免的要接触Scala语言,本着尽快上手的目的,对Scala的基本使用快速的过一遍,侧重比较Java和Scala的异同点。

1.Scala的安装

安装部分不再细述,安装好jdk,scala,配置好环境变量就可以了。

2.变量

scala声明变量的方式和python有点像,支持类型推断功能,也就是说,很多情况下,我们并不需要声明变量的类型,scala会自动推断。scala有两种变量声明方式:var与val,var表示是一个可变量,val则表示是一个不可变量。例如:

var name = "ZhangSan"
val age = 15

scala并不需要在每句结尾都加上分号。当然,你也可以显式的声明变量的类型:

var name : String = "Hello World"
3.基本数据类型

scala的基本数据类型有Byte、Char、Short、Int、Long、Float、Double和Boolean,这些都是类,并且是scala包的成员
这里需要注意下“字面量”(literal)的概念,字面量指的是:在用户不指定变量类型的情况下,系统默认把变量定为某种类型,这种类型就是字面量。
例如:

val i = 123  //123就是整数字面量
val i = 3.14 //3.14就是浮点数字面量
val i = true //true就是布尔型字面量
val i = 'A' //'A'就是字符字面量
val i = "Hello" //"Hello"就是字符串字面量

这里比较好理解,但是除了这些基本类型字面量以外,scala还支持函数字面量,这个后边再谈。
还有一点需要注意的是,和Java不同,在Scala中并没有提供++和- -操作符。

4.Range

如果你使用过Python,对Range应该就不陌生,Range可以支持创建不同数据类型的数值序列,包括Int、Long、Float、Double、Char、BigInt和BigDecimal等。
Range有如下几种创建方法:
1.含头不含尾

1 to 10

这样就创建了一个从1到10的数值序列(不包括10)
2.含头含尾

1 until 5

这样就创建了一个从1到5的数值序列(包含5)
3.带步长的数值序列

1 to 10 by 2

这样就创建了一个从1到10,步长为2的序列,步长,即间隔,例如上图这样的序列,生成的序列应当是1,3,5,7,9

5.输出

这一点和java保持一致,print为正常输出,printf为换行输出。同时,scala还支持像c一样的格式化输出:

print("Hello!")
println("Hello!")
printf("Hello! My name is %d","zhangsan")
6.IO

scala写文件需要借助java的printWriter:

import java.io.PrintWriter//导入java的包
val out = new PrintWriter("output.txt")//建立文件
out.println("Hello")//输出
out.close()//关闭,注意不close是不会生成文件的

读取文件,则需要scala的Source包:

import scala.io.Source//导入包
val inputFile = Source.fromFile("output.txt")//读文件
val lines = inputFile.getLines//迭代器
for (line <- lines) println(line)//循环输出
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值