IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> scala的简单总结(尚硅谷学习) -> 正文阅读

[大数据]scala的简单总结(尚硅谷学习)

scala的简单总结

一、scala的概述

1.1学习Scala的原因

spark需要scala来编写

1.2scala诞生小故事

创始人:Madin Ordersky

1.3Scala和Java以及JVM的关系图

使用相同的类库、各有自己的编译器、都要转为xxx.class,再到JVM上运行

1.4Scala语言的特点

Scala是一门以java虚拟机(JVM)为运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言。

1)多范式(面对对象和函数式)

2)被编译为java字节码(.class)

3)三元运算符(++ --)

1.5各种操作系统环境下搭建Scala

1.6Scala开发工具介绍

1)IDEA

2)Scala插件

1.7Scala快速入门(idea-hello工程)

1)maven

2)add framework support——引入Scala框架

3)src-main-scala为源文件目录(初次使用需要source root)

1.8Scala执行流程

待补充

1.9Scala注意事项(重)

1)源文件为xxx.scala

2)入口为main()

3)严格区分大小写(重)

4)无需分号,自动加入

5)单行多语句初最后一行都需要分号

1.10Scala转义字符

同C(\t,\r,\,\n……)

1.11Scala语言输出的三种方式

1)字符串加号连接(print(str1 + str2))

2)%传值(类C)

3)$引用变量(类php)

print(s"name = $str1 age = ${num + 1}")

1.12查看源码关联

1)ctrl + b

2)没有(待补充)

1.12注释

1)单行

//……

2)多行

“/* 注释内容 */”

3)文档

多行注释嵌套

1.13良好的编程规范

1)tab 与 shift tab实现缩进

2)cttrl + alt + L实现一键规范

3)运算符两边空格

4)单行不超80字符

二、变量

2.1变量是程序的基本单位

2.2变量的使用

1)声明变量(Scala要求声明变量时初始化)

val | var 变量名 [:变量类型] = 变量值(类型可以省略—类型推导)

var age :Int (或double) = 10

Scala中整数默认为int,小数默认为double

2)注意事项

  • 声明变量时,类型可以省略(编译器自动推导)
  • Scala是强类型语言,类型确定后不能修改
  • val修饰不可改变变量,var修饰可改变变量

3)val对象的状态可以改变(待议)

2.3变量之间的“+”

1)左右为数值时做加法

2)左右为字符串时做连接

2.4数据类型

1)Scala与Java有着相同的数据类型,Scala中的数据类型都是对象

2)Scala类型分为两大类AnyVal(值类型)与AnyRef(引用类型)

3)数据类型一栏图

image-20211003171407703

几点说明

Null是一个特别类型,只有一个null值

Nothing是所有类的子类,常用它返回任意值或函数,常异常返回值

def sayhello :Nothing = {

? throw new Exception(“抛出异常”)

}

4)Scala中支持低精度值向高精度值自动转换(隐式转换)

2.5整数类型

Bety | Short | Int | Long (声明为Long型时数字后加“l | L”)

2.6浮点类型

Float | Double (声明为Float,时数字后加“f | F”)

2.7字符类型

char字符 | Unicode字符

使用细节

char----‘’单引号

转义字符-----\

char类型可以进行计算(有自己的Unicode)

2.8布尔类型

值为 ture | false (占一个字节)

2.9Null类型、Unit类型、Nothing类型使用技巧

待补充

2.10值类型转换

1)隐式转换

2)自动提升原则

3)byte,short,char 他们三者可以计算,在计算时首先转换为 int 类型

2.11高级隐式转换和隐式函数

2.12强制类型转换

将精度大的转换为精度小的,可能造成精度溢出

scala : var num : Int = 2.7.toInt //对象

Char 类型可以保存 Int 的常量值,但不能保存 Int 的变量值,需要强转

Byte 和 Short 类型在进行运算时,当做 Int 类型处理

2.13值类型和 String 类型的转换

1)基本类转String类

语法: 将基本类型的值+"" 即可

eg;val num = d1 + “” //以后看到有下划线,就表示编译器做了转换

2)String类型转其他类型

val num = d1.toSting

3)注意

  • 确保String类型有效

2.14命名规范

1)标识符;和Java一样

2)包名:尽量采取有意义的包名,简短,有意义

3) 变量名、函数名 、方法名 采用驼峰法

4)注意关键字

三、运算符

四、程序流程控制

五、函数式编程基础

六、面向对象编程(基础)

七、面向对象编程(中级)

八、面向对象编程(高级)

九、隐式转换与隐式值

十、数据结构(上)

十一、数据结构(下)

十二、模式匹配

十三、函数式编程(高级)

十四、使用递归的方法去思考和编程

名,简短,有意义

3) 变量名、函数名 、方法名 采用驼峰法

4)注意关键字

三、运算符

四、程序流程控制

五、函数式编程基础

六、面向对象编程(基础)

七、面向对象编程(中级)

八、面向对象编程(高级)

九、隐式转换与隐式值

十、数据结构(上)

十一、数据结构(下)

十二、模式匹配

十三、函数式编程(高级)

十四、使用递归的方法去思考和编程

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章           查看所有文章
加:2021-10-04 12:55:11  更:2021-10-04 12:58:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:42:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码