scala的基础部分
最近接触到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的基础部分的更多相关文章
- Scala 语法基础
一 简介 Scala 是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性.Scala 运行在Java虚拟机上,并兼容现有的Java程序.Scal ...
- Scala零基础教学【1-20】
基于王家林老师的Spark教程——共计111讲的<Scala零基础教学> 计划在9月24日内完成(中秋节假期之内) 目前18号初步学习到25讲,平均每天大约完成15讲,望各位监督. 初步计 ...
- Scala语言基础
1. Scala语言的特点 a. 多范式编程语言,面向对象(抽象.封装)和函数式(过程.结果)编程 b. 代码简洁 ==>可读性较差 c. 代码会被变异成Java字节码,运行在JVM上 2. S ...
- Scala学习——基础篇
[<快学Scala>笔记] 一.基础 1.变量val 标志符: 声明常量: 如,val answer = 1var 标志符:声明变量: 类型推断:变量的类型由scala根据初始化变量的表达 ...
- Scala(一) —— 基础
一.输出 println("Hello World") 二.变量与常量 1.变量用var表示,常量使用val表示 2.变量类型声明 var variableName : DateT ...
- Scala编程基础
Scala与Java的关系... 4 安装Scala. 4 Scala解释器的使用... 4 声明变量... 5 数据类型与操作符... 5 函数调用与apply()函数... 5 if表达式... ...
- 【scala】基础类型
基础类型 位数 Boolean - Byte ...
- Scala实战高手****第2课:Scala零基础实战入门的第一堂课及如何成为Scala高手
val声明的不可变的战略意义:1.函数式编程中要求值不可变,val天然符合这一特性:2.在分布式系统中,一般都要求值不可变,这样才能够要求分布式系统的设计和实现,同时拥有更高的效率,val声明的内容都 ...
- scala入门基础学习
1.Scala基础语法 区分大小写 类名 - 对于所有的类名的第一个字母要大写.如果需要使用几个单词来构成一个类的名称,每个单词的第一个字母要大写. 方法名称 - 所有的方法名称的第一个字母用小写. ...
随机推荐
- js字母大小写字母转换
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD ...
- 【AUC】二分类模型的评价指标ROC Curve
AUC是指:从一堆样本中随机抽一个,抽到正样本的概率比抽到负样本的概率大的可能性! AUC是一个模型评价指标,只能用于二分类模型的评价,对于二分类模型,还有很多其他评价指标,比如logloss,acc ...
- C# 回调与 javascritp 回调 比较
C#: using System; using System.Collections.Generic; using System.Text; namespace Delegate { //定义委托,它 ...
- Android——菜单和进度条
xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android= ...
- TP5 display()
tp3.x $this->display(); tp5 return $this->fetch();
- CDH安装kafka
摘要:前言其实cloudera已经做了这个事了,只是把kafka的包和cdh的parcel包分离了,只要我们把分离开的kafka的服务描述jar包和服务parcel包下载了,就可以实现完美集成了.具体 ...
- C# 字典 Dictionary 遍历
using System; using System.Collections.Generic; public class Example { public static void Main() { / ...
- ps -a,job,netstat,daemons
kill -9是强制 -15是正常后执行 进程中的数据都写到 /proc/*这个目录下 进程 ps -l aux -lA zxjf(进程树) job ...
- CSS3加载动画
图1 通常我们都使用gif格式的图片或者使用Ajax来实现诸如这类的动态加载条,但是现在CSS3也可以完成,并且灵活性更大. 选1个例子看看怎么实现的吧: 效果图: 图2 代码: 使用1个名为'l ...
- addClass和removeClass函数
function addClass1(element,value){ if(!element.className){ element.className = value; }else{ newClas ...