前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >一天学完spark的Scala基础语法教程一、基础语法与变量(idea版本)

一天学完spark的Scala基础语法教程一、基础语法与变量(idea版本)

作者头像
红目香薰
发布2022-11-29 19:34:36
发布2022-11-29 19:34:36
92000
代码可运行
举报
文章被收录于专栏:CSDNToQQCodeCSDNToQQCode
运行总次数:0
代码可运行

📋前言📋 💝博客主页:红目香薰_CSDN博客-大数据,计算机理论,MySQL领域博主💝 ✍本文由在下【红目香薰】原创,首发于CSDN✍ 🤗2022年最大愿望:【服务百万技术人次】🤗 💝初始环境地址:【spark环境搭建(idea版本)_红目香薰-CSDN博客】💝

环境需求

环境:win10 开发工具:IntelliJ IDEA 2021.2 maven版本:3.6.3

目录

📋前言📋

环境需求

创建测试类:

基本语法

标识符

Scala 关键字

Scala 注释

空行和空格

换行符

Scala 包

定义包

引用

Scala 数据类型

Scala 基础字面量

整型字面量 

浮点型字面量

布尔型字面量

字符字面量

字符串字面量

多行字符串的表示方法

Null 值

Scala 转义字符

Scala 变量

变量声明

总结:

创建测试类:

【day1/demo1.scala】

这里是有包名(后面有讲述)的

 通过Package可以创建包名

基本语法

Scala 基本语法需要注意以下几点:

  • 区分大小写 -  Scala是大小写敏感的,这意味着标识Hello 和 hello在Scala中会有不同的含义。
  • 类名 - 对于所有的类名的第一个字母要大写。 如果需要使用几个单词来构成一个类的名称,每个单词的第一个字母要大写。 示例:class MyFirstScalaClass
  • 方法名称 - 所有的方法名称的第一个字母用小写。 如果若干单词被用于构成方法的名称,则每个单词的第一个字母应大写。 示例:def myMethodName()
  • 程序文件名 - 程序文件的名称应该与对象名称完全匹配(新版本不需要了,但建议保留这种习惯)。 保存文件时,应该保存它使用的对象名称(记住Scala是区分大小写),并追加".scala"为文件扩展名。 (如果文件名和对象名称不匹配,程序将无法编译)。 示例: 假设"HelloWorld"是对象的名称。那么该文件应保存为'HelloWorld.scala"
  • def main(args: Array[String]) - Scala程序从main()方法开始处理,这是每一个Scala程序的强制程序入口部分。

标识符

Scala 可以使用两种形式的标志符,字符数字和符号。 字符数字使用字母或是下划线开头,后面可以接字母或是数字,符号" Scala 的命名规则采用和 Java 类似的 camel 命名规则,首字符小写,比如 toString。类名的首字符还是使用大写。此外也应该避免使用以下划线结尾的标志符以避免冲突。符号标志符包含一个或多个符号,如+,:,? 等

代码语言:javascript
代码运行次数:0
复制
+ ++ ::: < ?> :->

Scala 关键字

下表列出了 scala 保留关键字,我们不能使用以下关键字作为变量:

abstract

case

catch

class

def

do

else

extends

false

final

finally

for

forSome

if

implicit

import

lazy

match

new

null

object

override

package

private

protected

return

sealed

super

this

throw

trait

try

true

type

val

var

while

with

yield

-

:

=

=>

<-

<:

<%

>:

#

@

Scala 注释

Scala 类似 Java 支持单行和多行注释。多行注释可以嵌套,但必须正确嵌套,一个注释开始符号对应一个结束符号。注释在 Scala 编译中会被忽略,

实例如下:

代码语言:javascript
代码运行次数:0
复制
package day1
/* 这是一个 Scala 程序
    * 这是一行注释
    * 这里演示了多行注释
    */
object demo1 {
  def main(args: Array[String]) {
    // 输出 Hello World
    // 这是一个单行注释
    println("Hello, world!")
  }
}

空行和空格

一行中只有空格或者带有注释,Scala 会认为其是空行,会忽略它。标记可以被空格或者注释来分割。

换行符

Scala是面向行的语言,语句可以用分号(;)结束或换行符。Scala 程序里,语句末尾的分号通常是可选的。如果你愿意可以输入一个,但若一行里仅 有一个语句也可不写。另一方面,如果一行里写多个语句那么分号是需要的。

例如:

代码语言:javascript
代码运行次数:0
复制
package day1

object demo1 {
  def main(args: Array[String]) {
    val s = "菜鸟教程";
    println(s);
    println(s);
  }
}

Scala 包

定义包

Scala 使用 package 关键字定义包,在Scala将代码定义到某个包中有两种方式: 第一种方法和 Java 一样,在文件的头定义包名,这种方法就后续所有代码都放在该包中。

比如:

代码语言:javascript
代码运行次数:0
复制
//包名
package day1
//类名
object demo1 {
  //函数名
  def main(args: Array[String]) {

  }
}

引用

Scala 使用 import 关键字引用包。

代码语言:javascript
代码运行次数:0
复制
//包名
package day1
//引入util下所有
import java.util._
//类名
object demo1 {
  //函数名
  def main(args: Array[String]) {

  }
}

Scala 数据类型

Scala 与 Java有着相同的数据类型,下表列出了 Scala 支持的数据类型:

数据类型

描述

Byte

8位有符号补码整数。数值区间为 -128 到 127

Short

16位有符号补码整数。数值区间为 -32768 到 32767

Int

32位有符号补码整数。数值区间为 -2147483648 到 2147483647

Long

64位有符号补码整数。数值区间为 -9223372036854775808 到 9223372036854775807

Float

32 位, IEEE 754 标准的单精度浮点数

Double

64 位 IEEE 754 标准的双精度浮点数

Char

16位无符号Unicode字符, 区间值为 U+0000 到 U+FFFF

String

字符序列

Boolean

true或false

Unit

表示无值,和其他语言中void等同。用作不返回任何结果的方法的结果类型。Unit只有一个实例值,写成()。

Null

null 或空引用

Nothing

Nothing类型在Scala的类层级的最底端;它是任何其他类型的子类型。

Any

Any是所有其他类的超类

AnyRef

AnyRef类是Scala里所有引用类(reference class)的基类

上表中列出的数据类型都是对象,也就是说scala没有java中的原生类型。在scala是可以对数字等基础类型调用方法的。

Scala 基础字面量

Scala 非常简单且直观。接下来我们会详细介绍 Scala 字面量。

整型字面量 

整型字面量用于 Int 类型,如果表示 Long,可以在数字后面添加 L 或者小写 l 作为后缀。

浮点型字面量

如果浮点数后面有f或者F后缀时,表示这是一个Float类型,否则就是一个Double类型的。

布尔型字面量

布尔型字面量有 true 和 false。 ​​

字符字面量

在 Scala 字符变量使用单引号 ' 来定义,如下:

代码语言:javascript
代码运行次数:0
复制
package day1

object demo1 {
  def main(args: Array[String]) {
    var c='A';
    println(c+0)
  }
}

字符串字面量

在 Scala 字符串字面量使用双引号 " 来定义,如下:

代码语言:javascript
代码运行次数:0
复制
package day1

object demo1 {
  def main(args: Array[String]) {
    println("Hello,\nWorld!")
  }
}

多行字符串的表示方法

多行字符串用三个双引号来表示分隔符,格式为:""" ... """。

实例如下:

代码语言:javascript
代码运行次数:0
复制
package day1

object demo1 {
  def main(args: Array[String]) {
    val str =
      """
                 道路千万条
                 安全第一条
                 行车不规范
                 亲人两行泪
      """;
    print(str);
  }
}

Null 值

空值是 scala.Null 类型。 Scala.Null和scala.Nothing是用统一的方式处理Scala面向对象类型系统的某些"边界情况"的特殊类型。 Null类是null引用对象的类型,它是每个引用类(继承自AnyRef的类)的子类。Null不兼容值类型。

Scala 转义字符

下表列出了常见的转义字符:

转义字符

Unicode

描述

\b

\u0008

退格(BS) ,将当前位置移到前一列

\t

\u0009

水平制表(HT) (跳到下一个TAB位置)

\n

\u000a

换行(LF) ,将当前位置移到下一行开头

\f

\u000c

换页(FF),将当前位置移到下页开头

\r

\u000d

回车(CR) ,将当前位置移到本行开头

\"

\u0022

代表一个双引号(")字符

\'

\u0027

代表一个单引号(')字符

\\

\u005c

代表一个反斜线字符 '\'

0 到 255 间的 Unicode 字符可以用一个八进制转义序列来表示,即反斜线‟\‟后跟 最多三个八进制。 在字符或字符串中,反斜线和后面的字符序列不能构成一个合法的转义序列将会导致 编译错误。

代码语言:javascript
代码运行次数:0
复制
package day1

object demo1 {
  def main(args: Array[String]) {
    println("Hello\tWorld\n\n" );
  }
}


Scala 变量

变量是一种使用方便的占位符,用于引用计算机内存地址,变量创建后会占用一定的内存空间。

基于变量的数据类型,操作系统会进行内存分配并且决定什么将被储存在保留内存中。因此,通过给变量分配不同的数据类型,你可以在这些变量中存储整数,小数或者字母。

变量声明

在学习如何声明变量与常量之前,我们先来了解一些变量与常量。

  • 一、变量: 在程序运行过程中其值可能发生改变的量叫做变量。如:时间,年龄。
  • 二、常量 在程序运行过程中其值不会发生变化的量叫做常量。如:数值 3,字符'A'。

在 Scala 中,使用关键词 "var" 声明变量,使用关键词 "val" 声明常量。

由于Scala是属于弱类型的,故而变量类型不需要单独声明,当然想声明也可以:

代码语言:javascript
代码运行次数:0
复制
val Str : String = "test";//声明类型的变量

声明变量实例如下:

代码语言:javascript
代码运行次数:0
复制
package day1

object demo1 {
  def main(args: Array[String]) {
    var isf=true;//true与false
    var c ='y';//short.Max*2,字符ASCII码
    var i=666;//int最大值21亿
    var l=99999999999999999l;//long类型需要一个小写的【l】结尾
    var f=3.14f;//float需要【f】结尾
    var d=3.1415926;//double不需要
    var s="Hello";
  }
}

总结:

到这里有关spark的Scala基础语法教程一、基础语法与变量(idea版本)就讲解完了。 希望能对大家有所帮助。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-01-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境需求
  • 创建测试类:
  • 基本语法
  • 标识符
  • Scala 关键字
  • Scala 注释
  • 空行和空格
  • 换行符
  • Scala 包
    • 定义包
  • 引用
  • Scala 数据类型
    • Scala 基础字面量
    • 整型字面量 
    • 浮点型字面量
    • 布尔型字面量
    • 字符字面量
    • 字符串字面量
    • 多行字符串的表示方法
    • Null 值
    • Scala 转义字符
  • Scala 变量
    • 变量声明
    • 总结:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档