scala学习(一)

开始学习scala,有一种学习java的感觉。

首先,从网站下载scala的包,下载后要安装,安装后把安装目录的bin放到环境变量psth里

cmd里,输入scala,如果出现下图,那么恭喜咯,安装成功咯~~

1:变量

首先我们看下定义变量方法

var 可以定义变量,可以改变值

val 定义的变量不可以改变值,类似于java的final变量;

2:函数

如图定义了一个函数

def max(x:Int,y:Int):Int ={

if(x>y)x

else y

}

def:表面定义函数

max :函数名称

(x:Int,y:Int)函数的两个参数,分别是Int类型。注意Int不能小写;

:Int 返回类型是Int

大括号里是函数主体~

调用时可以直接调用

max(9,10)

如果是没有参数也不用返回的函数可以如下写法:

def greet() = println("hello")

退出编辑器的方法  :quit

3:scala脚本

可以再文本文件中写scala脚本

如下:args.foreach(arg => print(arg))

命名为:test.scala

然后cmd中就可以使用命令 scals test.scala ni hao me

ni hao me 就作为参数传入脚本中,进行了打印;

脚本解析:

脚本中调用了foreach方法,arg作为参数传入  =>   后面的是函数体 进行打印;

for循环:

scala的for循环如下:

for(arg <- args) println(arg)

4:数组(Araay)

scala的数组可以如下:

var gree = Array("ni","hao","a")

for(i<- 0 to 2) println(gree(i))

这样就完成了一个数组的循环打印;

5:列表(list)

val onetwolist = List(1,2,3)    //这就是新建了一个list

list的方法:

:::表示可以吧两个list叠加到一起

::是可以吧元素加到list前面

但是list没有添加一个元素的方法,空list简称:Nil。但是可以通过对空list和元素的叠加,组成一个新的list

list的方法汇总:

list() 或者 Nil     ---空list

val thrill = "i"::"am"::"niuxiao"::Nil               ----创建一个list

List("1","2"):::List("3","4")                    ----叠加两个list

thrill(2)                                          ----返回thrill的下标为2的元素

thrill.count(s => s.length==4)---返回thrill列表中长度为4的string元素个数

thrill.drop(2)---删除

thrill.dropRight(2)---从右边删除

thrill.exists(s => s=="am")---返回是否有为am的元素

thrill.filter(s => s.length ==4)---返回以长度为4的元素组成的新列表

thrill.forall(s => s.endsWith("1"))---返回是否列表所有元素都是以1结尾

thrill.foreach(print)---循环打印元素

thrill.head---返回列表第一个元素

thrill.init---返回除最后一个以外其他元素组成的列表

thrill.isempty---返回thrill列表是否为空

thrill.last

thrill.length

thrill.map(s => s+"4")---返回列表里每个string元素都加“4”构成的列表

thrill.mkString(",")---返回列表里元素组成的字符串,由,连接

thrill.remove(s => s.length==4)

thrill.reverse---返回列表元素逆序排列的新列表

thrill.sort((s,t) => s.charAt(0).toLowerCase < t.charAt(0).toLowerCase)     -----返回列表元素第一个字符字母小写后排序组成的新列表

thrill.tail ---返回除第一个元素外组成的新列表

6:元组(tuple)

元组和list的区别:

list都是同一类型的元素,元组可以是不同类型的元素

例如:val pair = (99,"nihao")

println(pair._1)

println(pair._2)

很方便哦~~

scala学习(一),布布扣,bubuko.com

时间: 2024-10-27 13:24:52

scala学习(一)的相关文章

Scala学习笔记及与Java不同之处总结-从Java开发者角度

Scala与Java具有很多相似之处,但又有很多不同.这里主要从一个Java开发者的角度,总结在使用Scala的过程中所面临的一些思维转变. 这里仅仅是总结了部分两种语言在开发过程中的不同,以后会陆续更新一些切换后在开发过程中值得注意的地方.以下列举了部分,但令人印象深刻的Scala语言的不同之处,具体的代码演示样例及具体阐述见下文. ? Scala中可直接调用Java代码,与Java无缝连接. 语句能够不用";"结束.且推荐不适用";". 变量声明时以var或va

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

关于环境的搭建,去官网下载JDK8和Scala的IDE就可以了,Scala的IDE是基于Eclipse的. 下面直接上代码: 这是项目目录: A是scala写的: package first import scala.collection.mutable.ListBuffer object A { def main(args: Array[String]) { print("Hello,Scala");//学习程序设计的第一句 println("---");//pr

Spark之Scala学习

1. Scala集合学习: http://blog.csdn.net/lyrebing/article/details/20362227 2. scala实现kmeans算法 http://www.thinksaas.cn/group/topic/93852/ 3. Spark之Scala学习网站 http://spark.apache.org/docs/latest/mllib-decision-tree.html 4. Spark wordcount开发并提交到集群运行: http://ww

scala学习(二)

接着上次的学习,今天学习scala的下面内容咯~~ 1·使用集(set)和映射(map) 学习过java的童鞋们,看见这两个肯定很开心咯,因为很眼熟哦. scala的集合,分为可变类型和不可变类型.array--可变:list保持不变 那么set和map呢,他们通过类继承的差别控制可变和不可变~~ 先看个set的列子吧: var jetSet = Set("zhangsan","lisi") jetSet += "wangwu" println(

scala学习三---文件里读取文本行

学习了scala的基本知识后,发现了scala是集函数式和指令式结合为一体的一种语言,代码更加简洁,但是对于用习惯了java的人来说,还真的不是一件易事~~ 今天学习scala脚本读取文本文件 列子如下: import scala.io.Source if(args.length>0){ for(line <- Source.fromFile(args(0)).getLines) print(line.length+" "+line) }else{ Console.err.

Scala学习网址

scala学习网址为:https://twitter.github.io/scala_school/zh_cn https://www.zhihu.com/question/26707124

Scala 学习

1,Scala学习 官方网网站: http://www.scala-lang.org/ http://www.scala-lang.org/download/ 可伸缩的语言是一种多范式的编程语言,一种类似java的编程,设计初衷是要集成面向对象编程和函数式编程的各种特性. Scala是在JVM上运行. Scala有几项关键特性表明了它的面向对象的本质.例如,Scala中的每个值都是一个对象,包括基本数据类型(即布尔值.数字等)在内,连函数也是对象.另外,类可以被子类化,而且Scala还提供了基于

Scala学习01 环境安装

Scala是一门运行在jvm上的多范式语言,作为一个java程序员,使用Scala来写写程序,既不用担心会没有java强大的库支持,又能快速地写出简短强悍的代码,除此之外scala还为我们提供了强大的并发支持,Let's love it! 安装 下面来看看如何安装它(在此之前,确保已经安装好了jdk,我使用的jdk1.7). 我们可以通过Scala的官网(http://www.scala-lang.org/download/)来下载Scala.我使用的版本是2.11.1. 将安装包下载在本地之后

scala 学习下载

自己制作的中文 scala学习手册,包括进阶,以及构建工具等.下载地址: http://download.csdn.net/detail/yjplxq/7447443 本人也详细写一些scala博客,不想两个地方更新,先更新在 http://yjplxq.blog.51cto.com/ scala 学习下载,布布扣,bubuko.com