热门 最新 精选 话题 上榜
为什么需要变量一个程序就是一个世界,在scala中一切都是对象变量是程序的基本组成单位不论是使用哪种高级程序语言编写程序,变量都是其程序的基本组成单位,比如:object ScalaFunDemo01 { def main(args: Array[String]): Unit = { var a : Int = 1 //定义一个整型变量,取名a,并赋初值1 ...
Scala整数类型基本介绍Scala的整数类型就是用于存放整数值的,比如 12 , 30, 3456等等整型的类型整型的使用细节Scala各整数类型有固定的表数范围和字段长度,不受具体OS的影响,以保证Scala程序的可移植性。Scala的整型 常量/字面量 默认为 Int 型,声明Long型 常量/字面量 须后加‘l’’或‘L’ [反编译看]Scala程序中变量常声明为Int...
原创 2021-08-18 10:23:39
68阅读
过程基本介绍将函数的返回类型为Unit的函数称之为过程(procedure),如果明确函数没有返回值,那么等号可以省略案例说明注意事项和细节说明注意区分: 如果函数声明时没有返回值类型,但是有 = 号,可以进行类型推断最后一行代码。这时这个函数实际是有返回值的,该函数并不是过程。(这点在讲解函数细节的时候讲过的.)开发工具的自动代码补全功能,虽然会自动加上Unit,但是考虑到Scal...
原创 2021-08-18 10:23:37
106阅读
Scala浮点类型基本介绍Scala的浮点类型可以表示一个小数,比如 123.4f,7.8 ,0.12等等浮点型的分类浮点类型浮点型使用细节与整数类型类似,Scala 浮点类型也有固定的表数范围和字段长度,不受具体OS的影响。Scala的浮点型常量默认为Double型,声明Float型常量,须后加‘f’或‘F’。浮点型常量有两种表示形式十进制数形式:如:5.12 ...
原创 2021-08-18 10:23:35
190阅读
Scala字符型基本介绍字符类型可以表示单个字符,字符类型是Char, 16位无符号Unicode字符(2个字节), 区间值为 U+0000 到 U+FFFF案例演示:字符类型使用细节字符常量是用单引号(‘ ’)括起来的单个字符。例如:var c1 = 'a‘ var c2 = '中‘ var c3 = ‘9’Scala 也允许使用转义字符‘\’来将其后的字符转变为特殊字符...
原创 2021-08-18 10:23:33
37阅读
Scala Unit类型、Null类型和Nothing类型Unit类型、Null类型和Nothing类型基本说明使用细节和注意事项Null类只有一个实例对象,null,类似于Java中的null引用。null可以赋值给任意引用类型(AnyRef),但是不能赋值给值类型(AnyVal: 比如 Int, Float, Char, Boolean, Long, Double, Byte, S...
原创 2021-08-18 10:16:26
215阅读
Scala布尔类型布尔类型:Boolean基本介绍布尔类型也叫Boolean类型,Booolean类型数据只允许取值true和falseboolean类型占1个字节。boolean 类型适于逻辑运算,一般用于程序流程控制[后面详解]:if条件控制语句;while循环控制语句;do-while循环控制语句;for循环控制语句...
原创 2021-08-18 10:16:24
210阅读
标识符的命名规范标识符概念Scala 对各种变量、方法、函数等命名时使用的字符序列称为标识符凡是自己可以起名字的地方都叫标识符标识符的命名规则(记住)Scala中的标识符声明,基本和Java是一致的,但是细节上会有所变化。首字符为字母,后续字符任意字母和数字,美元符号,可后接下划线_数字不可以开头。首字符为操作符(比如+ - * / ),后续字符也需跟操作符 ,至少一个(反编译)...
原创 2021-08-18 10:16:23
232阅读
为什么需要变量一个程序就是一个世界,在scala中一切都是对象变量是程序的基本组成单位不论是使用哪种高级程序语言编写程序,变量都是其程序的基本组成单位,比如:object ScalaFunDemo01 { def main(args: Array[String]): Unit = { var a : Int = 1 //定义一个整型变量,取名a,并赋初值1 ...
原创 2021-08-18 10:16:21
105阅读
scala数据类型介绍Scala 与 Java有着相同的数据类型,在Scala中数据类型都是对象,也就是说scala没有java中的原生类型Scala数据类型分为两大类 AnyVal(值类型) 和 AnyRef(引用类型),注意:不管是AnyVal还是AnyRef 都是对象。var num1 : Int = 10 println("num1" + num1) var char1 : C...
原创 2021-08-18 10:04:21
86阅读
Scala快速入门Scala开发工具IDEA介绍:IDEA 全称IntelliJ IDEA,是用于java语言开发的集成环境(也可用于其他语言),IntelliJ在业界被公认为最好的java开发工具之一。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格。java开发工具很多,比如netbean,eclipse等等,单开发Scala可选的工具不多,主要使用I...
原创 2021-08-18 10:04:19
218阅读
关键字介绍Scala有39个关键字:package, import, class, object, trait, extends, with, type, forSomeprivate, protected, abstract, sealed, final, implicit, lazy, overridetry, catch, finally, throw if, else, matc...
原创 2021-08-18 10:00:41
46阅读
运算符介绍运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。算术运算符赋值运算符比较运算符(关系运算符)逻辑运算符位运算符算术运算符算术运算符(arithmetic)是对数值类型的变量进行运算的,在Scala程序中使用的非常多。细节说明对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。 例如:var x : Int =...
Scala函数式编程函数式编程基础函数定义/声明函数运行机制递归//难点 [最短路径,邮差问题,迷宫问题, 回溯]过程惰性函数和异常函数式编程高级值函数(函数字面量)高阶函数闭包应用函数柯里化函数,抽象控制…在scala中,函数式编程和面向对象编程融合在一起,学习函数式编程式需要oop的知识,同样学习oop需要函数式编程的基础。[矛盾]关系如下图:在学习Sc...
原创 2021-08-18 10:00:37
152阅读
异常介绍Scala提供try和catch块来处理异常。try块用于包含可能出错的代码。catch块用于处理try块中发生的异常。可以根据需要在程序中有任意数量的try…catch块。语法处理上和Java类似,但是又不尽相同Java异常处理回顾try { // 可疑代码 int i = 0; int b = 10;...
原创 2021-08-18 10:00:35
207阅读
配置IDEA1) 打开IDEA工具,如图:点击Configure或者: 文件->settings->pulgins 这里也能找到插件安装的位置2) 点击Plugins3) 点击Install plugin from disk4) 选择scala的plugins说明: 选择的这个插件就在老师提供的软件文件夹中,为了方便可以统一的拷贝一份到scala的安装目录下。5)...
原创 2021-08-17 17:09:32
171阅读
Linux下安装Scala步骤如下:首先访问下载链接:http://www.scala-lang.org/download/默认这里下载的是Windows版本,这时点击上面的All downloads进入所有的版本下载页面:然后选择最新版本,Scala 2.11.8进入进入后拉到页面下方,选择Mac OSX,Unix版本的二进制包下载即可下载之后,上传至服务器,准备安装首先建立s...
原创 2021-08-17 17:09:09
133阅读
35.scala编程思想笔记——基于case类的模式匹配欢迎转载,转载请标明出处:源码下载连接请见第一篇笔记。使用case类进行模式识别时,match表达式甚至可以抽取类的参数域。         例如:import com.atomicscala.AtomicTest._ case class Passenger(  first:String,last:Str
原创 2021-08-17 00:28:47
267阅读
29.scala编程思想笔记——字符串插值欢迎转载,转载请标明出处:源码下载连接请见第一篇笔记。         利用字符串插值,创建的字符串就可以包含格式化的值。         在字符串的前面放置一个s,在你想让scala插值的标识符之前放置一个$:例如:import com.atomicscala.AtomicTest._ def i(s:String, n:
原创 2021-08-17 00:28:46
160阅读
31.scala编程思想笔记——作为对象的函数欢迎转载,转载请标明出处:源码下载连接请见第一篇笔记。我们可以将方法以对象的形式作为参数传递给其他方法。需要使用函数对象来打包方法,函数对象常简称为函数。         例如,foreach对于像Vector这样的序列来说是一个非常有用的方法。         接受参数(即一个函数),并将其应用到序列中的每个元素上。例如:
39.scala编程思想笔记——自动字符串转换欢迎转载,转载请标明出处:源码下载连接请见第一篇笔记。         Case类可以将对象连同其参数恰当的格式化为适于显示的形式,例如:import com.atomicscala.AtomicTest._ case class Bicycle(riders:Int)val forTwo = Bicycle(2)for
原创 2021-08-17 00:28:42
120阅读
32.scala编程思想笔记——map和reduce欢迎转载,转载请标明出处:源码下载连接请见第一篇笔记。Map接受参数,一个接受单个参数并产生返回值的函数,并将其应用于序列中的每个元素。与foreach 相似,但是map可以捕获每次调用时的返回值,并将其存储到一个以map作为返回值而产生的新序列中。例如,对Vector中每个元素都加1的例子:import com.at
原创 2021-08-17 00:28:40
163阅读
33.scala编程思想笔记——推导欢迎转载,转载请标明出处:源码下载连接请见第一篇笔记。         For和if的组合,称为for推导,简称推导。         在scala中推导将 生成器、过滤器和定义组合在一起。         返回偶数,大于5的方法如下:import com.atomicscala.AtomicTest._ def evenGT5(
原创 2021-08-17 00:28:39
69阅读
46.scala编程思想笔记——抽象类欢迎转载,转载请标明出处:源码下载连接请见第一篇笔记。抽象类就像普通类一样,只是其中的一个或抖个方法或域是不完整的。Scala延续了java的做法,用abstract关键字来描述抽象类,抽象类包含了未定义的方法或未初始化的域。例如:abstract class WithValVar {  val x:Int  var y:I
原创 2021-08-17 00:28:37
58阅读
42.scala编程思想笔记——继承欢迎转载,转载请标明出处:源码下载连接请见第一篇笔记。         对象将数据存储于域中,并通过操作执行行动。每个对象在内存中都有独占的空间,因此一个对象的域可以具有与所有其他对象不同的值。         类确定过了其对象的形式或模板:域和方法。         使用extends关键字基于现有的类继承了一个新类:如下:impo
原创 2021-08-17 00:28:35
63阅读
48.scala编程思想笔记——统一访问方式和setter欢迎转载,转载请标明出处:源码下载连接请见第一篇笔记。先看一个例子如下:import com.atomicscala.AtomicTest._ trait Base {  def f1:Int  def f2:Int  val d1:Int  val d2:Int  var d3:Int
原创 2021-08-17 00:28:34
63阅读
40.scala编程思想笔记——元组欢迎转载,转载请标明出处:源码下载连接请见第一篇笔记。如果从给某个方法放回的结果必须超过一项,那么创建特殊的类来保存返回值就是一种完全合法的方式。如下:import com.atomicscala.AtomicTest._ case class ReturnBlob(data:Double, info:String)
原创 2021-08-17 00:28:32
68阅读
47.scala编程思想笔记——特征        欢迎转载,转载请标明出处:源码下载连接请见第一篇笔记。 继承可以在现有类的基础上创建新类。这样就无需从头开始重写所有类。         特征是创建类的另一种可选的方式:允许以零碎的方式获取能力,而不是以整块的方式继承所有能力。         特征是小型的逻辑概念,这些基本的功能项使得我们可以很容易地通过混合各种想法来创建类
原创 2021-08-17 00:28:30
70阅读
44.scala编程思想笔记——覆盖方法欢迎转载,转载请标明出处:源码下载连接请见第一篇笔记。当开发覆盖方法时,继承就变得有趣了。例如:import com.atomicscala.AtomicTest._ class GreatApe {  def call ="Hoo!"  var energy =3  def eat() = {energy += 10
原创 2021-08-17 00:28:28
30阅读
41.scala编程思想笔记——伴随对象欢迎转载,转载请标明出处:源码下载连接请见第一篇笔记。方法作用于类的特定对象:例如:import com.atomicscala.AtomicTest._ class X(val n:Int) {  def f = n *10} val x1 = new X(1)val x2 = new X(2)
原创 2021-08-17 00:28:26
69阅读