Scala学习一:语法基础/数据类型/变量

一、基础语法

1.1 命名要点

  1. 区分大小写
  2. 类名 - 对于所有的类名的第一个字母要大写,并且用驼峰式写法
  3. 方法名称 - 所有的方法名称的第一个字母用小写,如果多个单词,后面的单词驼峰式
  4. 程序文件名 - 程序文件的名称应该与对象名称完全匹配(新版本不需要了,但建议保留这种习惯)

1.2 标识符

Scala 可以使用两种形式的标志符,字符数字和符号

1.3 关键字

1.4 Scala注释

支持当行跟多行

1.5 换行符

语句可以用分号(;)结束或换行符

如果一行只有一个语句,可以不写;

如果一行有多个语句,需要写

1.6 Scala包

1.6.1 包的定义
  1. 在文件的头定义包名,这种方法就后续所有代码都放在该包中
scala 复制代码
package com.runoob
class HelloWorld
  1. 在一个文件中定义多个包
scala 复制代码
package com.runoob{
	class HelloWorld
}
1.6.2 包的引用

包的引用可以在任何地方,不需要在顶部

import的效果从引用开始延伸到语句块结束

scala 复制代码
import java.awt.Color
import java.awt._  // 引入包内所有成员
 
def handler(evt: event.ActionEvent) { // java.awt.event.ActionEvent
  ...  // 因为引入了java.awt,所以可以省去前面的部分
}

如果想要引用包中的几个成员,可以使用selector(选取器)

scala 复制代码
import java.awt.{Color, Font}
// 重命名成员
import java.util.{HashMap => JavaHashMap}
// 隐藏成员
import java.util.{HashMap => _, _} // 引入了util包的所有成员,但是HashMap被隐藏了

注意:默认情况下,Scala 总会引入 java.lang._ 、 scala._ 和 Predef._,这里也能解释,为什么以scala开头的包,在使用时都是省去scala.的。

二、Scala数据类型

整数、浮点数、字符、字符串、布尔值、空值

数据类型 描述
Byte 8位有符号补码整数。数值区间为 -128 到 127
Short 16位
Int 32位
Long 64位
Float 32 位, IEEE 754 标准的单精度浮点数
Double 64位
Char 16位无符号Unicode字符
String 字符序列
Boolean true或false
Unit 表示无值,和其他语言中void等同。用作不返回任何结果的方法的结果类型。Unit只有一个实例值,写成()
Null null或空引用
Nothing Nothing类型在Scala的类层级的最底端;它是任何其他类型的子类型
Any Any是所有其他类的超类
AnyRef AnyRef类是Scala里所有引用类(reference class)的基类

2.1 Scala基础字面量

整型字面量

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

如果浮点数后面又f,表示是Float类型,否则就是Double, 0.0, 3.14159f
布尔型字面量
truefalse
符号字面量
字符字面量

'来定义,a\表示转义字符,\n
字符串字面量

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

空值是 scala.Null 类型

Scala.Null和scala.Nothing是用统一的方式处理Scala面向对象类型系统的某些"边界情况"的特殊类型

Null类是null引用对象的类型,它是每个引用类(继承自AnyRef的类)的子类。Null不兼容值类型。

三、Scala变量

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

3.1 变量声明

关键词var声明变量,val声明常量,常量不能修改

scala 复制代码
var myVar:String = "Foo"
val myVal:String = "Too"

3.2 变量类型引用

变量的类型在变量名之后等号之前声明。定义变量的类型的语法格式如下:

scala 复制代码
var VariableName:DataType [=  Initial Value]
val VariableName:DataType [=  Initial Value]

3.3 变量类型引用

在 Scala 中声明变量和常量不一定要指明数据类型,在没有指明数据类型的情况下,其数据类型是通过变量或常量的初始值推断出来的。

所以,如果在没有指明数据类型的情况下声明变量或常量必须要给出其初始值,否则将会报错

scala 复制代码
var myVar = 10;
val myVal = "Hello, Scala!";

3.4 Scala多个变量声明

支持多个变量声明

如果方法返回值是元组,可以使用val来声明一个元祖

scala 复制代码
val xmax, ymax = 100;  // xmax, ymax都声明为100
val pa = (40,"Foo"); //(Int, String) = (40,Foo)

参考连接:https://www.runoob.com/scala/scala-strings.html

相关推荐
Red Red1 小时前
网安基础知识|IDS入侵检测系统|IPS入侵防御系统|堡垒机|VPN|EDR|CC防御|云安全-VDC/VPC|安全服务
网络·笔记·学习·安全·web安全
Natural_yz3 小时前
大数据学习17之Spark-Core
大数据·学习·spark
qq_172805593 小时前
RUST学习教程-安装教程
开发语言·学习·rust·安装
一只小小汤圆3 小时前
opencascade源码学习之BRepOffsetAPI包 -BRepOffsetAPI_DraftAngle
c++·学习·opencascade
虾球xz3 小时前
游戏引擎学习第20天
前端·学习·游戏引擎
LateBloomer7773 小时前
FreeRTOS——信号量
笔记·stm32·学习·freertos
legend_jz3 小时前
【Linux】线程控制
linux·服务器·开发语言·c++·笔记·学习·学习方法
Komorebi.py3 小时前
【Linux】-学习笔记04
linux·笔记·学习
weiabc4 小时前
学习electron
javascript·学习·electron
HackKong5 小时前
小白怎样入门网络安全?
网络·学习·安全·web安全·网络安全·黑客