前言:Scala的安装教程:http://www.cnblogs.com/biehongli/p/8065679.html1:Scala之基础语法学习笔记:1:声明val变量:可以使用val来声明变量,用来存放表达式的计算结果,但是常量声明后是无法改变它的值的,建议使用val来声明常量;声明var变量:如果要声明可以改变的引用,可以使用var变量,声明的常量的值可以改变。
3:指定类型:无论声明val变量还是声明var变量。都可以手动指定其类型,如果不指定,scala会自动根据值,进行类...
1.变量的定义
注意:在scala中没有static的概念,在object这个关键字修饰的类中所有的方法和属性都是static的。这里的object类叫做伴生类,目前不涉及。例:object Test01{def main(args: Array[String]): Unit = {//使用val定义的变量是不可变的,相当于java中的final修饰的val v1=1//使用var定义的变量的值是可变的,在scala中鼓励使用的是valvar v2=2//在定义变量的时候,也可以在变量名前提供类型,如何不提供默认的是类型推断...
Scala的简介大数据中使用Scala编写的两大框架就是kafka和Spark1. 官方网站:https://www.scala-lang.org/2.特点1.即是面向对象编程又是编写函数编程(函数可以独立于对象独自存在,不必非要在对象中)2.和Java一样是运行在JVM之上的高级语言(.scala文件进行编译===》.class文件===》运行在JVM上)3.scala版本不兼容性(各个版本之间是不兼容的:2.11.x 2.10.x 2.9.x 各个版本之间不兼容)4.交互式命令行:可以像Python那样在Linux...
抽象类,方法,属性(不完整)Scala将一个不完整的类称之为抽象类abstract class Person {
}
Scala中一个方法只有声明而没有实现,那么是抽象方法// 子类重写父类的抽象方法,直接补充完整即可// 子类重写父类的完整方法,必须添加override关键字// 开发时,推荐,只要重写,都添加overrideabstract class User { def test(): Unit = { } def fun():Unit}class Child extends User { override def test(): Unit = { ...
平时使用Spark比较多,但是对于scala的学习只限于看过书、能写代码,从来没有系统的学习过。此次看《快学scala》,做读书笔记,算是从头学习一下。《快学scala》pdf书百度云地址:https://pan.baidu.com/s/1Bv-k08wffXpnkzCymnYe8w一:基础变量和常量 val age = 10; //生成一个常量,推荐使用常量,缺点不可变 var name,classId = "100"; //生成两个变量name,classid 同时赋值为100 val name,classId :String =...
scala方法的定义:def methed(参数:类型..) :返回类型 = {}:非递归返回类型可以省略返回类型;返回类型是Unit时,可以省略=;函数的定义:val f:类型=>类型 = {参数=>返回};val f = (参数列表) => {实现}:函数可以作为方法的参数;方法(利用了_转换成函数了)也可以作为方法的参数;数组:Array[数组类型](数据)Array(Apply);new定长数组、变长数组ArrayBuffer;访问;+=、++=、-=、insert(位置,数据)、remove(位置,数据...
package scalaobject Demo02Base { def main(args: Array[String]): Unit = { /** * 语法基础 * */ // 变量 // 类型推断,自动根据等号右边推断变量的类型 var s = "1" //手动增加类型 var i: Int = 1 /** * * var : 变量,可以在指向其它的对象 * val : 常量, 不能再指向其它的对象 * * 尽量使用val * */ var j = 1 j = 100 val k = "asdas...
1.纯函数表示函数无副作用(状态变化)。2.引用透明性表示对相同输入,总是得到相同输出。3.函数是一等公民函数与变量、对象、类是同一等级。表示可以把函数当做参数传入另一个函数,或者作为函数的返回值,甚至可以在一个函数中定义另一个函数。4.高阶函数的定义参数是函数,或者返回值是函数。5.闭包6.表达式求值包括严格求值和非严格求值两种。7.lazy求值8.递归函数,尾递归函数9.函数式编程的优点生产效率高,易于推理,适用于并...
一、基本的数据类型
数据类型
描述
Byte8位有符号值。范围从-128到127Short16位有符号值。范围从-32768至32767Int32?位有符号值。范围从?-2147483648 to 2147483647Long64位有符号值。 从-9223372036854775808到9223372036854775807Float32位IEEE754单精度浮点数Double64位IEEE754双精度浮点数Char16位无符号Unicode字符。范围由U+0000至U+FFFFString字符序列Boolean无论是字面true或false字面Unit对应于没有值Null空或空引用Nothi...
练习1 编写computer类,包含CPU、内存、硬盘等属性,getDetails方法用于返回computer的详细信息。 编写PC子类,继承computer类,添加特有属性【品牌brand】 编写notepad类,继承computer类,添加特有属性【颜色color】 编写test object,在main方法中创建pc和notepad对象,分别对象中特有的属性赋值,以及冲computer类继承的属性赋值,并使用方法打印输出信息。object work03 {def main(args: Array[String]): Unit = ...
数据类型(Array)
定长数组
scala> val arr1 = new Array[String](8)
arr1: Array[String] = Array(null, null, null, null, null, null, null, null)
scala> arr1
res5: Array[String] = Array(null, null, null, null, null, null, null, null)
scala> println(arr1)
[Ljava.lang.String;@1254a3cd
scala> println(arr1.toBuffer)ArrayBuffer(null, null, null, null, null, null, null, null)
scala> val arr2 = Array("java",...
import junit.framework.TestCase
import scala.collection.mutable.ArrayBuffer;//数组(1)
//知识点-定义数组,变长数组class Demo1 extends TestCase{//定义数组def test_^^(){//定义数组语法1 val 变量名 = new Array[类类型](长度) 相当于java中 int indexs [] = new int [10];val nums = new Array[Int](10)//定义数组语法2 val 变量名 = Array(具体值,用逗号分开) 相当于java中 int indexs [] = {1,2,3};//数组类型是推断...
前言
Linux基础+负载均衡LVS+Scala+Python编程语言专题系列,这是通往大数据的必经之路,大牛带你由浅入深的沉稳扎根基础。
今天给大家分享的是Linux基础+负载均衡LVS+Scala+Python这四大部分的学习路线和内容,希望大家能够喜欢!!!
Linux基础
学习路线00-资料
01-安装VMWare workstation
02-Linux系统安装步骤
03-配置虚拟机的网络服务
04-基于虚拟机的快照克隆多台虚拟机的方法
05-xhell、xftp工具
06-linux内外部命令的判断...
1 过程
将函数的返回类型为Unit的函数称之为过程(procedure),如果明确函数没有返回值,那么等号可以省略
注意事项和细节说明
1)注意区分: 如果函数声明时没有返回值类型,但是有 = 号,可以进行类型推断最后一行代码。这时这个函数实际是有返回值的,该函数并不是过程。
2)开发工具的自动代码补全功能,虽然会自动加上Unit,但是考虑到Scala语言的简单,灵活,最好不加.
2 惰性函数
惰性计算(尽可能延迟表达式求值)是许多函...
5.1 函数式编程内容及介绍顺序说明 5.1.1 函数式编程内容-函数式编程基础函数定义/声明函数运行机制递归(难点,[最短路径,邮差问题,迷宫问题,回溯])过程惰性函数和异常
-函数式编程高级值函数(函数字面量)高阶函数闭包应用函数柯里化函数,抽象控制...5.1.2 函数式编程介绍顺序说明 1) 在Scala中,函数式编程和面向对象编程融合在一起,学习函数式编程需要oop的知识,同样学习oop需要函数式编程的基础2) 介绍顺序:函数式编程基...