scala基础-1】的更多相关文章

环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk1.8 scala-2.10.4(依赖jdk1.8) spark-1.6 Scala是一种混合功能编程语言,类似java,运行于JVM,集成面向对象编程和函数式编程的各种特性.(1)Scala可以与Java互操作:它用scalac这个编译器把源文件编译成Java的class文件,从Scala中调用所有的Java类库,也同样可以从Java应用程序中调用Scala的…
Scala基础学习 摘要: 在篇主要内容:如何把Scala当做工业级的便携计算器使用,如何用Scala处理数字以及其他算术操作.在这个过程中,我们将介绍一系列重要的Scala概念和惯用法.同时你还将学到作为初学者如何浏览Scaladoc文档 1. 使用Scala解释器 2. 用var和val定义变量 3. 数值类型 4. 使用操作符和函数 5. 浏览Scaladoc Scala解释器 启动Scala解释器的步骤如下: 安装Scala 确保scala/bin目录位于系统PATH中 在你的操作系统中…
Scala基础语法 声明与定义: val,常量声明                       val  x:T(把x声明成一个类型为T的常量)  x是变量的名字,T是变量的类型          val  x:T=e    x是常量,值是不可以改变的 var,变量声明 var  x:T  (和val一样)  var x:T=e  x是变量,值是可以改变的 类型省略(默认类型)          val x=e   var x=e 声明省略(连续声明)          val x1,x2,x3…
在最开始处引入 log 相关的 包 import org.apache.log4j.{Logger,Level} 在需要屏蔽日志输出的地方加上这两行代码 // 屏蔽不必要的日志显示在终端上 Logger.getLogger("org.apache.spark").setLevel(Level.ERROR) Logger.getLogger("org.eclipse.jetty.server").setLevel(Level.OFF) // scala io Case…
Scala基础语法总结:Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的.如果一行里写多个语句那么分号是需要的 val s = "菜鸟教程"; println(s)A:区分大小写 -  Scala是大小写敏感的,这意味着标识Hello 和 hello在Scala中会有不同的含义.def main(args: Array[String]) - Scala程序从main()方法开始处理,这是每一个Scala程序的强制程序入口部分. 标识符字符数字和符号字符数…
1. 占位符 _ 针对 Scala 基础(7)—— 函数字面量和一等函数 中最后提到的,关于 filter 函数字面量的精简写法,可以使用占位符 _ 来代替. 占位符_,用来表示一个或者多个参数.(这里的多个参数不是表示一个下划线代表多个参数,而是多个下划线可以代表多个参数) 在函数字面量的表达中,可以将下划线看成是“要填的空”,函数每次被调用时,这个“空”就回被一个参数“填”上. 例如: def main(args: Array[String]): Unit = { val list = Li…
1. 函数字面量 在 Scala 基础(3)—— 基础类型和基础操作 中提到了函数字面量,这里具体解释函数字面量的语法. 下面展示一个具体的函数字面量,它由三部分组成: (x: Int, y: Int) => x + y 圆括号内部的参数列表 右箭头 函数体 2. 一等函数 一等函数可以说是 Scala 中非常重要的特性. 所谓一等函数,就是使用函数字面量,将其作为值进行传递. 函数字面量会被编译成类,并且在运行时实例化成函数值,做一个简单的类比: 函数字面量 -> 类 函数值 -> 对…
有了 Scala 基础(4)—— 类和对象 的前提,现在就可以来构建一个基于 Scala 的函数式对象. 下面开始构造一个有理数对象 Rational. 1. 主构造方法和辅助构造方法 对于每一个类的定义,Scala 只允许一个主构造方法,主构造方法的入参紧跟在类定义的后面: class Rational(n: Int, d: Int) { } val r = new Rational(1,2) // 有理数 1/2 你可能需要一个分母 d 被预定义为 1 的一个构造方法,这事就需要用到辅助构造…
摘要:在Scala 是 Scalable Language 的简写,是一门多范式(multi-paradigm)的编程语言.设计初衷是要集成面向对象编程和函数式编程的各种特性.Scala 运行在Java虚拟机上,并兼容现有的Java程序.Scala 源代码被编译成Java字节码,所以它可以运行于JVM之上,并可以调用现有的Java类库. 1.Scala 特性 面向对象特性.函数式编程.静态类型.扩展性.并发性 2.Scala Web 框架 目前比较流行的 Scala 的 Web应用框架:Lift…
* Scala基础简述 本文章作为Scala快速学习的教程,前提环境是:我假设在此之前,你已经学会了Java编程语言,并且我们以随学随用为目标(在此不会深度挖掘探讨Scala更高级层次的知识).其中语言基础部分,不再做大量重复的无意义工作,我会直接使用RUNOOB.COM中的一些例子做一些整合,OK,我们开始. * Scala行业习惯式开场 Scala是一门多范式的编程语言,一种类似java的编程语言,设计初衷是实现可伸缩的语言.并集成面向对象编程和函数式编程的各种特性. ** Scala面向对…
注:本文只说和Java不同的地方. 总结自: Scala详细教程 Scala教程 scala基础语法 Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ";" 是可选的. def main(args: Array[String])Scala程序从main()方法开始处理,这是每一个Scala程序的强制程序入口部分. 换行符:Scala是面向行的语言,语句可以用分号(;)结束或换行符.Scala程序里,语句末尾的分号通常是可选的.如果你愿意可以输入一个,但若一行里仅有一…
目录 一.Scala基础语法 (一) 变量.类型.操作符 1.变量申明 2.字符串 3.数据类型 4.操作符 (二)循环判断 1.块表达式 2.条件表达式 3.循环表达式 (三)方法和函数 1.方法 2.函数 3.方法和函数的区别 4.总结 二.Scala常用数据结构/集合 (一)Scala集合分类和继承体系 1.分类 2.继承体系 (二)数组 (三)元组 (四)List (五)队列 (六)Set (七)Map 一.Scala基础语法 === (一) 变量.类型.操作符 1.变量申明 ●Java…
4.    Scala基础 4.1.   声明变量 package cn.itcast.scala object VariableDemo {   def main(args: Array[String]) {     //使用val定义的变量值是不可变的,相当于java里用final修饰的变量     val i = 1     //使用var定义的变量是可变得,在Scala中鼓励使用val     var s = "hello"     //Scala编译器会自动推断变量的类型,必…
如果你之前是一名 Java 程序员,并了解 Java 语言的基础知识,那么你能很快学会 Scala 的基础语法. Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的. 我们可以认为 Scala 程序是对象的集合,通过调用彼此的方法来实现消息传递.接下来我们来理解下,类,对象,方法,实例变量的概念: 对象 - 对象有属性和行为.例如:一只狗的状属性有:颜色,名字,行为有:叫.跑.吃等.对象是一个类的实例. 类 - 类是对象的抽象,而对象是类的具体实例. 方法 - 方法…
原文地址 本文只是带你进入 Scala 的世界,包括安装.不可变量 val.可变量 var.定义类.集合(包括列表(list).集(set).映射(map))以及集合遍历和集合库(能达到并行/并发效果). 题外话,如果 Java 争气的话,还就真不会出现像 Scala 这些语言.对于函数式编程风格的支持,尤其是对于 Lambda 表达式的支持,能减少必须要编写的逻辑无关的样板代码,让程序员集中精力任务本身.而 Java 对 Lamdba 表达式的支持到 JavaSE8 才实现(你可以查一下 Ja…
首先需要Scala开发环境的搭建,网上自己找教程. 声明常量与变量 val foo = 0 // 常量 var bar = 0 // 变量 在Scala中,更加鼓励使用val来进行声明,也就是推荐使用常量.在大部分时候不需要分号,看自己便好…虽然是强静态类型的语言,但是却并没有写出类型——这就是类型推断. 也可以指定类型: val spark: String = "Hello Scala" 多个的同时声明: val xInt, yInt = 100 // xInt, yInt都声明为1…
写在前面 面向java开发者.实际上,具有java基础学习scala是很容易.java也可以开发spark,并不比scala开发的spark程序慢.但学习scala可有助于更快更好的理解spark.比如spark的很多算子group,filter之类的,全都是scala语言本身所具备的功能.再比如,想做一个更高级别的spark开发者,势必需要了解spark源码.哪怕不需要通读,但也需要了解scala语言. 快速入门的意思先具备一个宏观上的系统而整体的把控,然后再到这个框架上去把血肉丰满.从阅读源…
一. 类.对象.继承.特质 1.类 Scala的类与Java.C++的类比起来更简洁 定义: package com.jiangbei //在Scala中,类并不用声明为public. //Scala源文件中可以包含多个类,所有这些类都具有公有可见性. class Person { // 定义一个不可变的val(只有getter)和可变的var(getter setter都有) // 更直观的理解,可以通过反编译工具打开out目录的.class文件 val id = 9527 var name…
一.基础语法 1.变量类型 // 上表中列出的数据类型都是对象,也就是说scala没有java中的原生类型.在scala是可以对数字等基础类型调用方法的. 2.变量声明——能用val的尽量使用val!!! //使用val定义的变量值是不可变的,相当于java里用final修饰的变量 val i = 3 //使用var定义的变量是可变得,在Scala中鼓励使用val var j = "hello" //Scala编译器会自动推断变量的类型,必要的时候可以指定类型 var k: Strin…
如果您熟悉Java语言语法和编程,那么学习Scala将会很容易.Scala和Java之间最大的句法差异在于行结束字符的分号(;) 是可选的. 当编写Scala程序时,它可以被定义为通过调用彼此的方法进行通信的对象的集合.现在我们简单地看一下类,对象,方法和实例变量的含义. 对象 - 对象有状态和行为.一个对象是类的一个实例.例如 - 狗有状态:颜色,名称,品种,它行为有:摇摆,吠叫和吃东西. 类 - 可以将类定义为描述与该类相关的行为/状态的模板/蓝图. 方法 - 一个方法基本上是一种行为.一个…
如果您熟悉Java语言语法和编程,那么学习Scala将会很容易.Scala和Java之间最大的句法差异在于行结束字符的分号(;) 是可选的. 当编写Scala程序时,它可以被定义为通过调用彼此的方法进行通信的对象的集合.现在我们简单地看一下类,对象,方法和实例变量的含义. 对象 - 对象有状态和行为.一个对象是类的一个实例.例如 - 狗有状态:颜色,名称,品种,它行为有:摇摆,吠叫和吃东西. 类 - 可以将类定义为描述与该类相关的行为/状态的模板/蓝图. 方法 - 一个方法基本上是一种行为.一个…
上一篇文章介绍了如何下载scala, 因为在官网上点击下载按钮无法下载, 下面介绍scala的基础语法: 1 scala和java的关系 Scala是基于jvm的一门编程语言,Scala的代码最终会经过编译成字节码,交给java虚拟机来运行 Scala和java可以无缝互操作,Scala可以任意调用java代码. 2 Scala的解释器 repl scala的解释器会快速编译scala代码为字节码然后交给jvm来执行. repl :  read 取值 ---> evaluation 求值  --…
一.简介 由于Spark主要是由Scala编写的,虽然Python和R也各自有对Spark的支撑包,但支持程度远不及Scala,所以要想更好的学习Spark,就必须熟练掌握Scala编程语言,Scala与Java较为相似,且在Scala中可以调用很多Java中的包,本文就将针对Scala中的基础数据结构.循环体以及错误处理机制进行基础的介绍: 二.基础数据类型与数据结构 2.1基础数据类型 Scala包括了8种基础数据类型,基本信息如下表: 基本类型 取值范围或示例 Byte -128~127…
1. Scala 的一些基础类型 Scala 提供了 8 种基础类型,对应 Java 的 8 种基本数据类型. 其中包括: 整数类型:Byte, Short, Int, Long, Char 浮点类型:Float, Double 布尔类型:Boolean 与 Java 不同,这 8 种数据在 Scala 中都可以当做对象使用.例如, Int 类型定义在 scala.Int 中. 这 8 种类型在0 Scala 编译时,都会转为 Java 中对应的基本类型,所以基本不会有额外的开销. 加上常用的字…
上次我们介绍了函数式编程的好处,并使用scala写了一个小小的例子帮助大家理解,从这里开始我将真正开始介绍scala编程的一些内容. 这里会先重点介绍scala的一些语法.当然,这里是假设你有一些java或者python的基础,毕竟大部分人不会将scala当作第一门学习编程的语言. 不过这些语法知识记不住也没关系,本身语法这种东西就应该在使用中被记住.这里写这篇的目的也只是梳理一遍,方便大家对语法有个初步的印象,后面可以随时查询. PS:所使用的版本是scala 2.11.8,那我们开始吧 一.…
函数式编程 ​ 并行编程 ​ 多核计算.云计算 ​ 引用透明,给值确定,结果也确定 数据类型 三种变量修饰符 ​ val 定义immutable variable ​ var 定义mutable variable ​ lazy val ​ 可以不显示指定变量的类型,因为scala会自动进行类型推导 默认变量名 res ​ val 定义的值不可改变 根类Any ​ 二层:AnyVal.AnyRef AnyVal=>Numeric types.Boolean.Char.Unit AnyRef=>A…
list.+:5 , list.::5: 在list集合头部添加单个元素5 : li1.:+(5):在list集合尾部添加单个元素5: li1++li2,li1:::li2:在li1集合尾部添加il2集合: li1.:::(li2):在li1集合头部添加li2集合. li1--=li2:可变list集合li1中,减去li2集合中的元素,li1中的元素为减少后的元素. List:可重复.有序(注意,这里的有序不是指它里面的元素从小到大排序,而是指它里面的元素的位置不会改变,每个元素都有自己的位置序…
文章目录 常量 变量 代码块 函数 方法 类 case类 对象 trait main方法 这篇文章我们大概过一下Scala的基础概念,后面的文章我们会有更详细的讲解Scala的具体内容. 常量 在Scala中常量用val关键字表示,如下所示: val x = 1 + 1 println(x) // 2 常量只能赋值一次,不能被多次赋值: x = 3 // This does not compile. 在上面的例子中,x 的类型是根据后面的类型推算出来的,当然你也可以显示指定x的类型,如下所示:…
Object An object is a type of class that can have no more than one instance, known in object-oriented design as a singleton. Instead of creating an instance with a new keyword, just access the object directly by name. Objects provide similar "static&…
/* 学慕课网上<Scala程序设计>课程跟着敲的代码 作为代码参考也是很好的 在scala_ide.org上下载eclipse IDE,新建一个worksheet,就可以像在xcode的playground那样玩了, 就是如下所示,写变量直接在右边显示结果 链接:scala集合文档http://docs.scala-lang.org/zh-cn/overviews/collections/introduction 函数式编程,核心是状态不变 */ var x = 1 //> x : I…