Scala 学习笔记(1)
2019独角兽企业重金招聘Python工程师标准>>>
一、首先是搭建环境,只有3步,1、安装jdk;2、下载并解压scala;3、scala/bin路径配置到path当中。上述工作完成之后,就可以在命令行当中体验一下scala了。打开一个命令行窗口,输入scala。
二、val和var,可变不可变,本身这个概念并不难理解,但是,val和var的使用关系到传统的指令式向函数式的转换。从指令式向函数式的转变,可能是java程序员学习scala最困难的地方之一。
三、关于数值类型,java当中有int和Integer的区别,一个是基本类型,一个是对象。而在scala当中,并没有这样的区分,var i : Int = 0,这个Int就是scala当中的一个类,scala.Int,当中定义了一些操作。初次意外,scala还提供了一个RichInt,这里面提供了更加丰富的操作。而要执行这个操作,并不需要显式的类型转换,直接用就是了,比如 1 to 10,其实就是1.to(10),而这个to,其实就是RichInt提供的方法
四、关于字符串,scala当中用的也是java.lang.String,它对应的有一个StringOps,同样提供了更丰富的操作,同样不需要类型转换。
五、算术操作符,+ - * /,看起来和java当中并没有什么区别,但是,其实完全是不一样的,这些东西居然都是方法。比如1+2,其实是 1.+(2),+是个方法,定义在Scala.Int当中。这里的信息量比较大,1、我们自己的代码当中,也可以用算术操作符当做方法名。2、以后写代码,不一定非得是obj.method(para)的样子,可以使obj method para这样的样子。
六、关于静态方法,scala没有,但是有替代方案,看代码吧:
class ClassAndObject {
var testvar = 0;
}
object ClassAndObject{
def main(args : Array[String]){
var obj = new ClassAndObject
obj.testvar = 10
println(obj.testvar)
var obj1 = ClassAndObject(20)
println(obj1.testvar)
}
def apply(i : Int) = {
var obj = new ClassAndObject
obj.testvar = i
obj
}
}
信息量还是很大,1、 class ClassAndObject 和 object ClassAndObject 分别称之为伴生类和伴生对象;2、按照java的思维方式,大约是可以把静态的方法,都放到伴生对象当中。3、看到main了吧,这个跟java差不多,有了那个东西,代码就可以跑了。
七、 apply,这个东西很重要,让你更方便的创建一个对象, ClassAndObject(20) ,其实就相当于 ClassAndObject .apply(20),这个东西以后会经常见到
Array(1,2,3,4,5)
BigInt("20")
BigInt(20)
转载于:https://my.oschina.net/dongtianxi/blog/731153
Scala 学习笔记(1)相关推荐
- Scala 学习笔记
Scala 学习笔记 1 object func_exp { 2 println("Welcome to the Scala worksheet") //> Welcome ...
- Scala学习笔记04:内建控制结构
Scala学习笔记04:内建控制结构 scala提供的控制结构并不算多,因为在函数式编程中,可以自己开发出各种功能的控制结构,所以scala提供的原生控制结构仅仅够用为止. 1.if - 判断 if是 ...
- Scala学习笔记03:操作符
Scala学习笔记03:操作符 一.scala中操作符与方法的等价性 scala中操作符即方法.方法即操作符.scala中操作符其实是普通方法调用的另一种表现形式,运算符的使用其实就是隐含地调用对应的 ...
- Scala学习笔记02:数据类型、常量与变量
Scala学习笔记02:数据类型.常量与变量 一.数据类型 1.基本数据类型 Byte 字节型 Short 短整型 Int 整型 Long 长整型 Char 字符型 String 字符串 Float ...
- Scala学习笔记(三)
Scala学习笔记(三) 一.模式匹配 1. 简单模式匹配 2. 匹配类型 3. 守卫 4. 匹配样例类 5. 匹配数组 6. 匹配列表 7. 匹配元组 8. 变量声明中的模式匹配 8.1 获取数组中 ...
- Scala学习笔记(一)
Scala学习笔记(一) 一.Scala简介 二.Scala安装与配置 1. 安装JDK 2. 安装Scala SDK 3. 安装IDEA插件 三.Scala解释器 1. 启动Scala解释器 2. ...
- 机器学习(三)--- scala学习笔记
Scala是一门多范式的编程语言,一种类似Java的编程语言,设计初衷是实现可伸缩的语言.并集成面向对象编程和函数式编程的各种特性. Spark是UC Berkeley AMP lab所开源的类Had ...
- Scala学习笔记-环境搭建以及简单语法
关于环境的搭建,去官网下载JDK8和Scala的IDE就可以了,Scala的IDE是基于Eclipse的. 下面直接上代码: 这是项目目录: A是scala写的: package first impo ...
- Scala学习笔记总结
Scala学习网站:https://www.runoob.com/scala/scala-intro.html scala总结: Scala编程语言学习总结_hjy1821的博客-CSDN博客_sca ...
- Scala学习笔记-方便查找使用 为Spark学习打基础
Scala学习 注意 伊始 为什么是Scala 网课 环境 电脑环境安装 关于版本的声明 我的环境和版本 IDEA插件安装 IDEA关联Scala源码 基础部分1 文档注释和生成 字符串的三种输出 变 ...
最新文章
- ubuntu设置不同的eigen版本
- 使用Python和OpenCV在图像之间执行超快速的颜色转换
- 使用c++filt查看trafficserver堆栈调用信息
- 【转】Android 获取本机号码(收集)
- man da'te
- 数据库-优化-pt-query-digest安装
- 在Windows上面安装多个Memcached
- python列表逐行写入excel_python表格数据到excel-想问下python3怎么将列表数据逐行写入excel表格呢?...
- iOS14.5 Beta7使用体验感受
- 信息系统项目管理师论文写作技巧
- 调用百度万年历接口判断输入的日期是否是工作日
- OA发展建议有奖调研内容
- 阅读笔记:利用Python进行数据分析第2版——第10章 数据聚合与分组运算
- GDOI2017滚粗记
- linux curse库函数,curse
- 服务器系统进不了路由器,Win7输入192.168.0.1打不开路由器管理界面的解决方法
- 2019暑期个人排位集训补题--思维题
- GPS定位(五)-高斯投影正反算C程序
- 【Linux进程间通信】一、什么是IPC
- 小批量制造企业生产计划