1.数据类型
Byte 8位有符号补码整数。数值区间为 -128 到 127 Short 16位有符号补码整数。数值区间为 -32768 到 32767 Int 32位有符号补码整数。数值区间为 -2147483648 到 2147483647 Long 64位有符号补码整数。数值区间为 -9223372036854775808 到 9223372036854775807 Float 32 位, IEEE 754 标准的单精度浮点数 Double 64 位 IEEE 754 标准的双精度浮点数 Char 16位无符号Unicode字符, 区间值为 U+0000 到 U+FFFF String 字符序列 Boolean true或false Unit 类似于void,表示无值,和其他语言中void等同。用作不返回任何结果的方法的结果类型。Unit只有一个实例值,写成()。 Null null 或空引用 Nothing Nothing类型在Scala的类层级的最底端;它是任何其他类型的子类型。 Any Any是所有其他类的超类 AnyRef AnyRef类是Scala里所有引用类(reference class)的基类
2.字面量(常量值)
var为可变变量,val为不可变变量(常量),变量必须被初始化 val a=10:a为常量不可更改,10为字面量 var b=9:b为变量可以更改,9为字面量 1.整数字面量(十进制与十六进制) 十进制:10 十六进制:0XFFF(0X前缀) 2.浮点数字字面量 double类型:.1(0.1)、3.14e2(314) float类型:0.1f(有后缀f) 类似于python语言的变量定义(类型推断机制,自动判断变量类型) 代码示例: val a=1.0e2;//double val b=1;//int var c='a';//char var d="abcd";//String var e=true;//boolean var f=.1f;//float var g=1l//long println(g.getClass())//获取字面量数据类型
3.操作符
scala中的操作符是方法 代码示例: var a=5; var b=3; //a+b等价于a.+(b) var result1=a+b; var result2=a.+(b); println(result1,result2);
代码示例: var d=1; var c=d=0;//变为0,c变为Unit类型(等价于java中的void),并不是将c与d变量都赋值为0 println(c.getClass(),d)
4.控制台的读入与输出
读入 代码示例: var a=readInt();//读取Int类型的数据 val b=readChar(); var c=readLine(); println("a的类型:"+a.getClass(),"b的类型:"+b.getClass(),"c的类型:"+c.getClass);
输出 代码示例: //不在同一行的语句,“;”可以省略 print("print:"+a) println("println:"+b) printf("printf:"+c) 字符串插值机制,在字符串字面量前加一个“s”或是“f”,其中,“s”不支持格式化,“f”支持格式化 代码示例: val a=3.1415926; val b=0.618; println(f"a:$a%.1f")//可以设置输出格式 println(s"b:$b")//不可设置输出格式
5.文件的写与读
写 代码示例: val writeFile=new PrintWriter("D:\\123.txt") writeFile.print("wuhu!") writeFile.print("芜湖!") writeFile.println("giao!") writeFile.println("giao!") writeFile.close() 读 代码示例: val readFile=Source.fromFile("D:\\123.txt") for(line<-readFile.getLines()){ println(line) } readFile.close()
6.