大数据学习——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基金会所开发的分布式系统集成架构,用户可以在不了解分布式底层细节情况下,开发分布式程序,充分利用集群的威力来进行高速运算与存储,具有可靠.高效 ...
随机推荐
- When you want to give up, remember why you started.
When you want to give up, remember why you started.当你想要放弃的时候,请记住当初你为何而开始.
- ubuntu和window之间如何共享文件
参考网上的自己动手实现共享文件: 1.打开虚拟机进入ubuntu系统,先安装增强功能包 2.安装完重启虚拟机后,在window下创建一个专门用来共享的文件夹 3.切换到ubuntu系统,在设备的共享文 ...
- Jquery 事件 DOM操作
常规事件: 把JS的事件 on去掉即可 例如:js document.getElementById("id").onclinck=function(){} Jquery ...
- python中os.listdir( )函数读取文件夹
编写pytohn脚本时通常需要批处理. 列出指定目录下的所有文件/文件夹 os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表,但有个很明显的缺点,它的默认顺序不是有序的或 ...
- Set、Map及数组去重
https://cloud.tencent.com/developer/article/1437254 https://blog.csdn.net/weixin_34247299/article/de ...
- rcnn,sppnet,fast rcnn,ohem,faster rcnn,rfcn
https://zhuanlan.zhihu.com/p/21412911 rcnn需要固定图片的大小,fast rcnn不需要 rcnn,sppnet,fast rcnn,ohem,faster r ...
- python_93_面向对象实例2
class Role: def __init__(self,name,role,weapon,life_value=100,money=15000): '构造函数:实例化时做一些类的初始化工作' se ...
- WINDOWS-基础:Thread.Sleep(0)
我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间.那么你有没有正确的理解这个函数的用法呢?思考下面这两个问题: 假设现在是 2008-4-7 12:00:00.000,如果我调用 ...
- USACO08FEB Hotel
题目传送门 线段树维护区间 线段树结构体 struct zzz{ int l,r,mi; //l为以左端点的为起点的最长子串 //r为以右端点为终点的最长子串 //mi是区间内部的最长子串 }tree ...
- 解决cocos2dx 3.x 导入cocostudio的ui界面出现错位问题
笔者今天发现导入cocostudio的ui界面时,会有部分控件出现错位的现象,后来我看了一下源码,发现是部分控件是没有继承 Layout类,导致不能设置控件位置造成,原因可以看看cocos2dx 源码 ...