scala入门

本文介绍Scala编程语言的基础知识,包括变量声明、数据类型、集合操作及数组处理等内容,并提供了丰富的示例帮助理解。

Scala 是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。

Scala 运行在Java虚拟机上,并兼容现有的Java程序。

Scala 源代码被编译成Java字节码,所以它可以运行于JVM之上,并可以调用现有的Java类库。

OK,干货,开始。

学习这门语言之前最好有其他的开发语言基础,否则会闷逼的

1 .变量声明

scala和JavaScript一样是弱语言类型

变量类型:val、var

  • val :常量 (推荐)
    类似java中的final修饰符,具有不可变性
  • var :变量 可改变值

2 .数据类型 (前7种是值类型)

数据类型描述
Byte8位有符号补码整数。数值区间为 -128 到 127
Short16位有符号补码整数。数值区间为 -32768 到 32767
Int32位有符号补码整数。数值区间为 -2147483648 到 2147483647
Long64位有符号补码整数。数值区间为 -9223372036854775808 到 9223372036854775807
Float32位IEEE754单精度浮点数
Double64位IEEE754单精度浮点数
Char16位无符号Unicode字符, 区间值为 U+0000 到 U+FFFF
String字符序列
Booleantrue或false
Unit表示无值,和其他语言中void等同。用作不返回任何结果的方法的结果类型。Unit只有一个实例值,写成()。
Nullnull 或空引用
NothingNothing类型在Scala的类层级的最低端;它是任何其他类型的子类型。
AnyAny是所有其他类的超类
AnyRefAnyRef类是Scala里所有引用类(reference class)的基类

3 .集合三大类

  • seq(序列)
  • set(集)
  • map(映射)
1.声明一个List集合,scala会自动判断list集合里值得类型
val list1 = List(1,2,3,4) 
结果 list1: List[Int] = List(1, 2, 3, 4)

2.在list1集合“前面”插入一个数
val list2 = 0 :: list1
结果 list2: List[Int] = List(0, 1, 2, 3, 4)
也可以写成
val list3 = list1.::(0)
结果 list3: List[Int] = List(0, 1, 2, 3, 4)
亦或者
val list4 = 0 +: list1
结果 list4: List[Int] = List(0, 1, 2, 3, 4)
val list5 = list1.+:(0) 
结果 list5: List[Int] = List(0, 1, 2, 3, 4)

3.在list1集合“后面”插入一个数 (注意:和+的位置)
val list6 = list1 :+ 5 
结果 list6: List[Int] = List(1, 2, 3, 4, 5)
同理
val list7 = list1.:+(5)
结果 list7: List[Int] = List(1, 2, 3, 4, 5)

4.++
val list8 = List(5,6,7,8)
val list9 = list1 ++ list8
结果 list9: List[Int] = List(1, 2, 3, 4, 5, 6, 7, 8)

所以说 :: 是一个方法?Excuse me?

实现方式有很多种,觉得哪个好记就用哪个吧,也不知道这位开发者是多无聊啊

4 .数组

导入需要的包
import scala.collection.mutable.ArrayBuffer

定长数组
// 提一下:如果创建对象的时候,省略new关键字,需要定义对应的apply方法

val a = Array[Int](10)
输出:a: Array[Int] = Array(10)
val b = new Array[String](5)
输出:b: Array[String] = Array(null, null, null, null, null)
val c = Array("Mary","Tom","Mike")
输出:c: Array[String] = Array(Mary, Tom, Mike)
val d = Array(1,2,3,4,5)
输出:d: Array[Int] = Array(1, 2, 3, 4, 5)

可能你已经注意到了,在声明变量和赋值语句后,并没有使用分号,在Scala中,仅当同一行代码存在多条语句的时候,才需要用分号隔开。

3 .for循环

4 .while循环

5 .do while 循环

6 .foreach进行迭代

7 .异常

8 .关键字yield

类中的apply方法:
这个方法在scala中比较特殊,类中定义了apply的方法后,调用这个方法不需要显示的写apply。直接写”实例名(参数列表)”的形式就好。
例如:
tuple(1)事实上是调用了tuple.apply(1)
List(1,2,3,4)事实上是调用了List(1,2,3,4)

源码地址: https://pan.quark.cn/s/a4b39357ea24 欧姆龙触摸屏编程软件MPTST 5.02是专门为欧姆龙品牌的工业触摸屏而研发的编程解决方案,它赋予用户在直观界面上构建、修改以及排错触摸屏应用程序的能力。 该软件在工业自动化领域具有不可替代的地位,特别是在生产线监视、设备操控以及人机互动系统中发挥着核心作用。 欧姆龙MPTST(Machine Process Terminal Software Touch)5.02版本配备了多样化的功能,旨在应对不同种类的触摸屏项目要求。 以下列举了若干核心特性:1. **图形化编程**:MPTST 5.02采用图形化的编程模式,允许用户借助拖拽动作来设计屏幕布局,设定按钮、滑块、指示灯等组件,显著简化了编程流程,并提升了工作效率。 2. **兼容性**:该软件能够适配欧姆龙的多个触摸屏产品线,包括CX-One、NS系列、NJ/NX系列等,使用户可以在同一个平台上完成对不同硬件的编程任务。 3. **数据通信**:MPTST 5.02具备与PLC(可编程逻辑控制器)进行数据交互的能力,通过将触摸屏作为操作界面,实现生产数据的显示与输入,以及设备状态的监控。 4. **报警与事件管理**:软件中集成了报警和事件管理机制,可以设定多种报警标准,一旦达到预设条件,触摸屏便会展示对应的报警提示,助力操作人员迅速做出响应。 5. **模拟测试**:在设备实际连接之前,MPTST 5.02支持用户进行脱机模拟测试,以此验证程序的正确性与稳定性。 6. **项目备份与恢复**:为了防止数据遗失,MPTST 5.02提供了项目文件的备份及还原功能,对于多版本控制与团队协作具有显著价值。 7. **多语言支持**:针对全球化的应...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值