最近接触到spark,spark又是scala编写的,所以需要学习一下scala。

scala是面向对象的,一切皆为对象, 数值,函数都是对象。

println("Welcome to the Scala")  /就这样进入scala学习模式了。。。。

1、变量
val x=10;自动转换类型为Int。
val y:Int=10;自定义变量y的类型。
lazy val c=a+b ;当变量c第一次被使用的时候才会被计算值。

2、scala类型体系
基类:Any
Any下面是AnyVal和AnyRef
val x:Long=20
val u:Unit=() //相当于java中null
3、函数
def funName(param:paramTyte):ReturnType={
//function body
}
def hello(name : String):String = {
     s"hello,${name}"
}

def hello1(name : String) = {
println(s"hello,${name}")
"hello String"
}

4、if表达式

val a = 1; 
if(a == 1){
println("a = " +a);
}else{
println("a != " +a)
}                                   
if(a != 1)
"a!=1"

5、for循环

for(i<- 1 to 3){
println(i)
}
for(i<-1 until 3){
println(i)
}
val list = List("hello","hello2","hello33")
for{
s<- list
}println(s)
for(i<-0 until list.length){
println(list(i))
}

6、try{}catch{}finally{}异常捕获

try {
var i = Integer.parseInt("hello")
} catch {
case t: Throwable => t.printStackTrace()
}finally {
println("不论什么情况我都要执行!")
}

7、match匹配

var myVar = "myValue"; 
myVar match {
case "value1" => println(myVar + " 1");
case "value2" => println(myVar + " 2");
case "myValue" => println(myVar + " 3");
case _=> println("--没有找到我到我这里来--");
} //> myValue 3

利用周末休息时间到这里基础差不多学完了,自己总结的很简单,但是都是验证过的代码,后续还是会继续深入学习的。

scala的基础部分的更多相关文章

  1. Scala 语法基础

    一 简介 Scala 是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性.Scala 运行在Java虚拟机上,并兼容现有的Java程序.Scal ...

  2. Scala零基础教学【1-20】

    基于王家林老师的Spark教程——共计111讲的<Scala零基础教学> 计划在9月24日内完成(中秋节假期之内) 目前18号初步学习到25讲,平均每天大约完成15讲,望各位监督. 初步计 ...

  3. Scala语言基础

    1. Scala语言的特点 a. 多范式编程语言,面向对象(抽象.封装)和函数式(过程.结果)编程 b. 代码简洁 ==>可读性较差 c. 代码会被变异成Java字节码,运行在JVM上 2. S ...

  4. Scala学习——基础篇

    [<快学Scala>笔记] 一.基础 1.变量val 标志符: 声明常量: 如,val answer = 1var 标志符:声明变量: 类型推断:变量的类型由scala根据初始化变量的表达 ...

  5. Scala(一) —— 基础

    一.输出 println("Hello World") 二.变量与常量 1.变量用var表示,常量使用val表示 2.变量类型声明 var variableName : DateT ...

  6. Scala编程基础

    Scala与Java的关系... 4 安装Scala. 4 Scala解释器的使用... 4 声明变量... 5 数据类型与操作符... 5 函数调用与apply()函数... 5 if表达式... ...

  7. 【scala】基础类型

    基础类型                              位数 Boolean                                 - Byte                 ...

  8. Scala实战高手****第2课:Scala零基础实战入门的第一堂课及如何成为Scala高手

    val声明的不可变的战略意义:1.函数式编程中要求值不可变,val天然符合这一特性:2.在分布式系统中,一般都要求值不可变,这样才能够要求分布式系统的设计和实现,同时拥有更高的效率,val声明的内容都 ...

  9. scala入门基础学习

    1.Scala基础语法 区分大小写 类名 - 对于所有的类名的第一个字母要大写.如果需要使用几个单词来构成一个类的名称,每个单词的第一个字母要大写. 方法名称 - 所有的方法名称的第一个字母用小写. ...

随机推荐

  1. js字母大小写字母转换

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD ...

  2. 【AUC】二分类模型的评价指标ROC Curve

    AUC是指:从一堆样本中随机抽一个,抽到正样本的概率比抽到负样本的概率大的可能性! AUC是一个模型评价指标,只能用于二分类模型的评价,对于二分类模型,还有很多其他评价指标,比如logloss,acc ...

  3. C# 回调与 javascritp 回调 比较

    C#: using System; using System.Collections.Generic; using System.Text; namespace Delegate { //定义委托,它 ...

  4. Android——菜单和进度条

    xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android= ...

  5. TP5 display()

    tp3.x $this->display(); tp5 return $this->fetch();

  6. CDH安装kafka

    摘要:前言其实cloudera已经做了这个事了,只是把kafka的包和cdh的parcel包分离了,只要我们把分离开的kafka的服务描述jar包和服务parcel包下载了,就可以实现完美集成了.具体 ...

  7. C# 字典 Dictionary 遍历

    using System; using System.Collections.Generic; public class Example { public static void Main() { / ...

  8. ps -a,job,netstat,daemons

     kill         -9是强制      -15是正常后执行 进程中的数据都写到 /proc/*这个目录下 进程 ps -l      aux   -lA   zxjf(进程树) job   ...

  9. CSS3加载动画

    图1 通常我们都使用gif格式的图片或者使用Ajax来实现诸如这类的动态加载条,但是现在CSS3也可以完成,并且灵活性更大. 选1个例子看看怎么实现的吧: 效果图:   图2 代码: 使用1个名为'l ...

  10. addClass和removeClass函数

    function addClass1(element,value){ if(!element.className){ element.className = value; }else{ newClas ...