scala学习(二)—基础部分详解

1.IO操作(更丰富的操作使用JavaIO)

//控制台读取数据
import scala.io.StdIn
val str = StdIn.readLine("输入数据: ")
println(str)
//读文件
import scala.io.Source
val file = "D:/data/spark/core/wc.txt"
val source = Source.fromFile(file) //读取文件
source.getLines().foreach(println) //逐行读取,流操作时指针型的,如果输出后指针会指向文件末尾,此时的source就没有任何内容了
// source.close()
//写文件
import java.io._
val writer = new PrintWriter(new File("test.txt" ))
writer.write(source.mkString)
writer.close()

2.异常处理

try{
    val result = 1 / 0
}catch {
    case e: ArithmeticException => e.printStackTrace()
    case _ => throw new Exception("未知错误")
}finally{
    println("必须执行的!")
}

3.访问权限

  • 默认: 公共的,对所有可见

  • protected: 对当前类和子类可见

    • protected[package]: 当前类和子类以及他们的伴生对象可见, 在package包及子包可见

    • protected[this]: 当前类和子类可见

  • private: 当前类以及伴生对象可见

    • private[package]: 当前类可见,在package包以及子包可见

    • private[this]: 仅当前类可见

4.数组

val arr = Array(1 to 5: _ *)
val array = Array.ofDim(3, 3) //构建二维数组
//改
arr(0) = 9
arr.update(0, 10)
//Array的常用方法
val arr2 = Array.concat(arr, Array(1)) //连接数组
Array.copy(arr, 1, Array(), 3, 2) //复制数组
val arr3 = Array.range(0, 10, 3)
println(arr.mkString(","))

5.元组

//创建元组元组可存放不同类型的元素,最大Tuple22
val t1 = (1, "a")
val (x, y) = (1, "a") //本质属于模式匹配
//访问元组
println(t1._1) //访问元组的第一个元素
println(x)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值