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基础语法 区分大小写 类名 - 对于所有的类名的第一个字母要大写.如果需要使用几个单词来构成一个类的名称,每个单词的第一个字母要大写. 方法名称 - 所有的方法名称的第一个字母用小写. ...
随机推荐
- 第一个struts程序的配置过程
然后输入project-name,比如说“test",点finish,配置web.xml,这里的org.apache.struts.action.ActionServlet就在struts- ...
- sqlserver 用户名创建 及权限配置
打开SQL Server2008,以windows身份验证模式登陆(其他版本同理) 在"对象资源管理器"中展开"安全性",右击"登录名",在 ...
- poj2018(高精度二分+dp)
题意:给你n个数,要你在这n个数里面找到一些连续的数,这些数的数量大于等于m,并且他们的平均值在这n个数里面是最大的....... 思路:先把n个数的最大最小值确定,然后二分枚举平均值,对于每一个连续 ...
- FireFox火狐不能设置新标签页
问题:已经在Tab Mix Plus中设置了新建标签页为自定义的网址,但依然没用. 百度很多都是让改about:config中的browser.newtab.url,然而这并没卵用. 办法:https ...
- linux中mysql表名默认区分大小写导致表找不到的问题
天将window的项目迁移到linux上面,然后登录时一直报用户表找不到的错误信息. 检查发现数据库中的表名是m_user, 后来才想起来是大小写问题, 找到问题原因,解决方案如下: 修改/etc/m ...
- mongodb查询之从多种分类中获取各分类最新一条记录
mongodb查询之从多种分类中获取各分类最新一条记录 2017年04月06日 13:02:47 monkey_four 阅读数:6707更多 个人分类: MongoDBJavaScript 文章 ...
- centos7+ docker1.12 实践部署docker及配置direct_lvm
前言 Docker现在在后端是那么的火热..尤其当笔者了解了docker是什么.能做什么之后,真的是感觉特别的exciting,便迫不及待的去实践部署一下. 但是在实际部署中,因为笔者使用的是阿里云e ...
- linux访问ftp服务器命令
在linux访问时输入 用户名 anonymous 密码直接回车可以匿名登录 如果传输非文本,先输入bianry,然后再get就可以了 比如 ftp> get 5-4.tif 227 Enter ...
- 使用子查询可提升 COUNT DISTINCT 速度 50 倍
注:这些技术是通用的,只不过我们选择使用Postgres的语法.使用独特的pgAdminIII生成解释图形. 很有用,但太慢 Count distinct是SQL分析时的祸根,因此它是我第一篇博客的不 ...
- jQuery客户端分页
01 <script src="/js/jquery-1.4.1.js" type="text/javascript"></script> ...