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)相关推荐

  1. Scala 学习笔记

    Scala 学习笔记 1 object func_exp { 2 println("Welcome to the Scala worksheet") //> Welcome ...

  2. Scala学习笔记04:内建控制结构

    Scala学习笔记04:内建控制结构 scala提供的控制结构并不算多,因为在函数式编程中,可以自己开发出各种功能的控制结构,所以scala提供的原生控制结构仅仅够用为止. 1.if - 判断 if是 ...

  3. Scala学习笔记03:操作符

    Scala学习笔记03:操作符 一.scala中操作符与方法的等价性 scala中操作符即方法.方法即操作符.scala中操作符其实是普通方法调用的另一种表现形式,运算符的使用其实就是隐含地调用对应的 ...

  4. Scala学习笔记02:数据类型、常量与变量

    Scala学习笔记02:数据类型.常量与变量 一.数据类型 1.基本数据类型 Byte 字节型 Short 短整型 Int 整型 Long 长整型 Char 字符型 String 字符串 Float ...

  5. Scala学习笔记(三)

    Scala学习笔记(三) 一.模式匹配 1. 简单模式匹配 2. 匹配类型 3. 守卫 4. 匹配样例类 5. 匹配数组 6. 匹配列表 7. 匹配元组 8. 变量声明中的模式匹配 8.1 获取数组中 ...

  6. Scala学习笔记(一)

    Scala学习笔记(一) 一.Scala简介 二.Scala安装与配置 1. 安装JDK 2. 安装Scala SDK 3. 安装IDEA插件 三.Scala解释器 1. 启动Scala解释器 2. ...

  7. 机器学习(三)--- scala学习笔记

    Scala是一门多范式的编程语言,一种类似Java的编程语言,设计初衷是实现可伸缩的语言.并集成面向对象编程和函数式编程的各种特性. Spark是UC Berkeley AMP lab所开源的类Had ...

  8. Scala学习笔记-环境搭建以及简单语法

    关于环境的搭建,去官网下载JDK8和Scala的IDE就可以了,Scala的IDE是基于Eclipse的. 下面直接上代码: 这是项目目录: A是scala写的: package first impo ...

  9. Scala学习笔记总结

    Scala学习网站:https://www.runoob.com/scala/scala-intro.html scala总结: Scala编程语言学习总结_hjy1821的博客-CSDN博客_sca ...

  10. Scala学习笔记-方便查找使用 为Spark学习打基础

    Scala学习 注意 伊始 为什么是Scala 网课 环境 电脑环境安装 关于版本的声明 我的环境和版本 IDEA插件安装 IDEA关联Scala源码 基础部分1 文档注释和生成 字符串的三种输出 变 ...

最新文章

  1. ubuntu设置不同的eigen版本
  2. 使用Python和OpenCV在图像之间执行超快速的颜色转换
  3. 使用c++filt查看trafficserver堆栈调用信息
  4. 【转】Android 获取本机号码(收集)
  5. man da'te
  6. 数据库-优化-pt-query-digest安装
  7. 在Windows上面安装多个Memcached
  8. python列表逐行写入excel_python表格数据到excel-想问下python3怎么将列表数据逐行写入excel表格呢?...
  9. iOS14.5 Beta7使用体验感受
  10. 信息系统项目管理师论文写作技巧
  11. 调用百度万年历接口判断输入的日期是否是工作日
  12. OA发展建议有奖调研内容
  13. 阅读笔记:利用Python进行数据分析第2版——第10章 数据聚合与分组运算
  14. GDOI2017滚粗记
  15. linux curse库函数,curse
  16. 服务器系统进不了路由器,Win7输入192.168.0.1打不开路由器管理界面的解决方法
  17. 2019暑期个人排位集训补题--思维题
  18. GPS定位(五)-高斯投影正反算C程序
  19. 【Linux进程间通信】一、什么是IPC
  20. 小批量制造企业生产计划

热门文章

  1. 电脑图标有阴影如何去除
  2. Linux文件压缩与归档
  3. phantomjs学习资料
  4. C++ const与define
  5. flex air openWithDefaultApplication 时出现Illegal ...
  6. 2011 IBM IIS:聚百年智慧精髓 筑最优信息架构
  7. 4.IT-解决方案-4-Cluster-Win2K3
  8. JavaScript中避免Form重复提交的两种方案
  9. 超效率dea模型_【探索】基于超效率DEA模型的我国公立医院排行榜研究
  10. Go 语言编程 — gorm 的数据完整性约束