import junit.framework.TestCase
import org.junit.Test
import scala.runtime.RichByte
//数据类型
class Demo2 extends TestCase {
//规则1 定义整数类型变量时,默认数据类型是java中int类型
//规则2 当数值范围超过int值区间,会编译失败,需要在数值后面加上L,讲类型转为long类型
//规则3 定义小数类型变量时,默认数据类型是java中double类型
//规则4 当定义小数数据类型变量时,可以在值后尾添加D,或者F,这样scala会自动转为 double,float类型
//以上规则都是建立在 scala ---隐式推断变量数据类型
//规则5 显示定义具体数据类型变量
//规则6 当一行代码中有多条语句时,才需要用分号隔开
def test_show_datatype(){
//整数
var k1 = 1
var k2 = 10001
var k3 = 200001
var k4 = 20000000000l
//小数
var k5 = 1.1
var k6 = 1.1d
var k7 = 1.1f
//布尔值
var k8 = true
//字符型
var k9 = 'M'
var k10 = "YOYO"
val m1:String = ""
val m2:Any = 1
}
//scala 数据类型
def test_Rich(){
println("Scala 数据类型");
val m1:Byte = 1 //RichByte
val m2:Char = 10 //RichChar
var m8:Short = 11 //RichShort
val m3:Int = 100 //RichInt
val m4:Long = 1000L //RichLong
val m5:Float = 100 //RichFloat
val m6:Double = 100 //RichDouble
val m7:Boolean = false //RichBoolean
val b1 = m1.!=(10);
val M9:String = "CS" //StringOps
M9.indexOf(1);
SUM(M9)
var demo2 = new Demo2
demo2.SUM(M9)
demo2 SUM M9
demo2.goto(10, 20, 1)
demo2 goto (5,10,2)
}
def SUM(x: String){
println(x);
val u1 = x(0)
println(u1)
}
def goto(x:Int,y:Int,z:Int){
val r = x*y*z
println(r)
}
}