Scale 语言特点|学习笔记

简介: 快速学习 Scale 语言特点。

开发者学堂课程【Scala 核心编程-基础Scale 语言特点】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/609/detail/8878


Scale 语言特点

 

内容介绍

一、概述

二、特点

三、学习重点

四、动、静态类型编程语言

五、能力培养

 

一、概述

1、定义

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

2、要点

(1)、必然为静态类型

本身已转变为字节码

(2)、必然支持 java 必然支持面向对象

(3)、具有特殊函数式则必然支持函数式功能

 

二、特点

1、定义

Scala 是一门多范式(multi-paradigm)的编程语言,Scala 支持面向对象和函数式编程

(1)、范式

编程的方式

(2)、主要内容

面向对象、函数式

2、运行过程

Scala 源代码(scala)会被编译成 Java 字节码(.class),运行于 JVM 之上,并可调用现有的 Java 类库,实现两种语言的无缝对接(需观察实际情况)。

3、特点

scala 单作为一门语言来看,具有简洁高效的特点(三元运算, ++,--)

(1)、改变

改变1

由于在一般 java 学习的过程中,三元运算运用较多。但 Scala 中不存在三元运算:即使用 if else 对三元运算进行了替换,使得逻辑更为简洁。

改变2

存在混淆可能的语法被删去,如:++、--

(2)、实例

实例1

//scala 中不存在三元运算

val res=if (条件表达式)值 else 值

实例2

/ /java 语言内

int i= 10;

i++;

//scale 语言内不支持如上书写

//scla 语言内:

var i: Int=10

i++ //此书写方式错误

i+=1 //此书写方式正确

以上实例体现了 Scale 对于++、--的简化,使得逻辑更为清晰。

4、java 与 Scala

Scala 在设计时,马丁奥德斯基参考了 Java 的设计思想。故 Scala 源于 java,同时马丁奥德斯基也将函数式编程语言的特点融合到 JAVA 中,因此,在此前学习过 java 后,只需在 Scala 学习过程中理解两者的相同点、不同点,就可快速掌握 Scala 语言。

 

三、学习重点

1、Scala 的特有语法

2、清楚明了 Scala、java 的区别

3、如何规范使用 Scala

 

四、动、静态类型编程语言

从编程语言范围出发,具有两大类语言:动态类型语言、静态类型编程语言。

1、动态编程语言

(1)、属于动态类型的编程语言

javascript、Python、PHP 等

(2)、作用

解释执行。在执行过程中将此句话动态地加载进执行编译器之中进行执行。

2、静态类型编程语言

含义:在执行之前语言类型就已被确定。

 

五、能力培养

在学习 Scala 等其他语言的过程中,掌握对此框架的描述,最终培养表达演说的能力,以达到管理才能的优化。

相关文章
|
机器学习/深度学习 编解码 决策智能
计算机视觉实战(十一)Scale Invariant Feature Transform(SIFT)(附完整代码)
计算机视觉实战(十一)Scale Invariant Feature Transform(SIFT)(附完整代码)
111 0
|
算法 数据处理 图形学
开源项目推荐:Bezier曲线、B-Spline和NURBS的区别与《THE NURBS BOOK 2nd》简介
开源项目推荐:Bezier曲线、B-Spline和NURBS的区别与《THE NURBS BOOK 2nd》简介
2674 0
开源项目推荐:Bezier曲线、B-Spline和NURBS的区别与《THE NURBS BOOK 2nd》简介
|
存储 并行计算 算法
【CUDA学习笔记】第十一篇:FPS1000+的背景减法之目标跟踪(附实践源码下载)(二)
【CUDA学习笔记】第十一篇:FPS1000+的背景减法之目标跟踪(附实践源码下载)(二)
152 0
|
存储 编解码 边缘计算
【CUDA学习笔记】第十一篇:FPS1000+的背景减法之目标跟踪(附实践源码下载)(一)
【CUDA学习笔记】第十一篇:FPS1000+的背景减法之目标跟踪(附实践源码下载)(一)
255 0
|
分布式计算 Java Unix
Scale 概述(下)|学习笔记
快速学习 Scale 概述(下)。
206 0
Scale 概述(下)|学习笔记
|
存储 缓存 前端开发
几个简单的小例子手把手带你入门webgl(二)
实战——绘制个三角形 在进行实战之前,我们先给你看一张图,让你能大概了解,用原生webgl生成一个三角形需要那些步骤: draw 我们就跟着这个流程图一步一步去操作: 初始化canvas 新建一个webgl画布 <canvas id="webgl" width="500" height="500"></canvas> 创建webgl 上下文: const gl = document.getElementById('webgl').getContext('webgl') 创建着色器程序 着色器的程序这些代码,其实是重复的,我们还是先看下图,看下我们到底需要哪些步骤: shader 那我们就跟着这
几个简单的小例子手把手带你入门webgl(二)
|
分布式计算 算法 Java
Scale 概述(上)|学习笔记
快速学习 Scale 概述(上)。
825 0
|
程序员 Python
Python编程:程序员字体YaHei Consolas Hybrid
Python编程:程序员字体YaHei Consolas Hybrid
173 0
|
Java DataX 开发者
Math、Random类为你展现数学之美 | 带你学《Java语言高级特性》之二十
在前几节我们学习了Java基础类库,而在开发过程中难免会碰到数值运算相关的需求。Java为开发者提供了数值操作相关的类,用来支持简单的数学运算,让我们一起来了解一下吧。
|
前端开发
WEBGL学习【十一】光照模型
版权声明:本文为博主原创文章,未经博主允许不得转载。更多学习资料请访问我爱科技论坛:www.52tech.tech https://blog.csdn.net/m0_37981569/article/details/78515844 ...
718 0