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基础语法 区分大小写 类名 - 对于所有的类名的第一个字母要大写.如果需要使用几个单词来构成一个类的名称,每个单词的第一个字母要大写. 方法名称 - 所有的方法名称的第一个字母用小写. ...
随机推荐
- #include<algorithm>里的函数
#include<algorithm>里的函数 #include<algorithm> 非修改性序列操作(12个) 循环 对序列中的每个元素执行某操作 for_ ...
- python操作excel之 模块 xlrd
xlrd是专门用来在python中读取微软execel的模块,可以自己直接下载安装,也可以通过包管理器安装. 官方资料: 下载地址:http://pypi.python.org/pypi/xlrd 官 ...
- python学习笔记(14)--爬虫下载漫画图片修改版
说明: 1. 2017.3.12,周六从中午吃完包子12点多折腾了一下午加一个晚上,试了4个网站的爬虫,发现都不能下载!甚至前几天测试能下载的都不能用了! 2. 到晚上发现煎蛋网的可以用了,立即试了下 ...
- 使用 LocalReport 对象进行打印
添加引用 从“项目”菜单中,选择“添加引用”.将显示“添加引用”对话框. 从“.NET”选项卡上显示的列表框中,选择 Winforms 和 Drawing 组件. 添加代码 应打开 Program ...
- 【WPF/C#】使用BackgroundWorker实现多线程/异步操作
做WPF时需要做一个异步加载时的Loading遮罩,搜Stackoverflow看到很多方法,看到了这个插件: BusyIndicator in the extended WPF Toolkit 同时 ...
- poll--wait for some event on a file descriptor
poll同select,用于监控file descriptor事件,推荐用poll的升级版epool来实现功能,但在简单应用中使用poll更方便. #include <poll.h> in ...
- C# cs文件表头模版
设置位置:C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ItemTemplatesCache\CSharp\Web\2 ...
- Config文件的使用:通过程序修改Config文件
对于config文件,一般情况下都是使用ConfigurationManager加载,然后通过读取相应节点的值来获取想要的数据,但是,有时候需要修改config文件的值,这时候就用到了OpenExeC ...
- Android ListView 笔记
ListView以列表的形式展示数据内容. 布局文件如下所示,添加一个ListView. activity_main.xml <?xml version="1.0" enco ...
- Spring 4 官方文档学习(十)数据访问之ORM
http://docs.spring.io/spring/docs/current/spring-framework-reference/html/orm.html 占位用,暂略.