大数据学习之Scala语言基本语法学习36
2020-12-13 01:42
标签:解压 表达式 简写 ack 配置环境变量 div val 问题 ide 官网:https://www.scala-lang.org/ Scala语言很强大,集成了面向对象和函数式编程的特点。 运行在JVM(jdk)。 大数据中为什么学习scala? spark是scala语言编写。 python写spark 挺好的 java写spark 很糟糕(代码实在是太多了) scala写spark 很完美 1)优雅 框架设计中第一个要考虑的问题就是API是否优雅。 精简的封装。 代码精简(少)。 2)速度快 scala语言表达能力强。 一行代码=多行java代码,开发速度快。 3)完美融合hadoop生态 scala是静态编译,表达能力强并且代码量少。 1)下载 2)解压 3)配置环境变量(我是win10系统的,简单的安装,没有弄什么SACLA_HOME那些花里胡哨的东西。直接添加Scala的 bin目录到Path中就行了)
SCALA_HOME= path Helloworld Scala与java一样,有8中数值类型: Byte/Char/Short/Int/Long/Float/Double/Boolean/ 和Unit类型(void) 注意:scala中无包装类型。 Unit:表示无值,用于不返回任何结果的方法的结果类型。 两个关键字:val var val:定义变量值不可变 var:定义的变量值是可变的 scala编译器会自动的推断类型! 指定类型: val str:String = "dawn" 注意:类型要保持一致 Unit = ():()相当于什么都没有用()表示。 if:判断(和java差不多) val y = if(x>0) 1 else 2 Any:包含Anyval和AnyRef Anyval:包含scala所有类型 AnyRef:Scala classes与Java Classes Any相当于java的Object val k = if(x=1) 1 else -1 if和else if:多个条件的判断,符合条件看左侧,不符合条件看右侧 在scala中{}包含一系列表达式,块中的最后一个表达式的值就是块的值 Scala拥有与Java和C++相同的while和do循环 Scala中,可以使用for和foreach进行迭代 使用for循环案例:
注意: (*) 表示一:scala简介
二:scala特点
三:安装Scala
四:Scala基础语法
1)Scala程序的开始(编译器用的是Idea。安装一个Scala的插件就可以用了)
2)Scala的数据类型
3)Scala定义变量
4)条件表达式
5)块表达式
6)循环
(*)第三种写法是第二种写法的简写
在for循环中,还可以使用yield关键字来产生一个新的集合
在上面的案例中,我们将list集合中的每个元素转换成了大写,并且使用yield关键字生成了一个新的集合。
使用while循环:注意使用小括号,不是中括号
使用do ... while循环
使用foreach进行迭代
注意:在上面的例子中,foreach接收了另一个函数(println)作为值
源码:
package dawn.day01 /** * @author Dawn * 2019年6月11日17:01:23 * @version 1.0 * scala基本语法基础 */ object Demo1 { def main(args: Array[String]): Unit = { //定义一个集合 var list =List("dawn","Anlis","xiaomei") var i=0 println("**********************第一种循环for **********************************") for(s
7)方法定义
Scala中 + - * / % 的作用和Java一样,但是特别的是,这些操作符实际上是方
法。个人觉得scala中所有定义的变量都是对象
1 to 10
1.to(10)
定义一个方法:
def m1(a:Int,b:Int):Int = {
a + b
}
def:定义方法的关键字
m1:方法名
a:参数列表
b:参数列表
Int:返回值类型
a + b:函数体
大数据学习之Scala语言基本语法学习36
标签:解压 表达式 简写 ack 配置环境变量 div val 问题 ide
原文地址:https://www.cnblogs.com/hidamowang/p/11006322.html