Scala概述
来源:互联网 发布:windows编程的书 编辑:程序博客网 时间:2024/06/05 15:02
1. REPL
REPL : 读取 ==> 求值 ==> 打印 ⇒ 循环
Scala解释器从技术上讲并不是一个解释器,实际情况是你输入的内容被快速地翻译成字节码,然后字节码交给Java虚拟机执行,更倾向于称Scala解释器为REPL。
2. 变量
val:声明常量
var:声明变量
使用val或者var时需要初始化。
val a = 8 * 2 // val是常量var b = 12 // var是变量,可更改b = 11val x, y = 100 // x y都为100
不指定类型,Scala会自动推断;也可以自己指定类型(变量或函数的类型总是写在变量或函数的后面)。
val s: String = "hello,world"val s = "hello, world"val s: Any = "hello,world"
同一行代码中含有多条语句时才需要分号隔开。
注释同C++语言一样:
// 注释1/** * 注释2 */
3. 数据类型
Scala有7种数值类型:Byte, Char, Short, Int, Long, Float, Double
1个布尔类型:Boolean
还有RichInt, RichDouble, RichChar, BigInt(java.math.BigInteger), BidDecimal
这些类型都是类,Scala不刻意区分基本类型和引用类型
1.toString() // 转字符串1.to(5) // Range(1,2,3,4,5)“hello”.intersect(“world”) // 输出 “lo"
Scala用底层的java.lang.String类表示字符串,但scala通过StringOps类给字符串追加了上百种操作。
Scala中,用方法而不是强制类型转换,来做数值类型之间的转换。
4. 算术和操作符重载
操作符实际上都是方法,+ - * / % & | ^ >> <<
val a = 1val b = 2a + ba.+(b)var count = 1count += 1
5. 调用函数和方法
import scala.math._ // scala中 _ 是通配符,类似*sqrt(2)pow(2, 4)min(3, Pi)
Scala没有静态方法,不过它有个类似的特性,叫做单例对象。
当单例对象与某个类共享同一个名称时,他被称作是这个类的伴生对象。
通常一个类对应有一个伴生对象,其方法就跟java的静态方法一样。
不带参数的Scala方法通常不用圆括号。
6. apply方法
"hello"(4) // 输出o// "hello"(4) 是 "hello".apply(4) 的简写Array(1,4,9,17) // Array伴生对象的apply方法
阅读全文
0 0
- Scala概述
- Scala概述
- Scala概述
- 1-Scala概述
- Scala集合概述
- scala 2.11.7学习笔记1之概述
- Scala
- Scala
- scala
- scala
- Scala
- scala
- Scala
- scala
- scala
- Scala
- Scala
- scala
- Android Sutdio自带的代码检查工具analyze的使用
- 项目风险管理规划的前期准备
- 重装win,oracle11g恢复步骤
- webstorm svn配置
- GOROOT、GOPATH
- Scala概述
- Leetcode 22 Generate Parentheses
- 新特性总结-JDK1.9
- 树状数组
- 【HDU1166】敌兵布阵(树状数组)
- activiti灵活跳转驳回回退操作动态修改流程
- 2017.8.17下午携程 Java开发岗一面
- camera 模组(三)
- Syntax error, insert ";" to complete Statement, insert "}" to complete Block