大数据学习——scala入门练习
package com /**
* Created by ZX on 2015/11/6.
*/
object VariableDemo {
def main(args: Array[String]) { //1定义变量-----------------------------------------
//使用val定义的变量值是不可变的,相当于java里用final修饰的变量
val i = 1
//使用var定义的变量是可变得,在Scala中鼓励使用val
var s = "hello"
//Scala编译器会自动推断变量的类型,必要的时候可以指定类型
//变量名在前,类型在后
val str: String = "itcast"
println(i);
println(s);
println(str); //2循环-----------------------------------------
for (c <- s) println(c); //3Array
val arr = Array(1, 2, 3, 4, 5, 6, 7, 8, 9)
for (e <- arr)
println(e) for (i <- 1 to 10) println(i) //4高级for循环
//每个生成器都可以带一个条件,if前面没有分号
for (i <- 1 to 3; j <- 1 to 3 if i != j)
println((10 * i + j) + " ") //5for推导式:如果for循环的循环体以yeild开始,则该循环会构建一个组合
//每次迭代生成集合中的一个值
val v = for (i <- 1 to 10) yield i * 10
println(v) println((1 to 10).map(_ * 10)) val a = Array("a", "b", "c")
for (e <- a) println(e) for (i <- 0 to a.length) println(i)
for (i <- 0 until a.length) println(a(i)) //判断x的值,将结果赋给y
val x = 0
val y = if (x > 0) 1 else -1
println(y) //支持混合类型表达式
val z = if (x > 1) 1 else "error"
println(z) //如果缺失else,相当于if(x>2) 1 else ()
val m = if (x > 2) 1
println(m) //操作符重载
val numa = 2
val numb = 3
numa + numb
numa.+(numb) //方法和函数
//定义方法
def m1(x: Int): Int = x * x
//scala可以自动推断返回值类型,但是如果方法中存在递归,则必须指定返回值类型
def m2(x: Int) = x * x
println("-----------" + m1(2))
println("-----------" + m2(2)) def n1(y: Int, z: Int): Unit = println(y + z)
val n2 = n1(1, 2)
println("n2是" + n2) //n2是() scala中的()相当于java中void def n3(y: Int, z: Int) {
println(y + z)
}
val n4 = n3(2, 2)
println("n4是" + n4) //定义函数 函数可以作为参数传入方法里边
val f = (x: Int) => x * x;
println("-----------" + f(3))
val f1 = (x: Int, y: Int) => x * y
println("-----------" + f1(3, 4)) val arrs = Array(1, 2, 3, 4, 5)
arrs.map((x: Int) => x * 10)
arrs.map((x) => x * 10)
arrs.map(x => x * 10)
for (e <- arrs) println(e)
val arr1 = Array(1, 2, 3); val arr2 = arr1.map(_ * 10)
for (e <- arr2) println(e) //函数作为函数的参数传给函数
val ff1 = (x: Int) => x * x
val arr3 = arr2.map(ff1) for (e <- arr3) println("---" + e)
}
}
大数据学习——scala入门练习的更多相关文章
- 大数据学习——scala入门程序
安装scala.msi https://blog.csdn.net/sinat_32867867/article/details/80305302 notepad++ object HelloScal ...
- 大数据学习——scala类相关操作
1 类的定义 package com /** * Created by Administrator on 2019/6/3. */ //类并不用声明为public. class Person { // ...
- 大数据学习——scala数组
package com import scala.collection.mutable.ArrayBuffer /** * Created by Administrator on 2019/4/8. ...
- 大数据学习——sqoop入门
下载地址 https://pan.baidu.com/s/1qWDl29L9I_KVU54c0ioNfQ fvfh 3.1 概述 sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传 ...
- 大数据学习——scala集合练习
package com /** * Created by ZX on 2016/4/5. */ object ListTest { def main(args: Array[String]) { // ...
- 大数据学习——scala的wordCount小例子
val lines=List("hello tom hello jerry","hello tom hello kitty hello china") //方法 ...
- 大数据学习——scala函数与方法
package com /** * Created by Administrator on 2019/4/8. */ object TestMap { def ttt(f: Int => Int ...
- 大数据学习——KETTLE入门学习——kettle安装
https://blog.csdn.net/u012637358/article/details/82593492 下载的kettle是汉化的 改成英文的 工具——选项——选择英文
- 大数据学习之Hadoop快速入门
1.Hadoop生态概况 Hadoop是一个由Apache基金会所开发的分布式系统集成架构,用户可以在不了解分布式底层细节情况下,开发分布式程序,充分利用集群的威力来进行高速运算与存储,具有可靠.高效 ...
随机推荐
- 【Unity3D】3D游戏学习
1.理解游戏元素,简单回答以下问题: 1.1简单介绍一款上世纪(19XX)出品的计算机游戏,然后按课件的方法描述游戏的五个基本元素.(讲目标.玩法.规则) 1.1.1仙剑奇侠传 <仙剑奇侠传&g ...
- Ubuntu批量修改权限
Ubuntu中有两个修改命令可以用到,「change mode」&「change owner」 即chmod以及chown,其中可以用递归参数-R来实现更改所有子文件和子目录的权限. 1.利用 ...
- 如何检查SQL Server索引填充因子
假如您有一个盛满水的玻璃杯,您要尝试再向这个玻璃杯中加水.结果会怎样呢?水会溢出来. SQL Server 的情况也是如此.当索引页填充满时,如果尝试添加新行,则 SQL Server 会将大约一半的 ...
- HDU 4055 Number String(DP计数)
题意: 给你一个含n个字符的字符串,字符为'D'时表示小于号,字符为“I”时表示大于号,字符为“?”时表示大小于都可以.比如排列 {3, 1, 2, 7, 4, 6, 5} 表示为字符串 DIIDID ...
- 洛谷 P2324 [SCOI2005]骑士精神
题目描述 输入输出格式 输入格式: 第一行有一个正整数T(T<=10),表示一共有N组数据.接下来有T个5×5的矩阵,0表示白色骑士,1表示黑色骑士,*表示空位.两组数据之间没有空行. 输出格式 ...
- BZOJ 2119: 股市的预测 SA
2119: 股市的预测 Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 434 Solved: 200[Submit][Status][Discuss ...
- SAP Cloud for Customer客户主数据的地图集成
点击这个按钮可以通过地图的方式查看C4C客户在地图上的地理位置: 只需要在这个客户的地址栏里维护上天府软件园的经度和维度: 就能够在C4C的客户列表页面里显示该客户在地图上的位置: 要获取更多Jerr ...
- UVALive 3523 Knights of the Round Table 圆桌骑士 (无向图点双连通分量)
由于互相憎恨的骑士不能相邻,把可以相邻的骑士连上无向边,会议要求是奇数,问题就是求不在任意一个简单奇圈上的结点个数. 如果不是二分图,一定存在一个奇圈,同一个双连通分量中其它点一定可以加入奇圈.很明显 ...
- HDU 4284 Travel (Folyd预处理+dfs暴搜)
题意:给你一些N个点,M条边,走每条边要花费金钱,然后给出其中必须访问的点,在这些点可以打工,但是需要先拿到证书,只可以打一次,也可以选择不打工之直接经过它.一个人从1号点出发,给出初始金钱,问你能不 ...
- 什么样子的WordPress网站更受搜索引擎欢迎
网站的导航功能对于搜索引擎而言是非常重要的 网站的导航功能对于帮助用户迅速找到他们想要的内容来说是很重要的.它对帮助搜索引擎理解该网站有哪些重要内容同样非常重要.虽然百度的搜索结果都是指向每一个特定的 ...