Scala--换上新衣服的Java

说明:本文章适用于有 java 基础者

一、数据类型
1.1 Scala 数据类型

整数类型(byte\short\int\long)、浮点类型(float\double)、字节类型(char)、布尔类型(boolean)、 Unit 类型、Null 类型和 Nothing 类型

Scala中一切数据都是对象,都是Any的子类;

Scala中数据类型分为两大类:数值类型(AnyVal)、引用类型(AnyRef),不管是值类型还是引用类型都是 对象;

Scala数据类型仍然遵守,低精度的值类型向高精度值类型,自动转换;

Scala 中的 StringOps 是对 Java 中的 String 增强;

Unit:对应Java中的void,用于方法返回值的位置,表示方法没有返回值。Unit是 一个数据类型,只有一个象就是()。Void不是数据类型,只是一个关键字;

Null:一个类型,只有一个对象就是null。它是所有引用类型(AnyRef)的子类;

Nothing:所有数据类型的子类,主要用在一个函数没有明确返回值时使用,因为这样我们可以把抛出的返回值,返回给任何的变量或者函数。

类型描述
Unit表示无值,和其他语言中void等同。用作不返回任何结果的方法的结果类型。Unit只有一个实例值,写成()
Nullnull 或空引用,可以赋值给任意引用类型,但是不能赋值给值类型
NothingNothing类型在Scala的类层级的最底端;它是任何其他类型的子类型
AnyAny是所有其他类的超类
AnyRefAnyRef类是Scala里所有引用类(reference class)的基类
二、运算符
2.1 Java 和 Scala 中关于 == 的区别

java:== 比较两个变量本身的值,即两个对象在内存中的首地址;equals 比较字符串中所包含的内容是否相 同;

scala:== 更加偏向于 java 中的 equals 。

2. 2 赋值运算符

scala 中没有 ++ 与 – ,可通过 += 、-= 来实现相同的效果。

2.3 scala 运算符的本质

在 scala 中所有运算符都是方法。

1)当调用对象的方式时,点可以省略;

2)如果函数参数只有一个,或者没有参数,()可以省略

object HelloWorld {
def main(args: Array[String]): Unit = {
 var a : Int = 1 .+ (1)
 var b : Int = 1 + (1)
 var c : Int = 1 + 1

 println(a + "+" + b + "+" + c)
}
}

结果为:2+2+2

三、流程控制
3.1 分支控制

单分支、双分支、多分支(if-else);

if 嵌套分支;

3.2 Switch 分支结构

与 Java 语法相同

3.3 For 循环控制

1)前闭后闭

for(i <- 1 to 3) {
	print(i + " ")
} // i将会从1-3循环

2)前闭后开

for(i <- 1 until 3) {
	print(i + " ")
} // i将会从1-2循环

3)循环守卫

for(i <- 1 to 3 if i != 2) {
	print(i + " ")
} // 相当于添加判断条件

4)循环步长

for(i <- 1 to 3 by 2) {
	print(i + " ")
} // 间隔2步循环一次

5)嵌套循环

for(i <- 1 to 3; j <- 1 to 3) {
	print("i=" + i + ";j=" + j)
}

6)倒序打印

for(i <- 1 to 3 reverse) {
    print(i + " ")
} // 将1-3倒序打印输出
3.3 While 和 do While 循环控制

与 Java 语法相同

收藏一下!持续更新中。。。

上一篇:Scala 入门

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值