大数据学习——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基金会所开发的分布式系统集成架构,用户可以在不了解分布式底层细节情况下,开发分布式程序,充分利用集群的威力来进行高速运算与存储,具有可靠.高效 ...
随机推荐
- 记录:swift学习笔记1-2
swift还在不断的更新做细微的调整,都说早起的鸟儿有虫吃,那么我们早点出发吧,趁着国内绝大多数的coder们还没有开始大范围普遍应用. 网上有些大神说:swift很简单!我不同意这个观点,假如你用h ...
- If people in the communications only think about gains and losses of interest, then the pleasure of knowing each other will cease to exist.
If people in the communications only think about gains and losses of interest, then the pleasure of ...
- 零基础逆向工程16_C语言10_宏定义_头文件_内存分配_文件读写
#define 无参数的宏定义的一般形式为:#define 标识符 字符序列 如:#define TRUE 1 注意事项: 1.之作字符序列的替换工作,不作任何语法的检查 2.如果宏定义不当,错误要到 ...
- 【extjs6学习笔记】1.5 初始:关于布局
absolute 绝对布局,这个布局使用 x 和 y 属性来指定组件的绝对定位 accordion 手风琴布局[可折叠布局]这个布局展示了在一个时间里只有一个内置的可支持折叠和展开的子级 panel ...
- 协议学习之 vamei博客系列 总结
1. 分层: 物理层(physical layer) 所谓的物理层,是指光纤.电缆或者电磁波等真实存在的物理媒介.这些媒介可以传送物理信号,比如亮度.电压或者振幅.对于数字应用来说,我们只需要两种物理 ...
- N17_判断树B是不是树A的子结构
题目描述 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) package new_offer; /** * 输入两棵二叉树A,B,判断B是不是A的子结构.( ...
- GC执行finalize的过程以及对象的一次自我拯救
参考资料:深入理解java虚拟机 /** * 此代码演示了两点: * 1.对象可以在被GC时自我拯救 * 2.这种自救的机会只有一次,因为一个对象的finalize()方法只会被系统自动调一次 */ ...
- springboot 修改文件上传大小限制
springboot 1.5.9文件上传大小限制spring:http:multipart:maxFileSize:50MbmaxRequestSize:50Mb springboot 2.0文件上传 ...
- Spring3中好用的工具类收集
1) 请求工具类 org.springframework.web.bind.ServletRequestUtils //取请求参数的整数值: public static Integer getIntP ...
- 03_5_static关键字
03_5_static关键字 1. static关键字 在类中,用static声明的成员变量为静态成员变量,它为该类的公用 变量,在第一次使用时被初始化,对于该类的所有对象来说,static成员变量只 ...