Scala编程语言day1

发布时间 2024-01-13 19:54:23作者: 辞楠

一、Scala概述

Scala是一种运行在JVM上的函数式的面向对象语言,它集成了面向对象编程和面向函数式编程的各种特性,以及更高层的并发模型

Scala的语言特点

Scala是兼容的:兼容Java,可以访问庞大的Java类库

Scala是精简的:Scala表达能力强,开发速度快

Scala是高级的:Scala可以让你的程序保持短小,清晰,看起来更简洁,更优雅

Scala是静态类型的:Scala拥有非常先进的静态类型系统

Scala可以开发大数据应用程序:例如Spark程序、flink程序等等

Scala程序和Java程序对比

Java源代码通过javac编译,编译结果为Java字节码、Java类库

Scala源代码通过scalac编译,编译结果为Java字节码、Java类库、Scala类库

Scala环境搭建

JDK

Scala SDK  下载地址:https://www.scala-lang.org/download/

IDEA 在 plugins 中安装 Scala 插件  下载地址:https://plugins.jetbrains.com/plugin/1347-scala/versions

 Scala解释器

启动Scala解释器:win + R 打开cmd  输入Scala

停止运行Scala:输入 :quit scala

二、第二章

输出

换行输出 println();  不换行输出print();

分号:单行的分号可写可不写,但是多行代码中间的分号不可省略,最后一个代码可省略

常量

整型、浮点型、字符型、字符串、布尔常量、空常量

变量

定义 val/var 变量名:变量类型 = 初始值

val/var的区别:val定义的是不可重新赋值的变量,var定义的是可重新赋新值的变量

使用类型推断来定义变量: val name=初始值;

字符串

双引号:var name="hadoop" ;   println(name+name.length);

通过插值表达式来定义字符串: var 变量名=s"${变量/表达式}字符串"

三引号用于要保存大段文本,可以保持换行

惰性赋值

当有一些变量保存的数据较大时,而这些数据又不需要马上加载到JVM内存中。就可以使用惰性赋值来提高效率

定义:lazy var/val 变量名=“要输入的内容”

标识符

标识符就是用来给变量、方法、类等起名字的

命名规则:1.必须由大小写英文字母、数字、下划线_,美元符$,这四部分任意组成

     2.数字不能开头

     3.不能和关键字重名

     4.最好见名知意

命名规范:变量或方法从第二个单词开始,每个单词的首字母都大写,其他字母全部小写

     类或特质每个单词的首字母都大写,其他所有字母全部小写

     包全部小写,一般是公司的域名反写,多级包之间用.隔开

数据类型

Scala中所有的类型都使用大写字母开头  整型使用Int而不是Integer  Scala中默认的整型是Int,默认的浮点型是Double

类型层次结构

类型转换

自动类型转换:范围小的数据类型值会自动转换为范围大的数据类型值

自动类型转换从小到大分别为:Byte,Short,Char->Int->Long->Float->Double

强制类型转换:范围大的数据类型通过一定的格式可以将其转换为范围小的数据类型值

val/var 变量名:数据类型=具体的值.toXXX

值类型和String类型之间的相互转换

值类型转换为String类型:1.val/var 变量名:String=值类型数据+""

            2.val/var 变量名:String=值类型数据.toString

String类型转换为值类型:val/var 变量名:值类型=字符串值.toXXX

String转换为Char不是toChar而是toCharArry

键盘录入

1.导包

import scala.io.StdIn

2.通过StdIn.readXX()来接收用户键盘录入的数据

字符串:StdIn.readLine()

Int:StdIn.readInt()

Double:StdIn.readDouble()

第三章运算符

算数运算符:+、-、*、/、%

赋值运算符:=、+=、-=、*=、/=、%=

关系运算符:>、>=、<、<=、==、!=

逻辑运算符:&&、||、!

位运算符

二进制的数据,最前面的那一位叫:符号位,0表示正数,1表示负数。其他位叫数值位

原码反码补码

正数的原码反码补码都一样

负数的反码是原码的符号位不变,数值位安慰取反。    负数的补码是反码+1