应届生必看-------------走进scala语言基础

1.为什么要学习scala

因为我们之前学的hadoop生态圈都是处理离线计算的
spark是一个在线计算的框架它的底层是scala语言实现所以得先了解scala语言
scala语言的优点

1. 在线计算
2. 基于Java语言,开发效率高,运行效率快

2.scala语言的介绍

scala语言是一门多范式的编程语言,即面向对象也是函数式编程
面向对象:万物皆对象、封装、实例对象、类、继承
函数式编程:面向过程、函数当成编程

3.与java语言的对比

相同点:

1. java和scala可以无缝混编、它们都是基于jvm
2. 二者可以相互调用

不同点

1. scala语言类型自动推断,并如果写类型的话,是写在变量名的后面
2. val 是修饰常量 var是用来变量
3. 支持函数式编程
4. 构造器不一样
5. Java中可以自动默认值,scala中必须手动给默认值
6. scala不需要分号,但是java必须要有
7.  get set 方法自己实现
8. java中的返回值用return scala中不用return 

4.编译工具的安装

1.jdk肯定都有
2.idea开发工具
3.插件安装(离线和在线都可以)
scala-intellij-bin-2017.2.2.zip(一个插件就搞定了)
在这里插入图片描述

在这里插入图片描述

然后中重启一下idea就好了

5.main方法的讲解

在这里插入图片描述

6.常量和变量

定义

常量:是在运行过程中,其值不会发生变化的量 例如:数值3 字母A  修饰的关键字val
变量:是在运行过程中,其值可以发生变化的量 例如:时间,年龄,修饰的关键字var

语法

val  name:Type=变量值
var name:Type=变量值

注意1

类型可以不写,scala可以自动类型推断

注意2变量名必须符合命名规范

1. 不能使用关键字(命名规范和java一样)
2. 字母、下划线、数字、美元符号组成的,并且不能用数字开头
       例如错误示范:val 4_tablename=“t_user”
3. 变量名要做到见名知意,(英文不好可以通过相关软件查询)
4. 用驼峰命名法命名多个单词组成的变量名  
        val tableName="t_user"

7.scala中的数据类型

Any是所有类的超类,也称为顶级类型
AnyVal是代表值类型
AnyRef是代表引用数据类型
Nothing是所有类型的子类型,也称为底部类型。没有一个值是Nothing类型的
在这里插入图片描述
详细介绍类型
在这里插入图片描述

8.懒加载

好处:不占用内存只会在调用时被调动 用lazy修饰的常量
第一次输出的效果
在这里插入图片描述

第二次的效果

在这里插入图片描述

直接就可以一目了然了

9.插值器

scala中有三种插值器
1.在任何字符串前面加上s,就可以直接在字符串中使用变量了
在这里插入图片描述
2.f插值器存在四舍五入的功能
在这里插入图片描述
3. raw插值器:是输入字符串原样,不进行转义
在这里插入图片描述

10.访问修饰符

private:一个类的内部使用
protected:自己类 子类也可以被访问(这个比java更加严格,java同一个包的其他类也可以访问)
public:如果没有指定修饰符,这样的成员在任何地方都可以被访问
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值