学好scala的开山之作-基础篇

本文介绍了Scala的基础知识,包括其源自Java、在大数据领域的应用、多范式编程优势。详细讲解了Scala的常量变量、关键字列表、数据类型,特别是字符串插值的用法。还探讨了Scala的语句控制,如if语句和循环控制,并举例说明了循环中断和for循环的返回值。
摘要由CSDN通过智能技术生成

一、scala简介

1.Scala源自Java
  • Scala构建在JVM之上
  • Scala与Java兼容、互通
2.Scala的优势
  • 多范式编程:面向对象编程、函数式编程
  • 表达能力强,代码精简
3.大数据与Scala
  • Spark采用Scala语言设计
  • 提供的API更加优雅
  • 基于JVM的语言更融入Hadoop生态圈

二、Scala概述

  • 面向对象特性

1.每个值都是对象
2.对象的数据类型和行为由类(Class)和特征(Trait,类似于interface)描述
3.利用特征实现混入式多重继承

  • 函数式编程

1.每个函数都是一个值
2.支持高阶函数、柯里化(currying)、样例类(case class)及模式匹配……

  • Scala是静态的,小众型的语言
  • 扩展性:隐式类、字符串插值

1.Scala的常量与变量

常量:val
赋值后不可以改变,类似于Java中的final变量

  • val 常量名称:类型=xxx
val a :int=10

变量:var
赋值后可以改变,生命周期中可以被多次赋值

  • var 变量名称:类型=xxx
var b:string="luoxin"
b="lijia"

注意:一般无需显示指定类型(可写可不写),Scala编译器会自动推断出类型

2.scala关键字列表

在这里插入图片描述

3.Scala数据类型

Scala的数据类型跟Java类似
在这里插入图片描述
Scala数据类型层次结构

  • any:所有数据类型的父类
  • anyrval:所有数值类型的父类
  • anyref:所有引用值类型的父类
  • unit:表示无值,相当于java的void
  • nothing:所有类型的子类,无权力
  • null:表示空引用或null,比nothing有权力

在这里插入图片描述

4.字符串插值

S插值器:允许将变量引用、表达式直接插入字面字符中
会把$后的值完整的输出,可以当作变量看待

val name="James"
println(s"Hello,$name")	//Hello,James
println(s"1+1=${1+1}") 	//1+1=2  

f值插值器:只会输出选取的部分

var a=5.2364
println(f"$a%2.3f") 
输出结果为5.236
println
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值