您现在的位置是:首页 >技术交流 >Scala学习(一)网站首页技术交流

Scala学习(一)

肥大毛 2024-06-14 17:17:40
简介Scala学习(一)

1.什么是Scala

Scala将面向对象和函数式编程结合成一种简洁的高级语言。Scala的静态类型有助于避免复杂应用程序中的错误。

1.1 为什么要学习Scala?

Spark基于内存的大数据计算框架,而Spark就是Scala开发的。所以为了学习好Spark需要掌握Scala语言。

1.2 Scala特点

Scala是一门多范式的编程语言,Scala支持面向对象和函数式编程
Scala源代码会被编译成java字节码.class,然后运行在JVM上,并且可以调用现有的java类库,实现两种语言的无缝对接
Scala单作为一门编程语言来看,非常简洁高效
Scala参照了java的设计思想

2.伴生类和伴生对象

在scala中没有static关键字,使用object关键字来实现静态方法的功能。
class用来定义一个类。

2.1.用Scala写一个HelloWorld程序

在这里插入图片描述
Scala使用伴生对象来表示静态的属性和方法,object中的所有属性和方法默认都是静态的。
在scala中伴生类和伴生对象加起来等于java的一个类
在这里插入图片描述
伴生对象也可以单独存在,如果伴生对象单独存在的话,就叫做单例对象。

scala文件在编译后会生成.class字节码文件,因为scala是通过伴生对象object来实现静态的,所以在编译后会生成两个文件。HelloScala$.class用于存放静态代码,而HelloScala.class存放的是伴生类中的代码。

在这里插入图片描述
如果Scala代码中只依赖Java中的库,在cmd中可以通过java来直接运行scala的字节码文件,否则java要添加scala的类库。

3.Scala中的变量和注释

3.1 注释

单行注释:
多行注释:
文档注释:
和java中注释用法一致

3.2 变量和常量

常量:在程序执行的过程中,其值不会被改变的变量
java中的final如果加static才会被放入到常量池中,否则会作为不可修改的变量存储在堆栈中。
在这里插入图片描述
写在object伴生对象中才是常量,写在main方法中不属于常量

var和val的区别

val是不可变的,var修饰的变量的值是可以修改改变的

变量使用规则:
    //1.声明变量的时候,类型是可以进行省略的,编译器自动推导
    //只能推断固定的类型
    val c=30;//此处的c为int类型,使用类型推断
    //2.类型确定之后,就不能修改,scala是强类型语言

在这里插入图片描述

//3.声明变量的时候,必须要有初始值
//4.在定义或者声明一个变量的时候,可以使用var或val来修饰,var修饰的变量可以改变,而val修饰的变量是不能进行修改的
//5.var修饰的对象引用可以改变,val修饰的对象不可以改变,但是对象的状态(值)却是可以进行改变的。

在这里插入图片描述

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。