一.基础变量 for 、 While 循环 , 判断语句
1.scala 基础运行机制
如图 :当我们创建一个 Object 的 scala文件的时候 , 它就会生成两个 .class文件
第一个 .class 文件
第二个 .class 文件
注意 : 当我们创建一个 Object 的scala文件时 , 则会创建一个 单例的 对象 MODULE$ 对象,
当我们 使用main 方法时 , 它将参数 传递给 java 类 MODULE$ 的main 方法里 , 进行运行 ,
MODULE$ 这个对象是静态的 , 并且的单例的 , 因为它的构造方法是 私有化的
这里我做了一个测试 , 在 Object 中创建了一个函数 和常量 , 反编译之后 如下图
这里可以看到 , 创建的函数 以及 属性都是在 MODULE$ 这个对向的类中创建的 , 调用时也是 直接创建一个静态方法调用的
2. 基础变量
- scala 三种输出方式
var value01: String = "hello scala"
var value02: Int = 10;
var value03: Double = 2.5;
var value04: Float = 2.5f;
var value05: Char = 'a'
var value06: Short = 12
var value07: Byte = 12
/*方式1*/
println("******************* 方式1 **********************")
println(value01)
println(value02)
/*方式2*/
println("******************* 方式2 **********************")
printf("%s\n", value01)
printf("%d\n", value02)
printf("%1.2f\n", value03)
printf("%1.2f\n", value04)
printf("%c\n", value05)
printf("%d\n", value06)
printf("%d\n", value07)
/*方式3*/
println("******************* 方式3 **********************")
println(s"value01=${value01} , value02=${value02}") // s 代表字符串的意思
-
scala 类型
类型的小节和整理 :
(1) scala 中有一个根类型 Any 它是所有类的父类 , 相当于 Java中的 Object
(2) Null 类型也是 scala 中的特别的类型, 它只有一个值 null , 是所有 AnyRef 类型的子类
他可以赋值给任意的 AnyRef 类型 , 但是不能给 AnyVal 类型
(3) Nothing 类型 是特殊的类型, 他是所有类型子类 , 注意是 所有类型 , 通常可以将Nothing类型的值赋给任意的变量 , 一般用于 抛出异常 -
基本类型的创建
// 指定类型创建 创建时 必须 赋初值
// 数据类型
var v_01 : Short = 1
var v_02 : Int = 1
var v_03 : Long = 1
var v_04 : Float = 1
var v_05 : Double = 1
var v_06 : Byte = 1
var s_01 : String = ""
var s_02 : Char = 'A' // 注 : 必须赋值 , 并且不能是 空 字符 ''
var s_03 : Boolean = false
var s_04 : Unit = () // 注意 Unit 只有一个值 就是 ()
// 自动匹配类型创建
var x_01 = 1000 // 会根据赋值的大小自动匹配类型, 如果是 在 Short 范围 , 则类型是 Short , 若是 大于 Short 范围 , 则是 Int 或者 Long
var x_02 = 1L // 指定为 Long
var x_03 = 1.0f // 指定为 float
var x_04 = 1.0 // 指定为 Double
- 引用类型的创建
// 创建引用类型
val person = new Person()
// java 的类
val math = new Math()
- 类型转换