scala变量理解:
package com.cxy.scala object Hello { def main(args: Array[String]): Unit = { println("hello") val age: Int =20; val a :Short =10 val b :Long =20 val c : Float=20f val d : Double=20 var bln : Boolean =true var cha : Char ='2' var ii :Integer =20 var bb :Byte =20 } }
scala是一个完全面向对象语言,所以他没有基础数据类型,所以scala中20也是一个对象
在java中
这个是没有方法的
在scala中:
是有方法的
java中数据类型
scala中分为值类型和引用类型
数据类型 |
描述 |
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等同。用作不返回任何结果的方法的结果类型。Unit只有一个实例值,写成()。 |
Null |
null |
Nothing |
Nothing类型在Scala的类层级的最低端;它是任何其他类型的子类型。 |
Any |
Any是所有其他类的超类 |
AnyRef |
AnyRef类是Scala里所有引用类(reference class)的基类 |
整型的使用细节
1) Scala各整数类型有固定的表数范围和字段长度,不受具体OS的影响,以保证Scala程序的可移植性。
2) Scala的整型 常量/字面量 默认为 Int 型,声明Long型 常量/字面量 须后加‘l’’或‘L’
3) Scala程序中变量常声明为Int型,除非不足以表示大数,才使用Long
浮点型使用细节
1) 与整数类型类似,Scala 浮点类型也有固定的表数范围和字段长度,不受具体OS的影响。
2) Scala的浮点型常量默认为Double型,声明Float型常量,须后加‘f’或‘F’。
3) 浮点型常量有两种表示形式 十进制数形式:如:5.12 512.0f .512 (必须有小数点)
科学计数法形式:如:5.12e2 => 5.12 乘以 10的2次方 5.12E-2 =》 表示5.12 除以 10的2次方
4) 通常情况下,应该使用Double型,因为它比Float型更精确(小数点后大致7位)
测试数据 :2.2345678912f , 2.2345678912 // 2.7 与 8.1/3
布尔类型的使用细节:
基本介绍
1) 布尔类型也叫Boolean类型,Booolean类型数据只允许取值true和false
2) boolean类型占1个字节
3) boolean 类型适于逻辑运算,一般用于程序流程控制:
Ø if条件控制语句
Ø while循环控制语句
Ø do-while循环控制语句
Ø for循环控制语句
可以看到不能进行隐式转换
强制类型转换:在java中必须要有父子关系
例如:
在java是报错的,所以需要通过方法进行:
在scala中: