Scala:scala的一些简单操作命令
Scala是一门多范式的编程语言,一种类似java的编程语言,设计初衷是实现可伸缩的语言、并集成面向对象编程和函数式编程的各种特性。
根据David Rupp在博客中的说法,Scala可能是下一代Java。
与只支持单继承的语言相比,Scala具有更广泛意义上的类重用。Scala允许定义新类的时候重用“一个类中新增的成员定义(即相较于其父类的差异之处)”。Scala称之为mixin类组合。
下面我就为大家持续编写一些scala命令:
scala下载地址:http://www.scala-lang.org/download/2.12.1.html
首先我下载了scala,解压到D盘的ruanjian文件夹里,dos窗口运行:
《变量》
scala> var i=1
i: Int = 1
scala> var j:Int=2
j: Int = 2
scala> var s:String="abc"
s: String = abc
//var为变量;val为常量,不可变:
scala> var i=2
i: Int = 2
scala> i=3
i: Int = 3
scala> val j=2
j: Int = 2
scala> j=3
<console>:12: error: reassignment to val
j=3
^
《操作符重载》
scala> var a=1
a: Int = 1
scala> var b=2
b: Int = 2
scala> a+b
res0: Int = 3
//加号是一个方法名
scala> a.+(b)
res1: Int = 3
//for循环
scala> var s="abc"
s: String = abc
scala> for(i<-s){println(i)}
a
b
c
《定义数组》
scala> var arr=Array(1,2,3,4,5)
arr: Array[Int] = Array(1, 2, 3, 4, 5)
scala> for(i<-arr){println(i)}
1
2
3
4
5
//泛型用[ ]不用 < >
scala> var arr=Array[String]("a","b","c")
arr: Array[String] = Array(a, b, c)
//方法,函数区别
scala> var a=Array(1,2,3,4)
a: Array[Int] = Array(1, 2, 3, 4)
//将一个int数组中的每个值 +1 后再生成一个数组
scala> a.map(_+1) //原数组不动,生成新的数组
res2: Array[Int] = Array(2, 3, 4, 5)
//将偶数查出,再乘以100
scala> a.filter(_%2==0)
res3: Array[Int] = Array(2, 4)
scala> a.filter(_%2==0).map(_*100)
res4: Array[Int] = Array(200, 400)
《定义方法》
// 关键字def,方法名,参数,返回类型,返回结果
scala> def main(){println("1,2,3")}
main: ()Unit
//Unit 相当于 void
scala> def m(a:Int,b:Int):Int=a+b
m: (a: Int, b: Int)Int
《定义函数》
scala> val k=(a:Int,b:Int)=>a+b
k: (Int, Int) => Int = $$Lambda$1155/1157751940@1727aa28
scala> k(2,3)
res9: Int = 5
//数组内每个元素*100
scala> val k=Array(1,2,3)
k: Array[Int] = Array(1, 2, 3)
scala> k.map(_*100)
res12: Array[Int] = Array(100, 200, 300)
//函数与方法的区别,函数可以当作参数传入方法中
scala> val k=(i:Int,j:Int)=>{i+j}
k: (Int, Int) => Int = $$Lambda$1160/1891600388@20834041
scala> k(2,3)
res13: Int = 5
//演化过程
scala> val k=Array(1,2,3,4)
k: Array[Int] = Array(1, 2, 3, 4)
scala> arr.map(_+1)
res19: Array[Int] = Array(2, 3, 4, 5)
scala> k.map((i:Int)=>i+1)
res16: Array[Int] = Array(2, 3, 4, 5)
scala> k.map(i=>i+1)
res17: Array[Int] = Array(2, 3, 4, 5)
未完待续~~
如果您认为这篇文章还不错或者有所收获,您可以通过右边的“打赏”功能 打赏我一杯咖啡【物质支持】,也可以点击下方的【好文要顶】按钮【精神支持】,因为这两种支持都是使我继续写作、分享的最大动力!
Scala:scala的一些简单操作命令的更多相关文章
- vim简单操作命令
vim简单操作命令: 开启编辑:按“i”或者“Insert”键 退出编辑:“Esc”键 退出vim:“:q” 保存vim:“:w” 保存退出vim:“:wq” 不保存退出vim:“:q!” 查看当前系 ...
- Hadoop学习(8)-scala环境配置及简单使用
学习scala的原因主要是因为以后要学习spark. scala是运行在java虚拟机上的,它是一种面向对象和函数式编程结合的语言,并兼容java程序 相对于java更简单 安装scala前提你要保证 ...
- scala安装教程及简单配置
本文将介绍以下内容:Windows下安装scala运行环境,安装编译工具并简单配置,实现著名的“Hello,World". 一,Windows下安装scala运行环境 1.配置jdk,因为s ...
- scala中的闭包简单使用
object Closure { /** * scala中的闭包 * 函数在变量不处于其有效作用域内,还能够对变量进行访问 * * @param args */ def main(args: Arra ...
- scala 中List的简单使用
/** * scala 中List的使用 * */ object ListUse { def main(args: Array[String]): Unit = { def decorator(l:L ...
- Scala 方法与函数简单记录
/** * Scala 方法与函数 * Scala 有方法与函数,二者在语义上的区别很小.Scala 方法是类的一部分,而函数是一个对象可以赋值给一个变量.换句话来说在类中定义的函数即是方法 */ o ...
- Scala之Calendar,SimpleDateFormat简单用法
package com.dingxin.entrance import java.text.SimpleDateFormat import java.util.{Calendar, Date} /** ...
- [Scala]Scala学习笔记四 类
1. 简单类与无参方法 class Person { var age = 0 // 必须初始化字段 def getAge() = age // 方法默认为公有的 } 备注 在Scala中,类并不声明为 ...
- [Scala]Scala学习笔记二 数组
1. 定长数组 如果你需要一个长度不变的数组,可以使用Scala中的Array. val nums = new Array[Int](10) // 10个整数的数组 所有元素初始化为0 val str ...
随机推荐
- centos php 版本升级 至5.3 wordpress3.7
今天换了主机,wordpress居然出现下面的错误: 您的服务器现在运行的PHP版本为5.1.6,但WordPress 3.7要求的最低版本为5.2.4. http://www.webtatic.co ...
- iOS-更新CocoaPods出现错误 提示重复文件
当多人开发的时候,或者引入了一些别人的第三方库文件的时候,当我们再更新CocoaPods时会出现错误,错误提示有一些文件 出现重复,这个时候我们需要查看一些是什么文件出现了重复,错误提示是xxxx三方 ...
- centos7上修改运行级别
查看运行级别的原配置文件,和centos6上明显的不同: 运行级别控制文件: [root@nginx1 python]# ll /etc/systemd/system/default.targetlr ...
- 【BZOJ4384】[POI2015]Trzy wieże 树状数组
[BZOJ4384][POI2015]Trzy wieże Description 给定一个长度为n的仅包含'B'.'C'.'S'三种字符的字符串,请找到最长的一段连续子串,使得这一段要么只有一种字符 ...
- 【BZOJ4896】[Thu Summer Camp2016]补退选 Trie树
[BZOJ4896][Thu Summer Camp2016]补退选 Description X是T大的一名老师,每年他都要教授许多学生基础的C++知识.在T大,每个学生在每学期的开学前都需要选课,每 ...
- css生成三角形
转载:http://www.cnblogs.com/lhb25/p/css-and-css3-triangle.html Triangle Up 1 2 3 4 5 6 7 #triangle ...
- window下使用mysql,报未定义标识符"SOCKET"
解决方法一: 这个错误是在VC中使用MySQL数据库时出现在mysql_com.h文件中的 my_socket fd; 说明未my_socket未定义,这时只需要在引用mysql.h头文件之前引用# ...
- Java 语言基础之函数
函数的定义: 函数就是定义在类中的具有特定功能的一段独立小程序 函数也称为方法 函数定义格式: 修饰符 返回值类型 函数名(参数类型 形式参数1, 参数类型 形式参数2,...) { 执行语句; re ...
- Scrapy(爬虫)基本运行机制
Scrapy(爬虫)基本运行机制
- MongoDB-6: MongoDB索引
一.简介 在MongoDB建立索引能提高查询效率,只需要扫描索引只存储的这个集合的一小部分,并只把这小部分加载到内存中,效率大大的提高,如果没有建立索引,在查询时,MongoDB必须执行全表扫描,在数 ...