Scala是一门基于JVM的静态类型高级语言,兼有面向对象和函数式编程两大特点,可视作Java的扩展和延申,不仅运行效率高且语法简洁高效,对程序员更为友好。它的很多特性对于集合类型数据处理有先天优势,而这恰恰是大数据处理的基础。 如今大数据技术蓬勃发展,Spark作为大数据处理的核心框架,是从业人员需要掌握的工具,它的底层代码就由Scala编写,同时提供了功能强大的Scala API,Flink等大数据框架同样提供了完整的Scala API,掌握Scala已成为学习大数据技术的必备技能! 尚硅谷精心打造了大数据技术之Scala课程,以后续Spark学习和大数据项目应用为目标,结合众多具体的编程案例,系统详细地介绍了Scala的语法结构和语言特性。 本套视频教程分为三大部分:基础篇、核心篇和扩展篇。 1. 基础篇:Scala入门介绍和基本语法讲解,内容包括:Scala语言的特点和发展历史、变量和数据类型、运算符以及流程控制; 2. 核心篇:Scala的核心特性以及与大数据紧密相关的集合操作,内容包括:函数式编程、面向对象编程以及集合数据类型; 3. 扩展篇:Scala的一些其它特色讲解,主要包括:模式匹配、异常处理、隐式转换以及泛型等。 本套视频教程采用Scala 2.12版本,以项目为导向,内容详尽,通过案例驱动,由浅入深,通俗易懂,即使编程小白也可快速上手!学习需具备Java语言基础,教程提供全套视频、笔记、代码、资料,总计25小时+。
视频目录 001.尚硅谷_Scala-课程简介002.尚硅谷_Scala-Scala概述(一)-Scala发展历史003.尚硅谷_Scala-Scala概述(二)-Scala和Java的关系004.尚硅谷_Scala-Scala概述(三)-Scala特点总结005.尚硅谷_Scala-Scala环境搭建(一)-Scala安装和交互式命令行测试006.尚硅谷_Scala-Scala环境搭建(二)-Scala源文件编写和运行007.尚硅谷_Scala-Scala环境搭建(三)-Scala编译结果的反编译深入分析008.尚硅谷_Scala-在IDE中编写HelloWorld(一)-项目创建和环境配置009.尚硅谷_Scala-在IDE中编写HelloWorld(二)-编写代码010.尚硅谷_Scala-在IDE中编写HelloWorld(三)-代码中语法的简单说明011.尚硅谷_Scala-在IDE中编写HelloWorld(四)-伴生对象的扩展说明012.尚硅谷_Scala-在IDE中编写HelloWorld(五)-关联源码和查看官方指南013.尚硅谷_Scala-变量和数据类型(一)-注释和基本编程习惯014.尚硅谷_Scala-变量和数据类型(二)-变量和常量015.尚硅谷_Scala-变量和数据类型(三)-标识符016.尚硅谷_Scala-变量和数据类型(四)-字符串017.尚硅谷_Scala-变量和数据类型(五)-控制台标准输入018.尚硅谷_Scala-变量和数据类型(六)-读写文件019.尚硅谷_Scala-变量和数据类型(七)-数据类型系统020.尚硅谷_Scala-变量和数据类型(八)-整型和浮点类型021.尚硅谷_Scala-变量和数据类型(九)-字符和布尔类型022.尚硅谷_Scala-变量和数据类型(十)-空类型023.尚硅谷_Scala-变量和数据类型(十一)-Unit类型的源码实现024.尚硅谷_Scala-变量和数据类型(十二)-类型转换(一)-Java类型转换复习025.尚硅谷_Scala-变量和数据类型(十二)-类型转换(三)-Scala自动类型转换026.尚硅谷_Scala-变量和数据类型(十二)-类型转换(四)-Scala强制类型转换027.尚硅谷_Scala-变量和数据类型(十二)-类型转换(五)-强转溢出面试题028.尚硅谷_Scala-运算符(一)-算术运算符029.尚硅谷_Scala-运算符(二)-比较运算符030.尚硅谷_Scala-运算符(三)-逻辑运算符031.尚硅谷_Scala-运算符(四)-赋值运算符032.尚硅谷_Scala-运算符(五)-位运算符033.尚硅谷_Scala-运算符(六)-运算符的本质034.尚硅谷_Scala-流程控制(一)-条件分支(一)-If-Else常规用法035.尚硅谷_Scala-流程控制(一)-条件分支(二)-If-Else的返回值036.尚硅谷_Scala-流程控制(一)-条件分支(三)-嵌套分支037.尚硅谷_Scala-流程控制(二)-For循环(一)-范围遍历038.尚硅谷_Scala-流程控制(二)-For循环(二)-不包含边界的范围遍历039.尚硅谷_Scala-流程控制(二)-For循环(三)-集合遍历040.尚硅谷_Scala-流程控制(二)-For循环(四)-循环守卫041.尚硅谷_Scala-流程控制(二)-For循环(五)-循环步长042.尚硅谷_Scala-流程控制(二)-For循环(六)-循环嵌套043.尚硅谷_Scala-流程控制(二)-For循环(七)-循环引入变量044.尚硅谷_Scala-流程控制(二)-For循环(八)-练习-输出九层妖塔045.尚硅谷_Scala-流程控制(二)-For循环(九)-for循环返回值046.尚硅谷_Scala-流程控制(三)-While循环047.尚硅谷_Scala-流程控制(四)-循环中断048.尚硅谷_Scala-函数式编程(一)-函数式编程思想049.尚硅谷_Scala-函数式编程(二)-函数基础(一)-函数和方法050.尚硅谷_Scala-函数式编程(二)-函数基础(二)-函数定义051.尚硅谷_Scala-函数式编程(二)-函数基础(三)-函数参数特殊用法052.尚硅谷_Scala-函数式编程(二)-函数基础(四)-函数至简原则053.尚硅谷_Scala-函数式编程(三)-函数高级(一)-匿名函数(一)-概念及简化规则054.尚硅谷_Scala-函数式编程(三)-函数高级(一)-匿名函数(二)-示例055.尚硅谷_Scala-函数式编程(三)-函数高级(二)-高阶函数(一)-函数作为值传递056.尚硅谷_Scala-函数式编程(三)-函数高级(二)-高阶函数(二)-函数作为参数传递057.尚硅谷_Scala-函数式编程(三)-函数高级(二)-高阶函数(三)-函数作为返回值058.尚硅谷_Scala-函数式编程(三)-函数高级(二)-高阶函数(四)-应用案例059.尚硅谷_Scala-函数式编程(三)-函数高级(三)-扩展练习(一)-匿名函数060.尚硅谷_Scala-函数式编程(三)-函数高级(三)-扩展练习(二)-函数作为返回值061.尚硅谷_Scala-函数式编程(三)-函数高级(四)-闭包(一)-概念和原理062.尚硅谷_Scala-函数式编程(三)-函数高级(四)-闭包(二)-具体应用063.尚硅谷_Scala-函数式编程(三)-函数高级(四)-柯里化064.尚硅谷_Scala-函数式编程(三)-函数高级(五)-递归(一)-概念和实现065.尚硅谷_Scala-函数式编程(三)-函数高级(五)-递归(二)-尾递归优化066.尚硅谷_Scala-函数式编程(三)-函数高级(六)-控制抽象(一)-传值参数067.尚硅谷_Scala-函数式编程(三)-函数高级(六)-控制抽象(二)-传名参数068.尚硅谷_Scala-函数式编程(三)-函数高级(六)-控制抽象(三)-自定义While循环069.尚硅谷_Scala-函数式编程(三)-函数高级(七)-惰性加载070.尚硅谷_Scala-面向对象(一)-包(一)-声明和访问071.尚硅谷_Scala-面向对象(一)-包(二)-包对象072.尚硅谷_Scala-面向对象(一)-包(三)-导包说明073.尚硅谷_Scala-面向对象(二)-类和对象074.尚硅谷_Scala-面向对象(三)-封装(一)-访问权限075.尚硅谷_Scala-面向对象(三)-封装(二)-构造器076.尚硅谷_Scala-面向对象(三)-封装(三)-构造器参数077.尚硅谷_Scala-面向对象(四)-继承078.尚硅谷_Scala-面向对象(五)-多态079.尚硅谷_Scala-面向对象(六)-抽象类(一)-抽象属性和方法080.尚硅谷_Scala-面向对象(六)-抽象类(二)-匿名子类081.尚硅谷_Scala-面向对象(七)-伴生对象(一)-概念和应用082.尚硅谷_Scala-面向对象(七)-伴生对象(二)-单例设计模式083.尚硅谷_Scala-面向对象(八)-特质(一)-基本概念和用法084.尚硅谷_Scala-面向对象(八)-特质(二)-特质的混入085.尚硅谷_Scala-面向对象(八)-特质(三)-特质的叠加086.尚硅谷_Scala-面向对象(八)-特质(四)-钻石问题的特质叠加087.尚硅谷_Scala-面向对象(八)-特质(五)-特质和抽象类的区别088.尚硅谷_Scala-面向对象(八)-特质(六)-自身类型089.尚硅谷_Scala-面向对象(九)-扩展内容(一)-类型检测和转换090.尚硅谷_Scala-面向对象(九)-扩展内容(二)-枚举类和应用类091.尚硅谷_Scala-集合(一)-集合类型系统092.尚硅谷_Scala-集合(二)-数组(一)-不可变数组(一)-创建数组093.尚硅谷_Scala-集合(二)-数组(一)-不可变数组(二)-访问和修改元素094.尚硅谷_Scala-集合(二)-数组(一)-不可变数组(三)-遍历数组095.尚硅谷_Scala-集合(二)-数组(一)-不可变数组(四)-添加元素096.尚硅谷_Scala-集合(二)-数组(二)-可变数组(一)-创建数组097.尚硅谷_Scala-集合(二)-数组(二)-可变数组(二)-访问数组元素098.尚硅谷_Scala-集合(二)-数组(二)-可变数组(三)-添加元素099.尚硅谷_Scala-集合(二)-数组(二)-可变数组(四)-删除元素100.尚硅谷_Scala-集合(二)-数组(三)-可变数组与不可变数组的转化101.尚硅谷_Scala-集合(二)-数组(四)-多维数组102.尚硅谷_Scala-集合(三)-列表(一)-不可变列表(一)-创建列表103.尚硅谷_Scala-集合(三)-列表(一)-不可变列表(二)-访问和遍历元素104.尚硅谷_Scala-集合(三)-列表(一)-不可变列表(三)-添加元素105.尚硅谷_Scala-集合(三)-列表(一)-不可变列表(四)-合并列表106.尚硅谷_Scala-集合(三)-列表(二)-可变列表107.尚硅谷_Scala-集合(四)-Set集合(一)-不可变Set108.尚硅谷_Scala-集合(四)-Set集合(二)-可变Set109.尚硅谷_Scala-集合(五)-Map集合(一)-不可变Map110.尚硅谷_Scala-集合(五)-Map集合(二)-可变Map111.尚硅谷_Scala-集合(六)-元组112.尚硅谷_Scala-集合(七)-集合常用函数(一)-通用属性和操作113.尚硅谷_Scala-集合(七)-集合常用函数(二)-衍生集合(一)-单一集合操作114.尚硅谷_Scala-集合(七)-集合常用函数(二)-衍生集合(二)-两个集合操作115.尚硅谷_Scala-集合(七)-集合常用函数(三)-简单计算函数116.尚硅谷_Scala-集合(七)-集合常用函数(四)-高级计算函数(一)-简介117.尚硅谷_Scala-集合(七)-集合常用函数(四)-高级计算函数(二)-集合转换操作(Map类)118.尚硅谷_Scala-集合(七)-集合常用函数(四)-高级计算函数(三)-集合转换操作(Reduce)119.尚硅谷_Scala-集合(七)-集合常用函数(四)-高级计算函数(四)-集合转换操作(Fold)120.尚硅谷_Scala-集合(七)-集合常用函数(五)-应用案例(一)-合并Map121.尚硅谷_Scala-集合(七)-集合常用函数(五)-应用案例(二)-普通WordCount122.尚硅谷_Scala-集合(七)-集合常用函数(五)-应用案例(三)-复杂WordCount123.尚硅谷_Scala-集合(八)-队列Queue124.尚硅谷_Scala-集合(九)-并行集合125.尚硅谷_Scala-模式匹配(一)-基本概念和用法126.尚硅谷_Scala-模式匹配(二)-模式守卫127.尚硅谷_Scala-模式匹配(三)-模式匹配的不同用法(一)-匹配常量128.尚硅谷_Scala-模式匹配(三)-模式匹配的不同用法(二)-匹配类型129.尚硅谷_Scala-模式匹配(三)-模式匹配的不同用法(三)-匹配数组130.尚硅谷_Scala-模式匹配(三)-模式匹配的不同用法(四)-匹配列表131.尚硅谷_Scala-模式匹配(三)-模式匹配的不同用法(五)-匹配元组(一)-基本用法132.尚硅谷_Scala-模式匹配(三)-模式匹配的不同用法(五)-匹配元组(二)-变量声明133.尚硅谷_Scala-模式匹配(三)-模式匹配的不同用法(五)-匹配元组(三)-for推导式中变量134.尚硅谷_Scala-模式匹配(三)-模式匹配的不同用法(六)-匹配对象135.尚硅谷_Scala-模式匹配(三)-模式匹配的不同用法(七)-样例类136.尚硅谷_Scala-模式匹配(四)-偏函数137.尚硅谷_Scala-异常处理138.尚硅谷_Scala-隐式转换(一)-基本概念和类型139.尚硅谷_Scala-隐式转换(二)-隐式函数和隐式类140.尚硅谷_Scala-隐式转换(三)-隐式参数141.尚硅谷_Scala-泛型(一)-概念和意义142.尚硅谷_Scala-泛型(二)-逆变和协变143.尚硅谷_Scala-泛型(三)-上下限