scala自学笔记(2)
来源:互联网 发布:nginx 跳转到二级目录 编辑:程序博客网 时间:2024/05/15 08:48
Scala基于jvm,基础语法与java大不相同。先看看最基础的声明一个数值。
Scala用val来声明常量,var来声明变量。至于具体类型,Scala比较聪明,他可以自动识别数据类型。
val a=1
顺便提一下Scala并不需要分号作为语句结尾,当然如果你习惯加分号也无所谓。有些情况下我们还是要自己去声明类型的。上面语句用c语言来写就是:
int a=1
但是Scala识别不了这种形式,在Scala中这句话应该这么写:
val a:Int =1
也不知道是不是函数式编程的特性,Scala里面把一切变成了对象,例如这样:
1.toString()
在c语言中自定义的标识名只能由数字字母和下划线组成,但是Scala不一样,它不会在意这些,来看这个:
a+b
这是个很普通的表达式然而这句话和c语言中同样的语句完全不一样,这是个缩写,我们来看全写:
a.+(b)
很明显a调用了一个叫+的方法,从这里我们可以看出Scala调用方法除了常规的对象.方法(参数)之外还可以这样写:
对象 方法 参数
值得注意的是Scala并没有++和--运算符。看样子开发Scala的工程师比较偷懒,没写这个方法。
Scala可以直接引用静态方法并不需要写类名,当然前提是你把包引入了,注意Scala中通配符是_而不是*:
import scala.math._
Scala用val来声明常量,var来声明变量。至于具体类型,Scala比较聪明,他可以自动识别数据类型。
val a=1
顺便提一下Scala并不需要分号作为语句结尾,当然如果你习惯加分号也无所谓。有些情况下我们还是要自己去声明类型的。上面语句用c语言来写就是:
int a=1
但是Scala识别不了这种形式,在Scala中这句话应该这么写:
val a:Int =1
也不知道是不是函数式编程的特性,Scala里面把一切变成了对象,例如这样:
1.toString()
在c语言中自定义的标识名只能由数字字母和下划线组成,但是Scala不一样,它不会在意这些,来看这个:
a+b
这是个很普通的表达式然而这句话和c语言中同样的语句完全不一样,这是个缩写,我们来看全写:
a.+(b)
很明显a调用了一个叫+的方法,从这里我们可以看出Scala调用方法除了常规的对象.方法(参数)之外还可以这样写:
对象 方法 参数
值得注意的是Scala并没有++和--运算符。看样子开发Scala的工程师比较偷懒,没写这个方法。
Scala可以直接引用静态方法并不需要写类名,当然前提是你把包引入了,注意Scala中通配符是_而不是*:
import scala.math._
sqrt(2)
在后来的阅读中我发现了书中的矛盾之处,上文刚提到静态方法,但是下文又说Scala没有静态方法,具体是个什么情况,我会在后面的学习中来解决这个问题
0 0
- scala自学笔记(2)
- scala自学笔记(1)
- Scala 自学笔记2_类
- Scala 自学笔记
- Scala 自学笔记 集合
- Scala 自学笔记 注解
- 三天怼完Scala---Scala自学笔记
- Scala 自学笔记 操作符
- Scala 自学笔记3_特质
- scala 自学笔记 高阶函数
- Scala 自学笔记 模式匹配和样例类
- struts2 自学笔记(2)
- Android自学笔记(2)
- AngularJs自学笔记(2)
- linux自学笔记(2)
- Scala学习笔记(2)
- scala学习笔记(2)
- scala自学日记(2)-使用Scala解释器(interpreter)
- boostrap学习小记-给网站加一个简单大方的banner吧
- string去除重复字符两个方法
- spring mvc 校验
- 【安卓】AsyncTask异步任务
- android studio 快捷键
- scala自学笔记(2)
- socket选项:SO_ERROR
- Android实现侧滑抽屉菜单(DrawerLayout+NavigationView+toolbar)
- 踏踏实实做一点事情
- 第25周-window程序设计(基础篇)-第3章-显示窗口ShowWindow
- Bootstrap(2)排版(简练版)
- 我的不知道对不对的dij模板
- 第四周项目3(3)单链表的递增
- hdu-1003-Max Sum