Scala
文章平均质量分 84
Scala
墨 禹
一个追求有道有术的非典型程序员
展开
-
Scala入门系列(10)-Scala之模式匹配
模式匹配matchScala中的模式匹配类似于Java中的switch语法,但是更加强大。模式匹配语法中,采用match关键字声明,每个分支采用case关键字进行声 明,当需要匹配时,会从第一个case分支开始,如果匹配成功,那么执行对 应的逻辑代码,如果匹配不成功,继续执行下一个分支进行判断。如果所有 case都不匹配,那么会执行case _ 分支,类似于Java中default语句。object MatchTest { def main(args: Array[String]): Unit原创 2021-02-19 17:15:52 · 343 阅读 · 0 评论 -
Scala入门系列(9)-Scala之集合
集合Scala同时支持不可变集合和可变集合,不可变集合可以安全的并发访问。Scala默认采用不可变集合,对于几乎所有的集合类,Scala都同时提供了 可变(mutable)和不可变(immutable)的版本。Scala的集合有三大类:序列Seq、集Set、映射Map,所有的集合都扩 展自Iterable特质,在Scala中集合有可变(mutable)和不可变 (immutable)两种类型不可变集合:scala.collection.immutable可变集合: scala.collection.原创 2021-02-19 14:17:37 · 479 阅读 · 0 评论 -
Scala入门系列(8)-Scala之隐式
隐式转换隐式函数隐式转换函数是以implicit关键字声明的带有单个参数的函数。这种函数将会 自动应用,将值从一种类型转换为另一种类型。object TraitTest005 { def main(args: Array[String]): Unit = { // 隐式函数 Double转为Double 在当前作用域中有效 implicit def func1(num1: Double): Int = { num1.toInt } val num1: I原创 2021-02-11 12:28:28 · 200 阅读 · 0 评论 -
Scala入门系列(7)-Scala之面向对象编程
类与对象Java是面向对象的编程语言,由于历史原因,Java中还存在着非面向对象的 内容:基本类型 ,null,静态方法等。Scala语言来自于Java,所以天生就是面向对象的语言,而且Scala是纯粹的 面向对象的语言,即在Scala中,一切皆为对象。类和对象的区别和联系:类是抽象的,概念的,代表一类事物,比如人类,猫类…对象是具体的,实际的,代表一个具体事物类是对象的模板,对象是类的一个个体,对应一个实例Scala中类和对象的区别和联系 和 Java是一样的。定义类基本语法:[修原创 2021-02-07 15:17:32 · 558 阅读 · 0 评论 -
Scala入门系列(7)-Scala之函数式编程
基础概念函数式编程函数式编程中的函数指的并不是编程语言中的函数(或方法),它指的是数学意义上的函数,即映射关系(如:y = f(x)),就是 y 和 x 的对应关系。数学上对于函数的定义是这样的:“给定一个数集 A,假设其中的元素为 x。现对 A 中的元素 x 施加对应法则 f,记作 f(x),得到另一数集 B。假设 B 中的元素为 y。”所以当我们在讨论“函数式”时,我们其实是在说“像数学函数那样,接收一个或多个输入,生成一个或多个结果,并且没有副作用。函数式编程语言的特性在了解了函数编程语原创 2021-02-02 16:44:09 · 453 阅读 · 0 评论 -
Scala入门系列(6)-Scala之三大流程控制语句
顺序控制程序从上到下逐行地执行,中间没有任何判断和跳转。分支控制让程序有选择的的执行(在scala中没有switch),分支控制有三种:单分支双分支多分支单分支基本语法:当条件表达式为ture 时,就会执行 { } 的代码。if (条件表达式) { 执行代码块 }object IfElse { def main(args: Array[String]): Unit = { val age = 17 if (age < 18) { prin原创 2021-01-28 19:19:22 · 226 阅读 · 0 评论 -
Scala入门系列(5)-Scala之运算符
运算符一个运算符是一个符号,用于告诉编译器来执行指定的数学运算和逻辑运算。Scala 含有丰富的内置运算符,包括以下几种类型:算术运算符关系运算符逻辑运算符位运算符赋值运算符算术运算符算术运算符(arithmetic)是对数值类型的变量进行运算的,在Scala程序中使用的非常多。注意事项:对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留 整数部分而舍弃小数部分。 例如:var x : Int = 10/3 ,结果是 3当对一个数取模时原创 2021-01-28 16:40:08 · 515 阅读 · 0 评论 -
Scala入门系列(4)-Scala变量及数据类型
变量概念变量是一种使用方便的占位符,用于引用计算机内存地址,变量创建后会占用一定的内存空间。基于变量的数据类型,操作系统会进行内存分配并且决定什么将被储存在保留内存中。因此,通过给变量分配不同的数据类型,你可以在这些变量中存储整数,小数或者字母。变量与常量变量: 在程序运行过程中其值可能发生改变的量叫做变量。如:时间,年龄。常量:在程序运行过程中其值不会发生变化的量叫做常量。如:数值 3,字符’A’。变量声明基本语法var | val 变量名 [: 变量类型] = 变量值注意事项:声原创 2021-01-27 16:06:10 · 903 阅读 · 0 评论 -
Scala入门系列(3)-Scala基本语法及命名规范
注意事项Scala源文件以 “.scala" 为扩展名。Scala程序的执行入口是main()函数。Scala是大小写敏感的,这意味着标识Hello 和 hello在Scala中会有不同的含义。类名 - 对于所有的类名的第一个字母要大写方法名称 - 所有的方法名称的第一个字母用小写。Scala方法由一条条语句构成,每个语句后不需要分号(Scala语言会在每行后自 动加分号),这也体现出Scala的简洁性。如果在同一行有多条语句,除了最后一条语句不需要分号,其它语句需要分号 。语言转义字符原创 2021-01-27 14:52:21 · 1398 阅读 · 0 评论 -
Scala入门系列(2)-Scala简介
概述定义官网地址Scala是一门多范式的编程语言,一种类似java的编程语言,设计初衷是实现可伸缩的语言,并集成面向对象编程和函数式编程的各种特性。Scala之父Martin Odersky1980年,正在慕尼黑大学读本科的Martin第一次接触到编译器便为之痴迷,随即买了一台在当时称得上性能强悍的“便携式“电脑Osborne-1,在随后的日子里,Martin与一位大学好友Peter Sollich终日在一起研究如何为编程语言编写编译器。他们了解到一门新的编程语言Modula-2,发现该编程语原创 2021-01-27 13:15:49 · 386 阅读 · 0 评论