Scala语言介绍

基础语法类型:

数据类型:

概述:

1.在Java中,基本类型、static等都不符合面向对象的规则。Scala作为一门完全面向对象的语言,不支持基本数据类型、static等

2.在Scala中,提供了公共父类:Any,即所有的类都是Any的子类

    2.1 Any下分为了两个大的子类:AnyVal(任意数值)和AnyRef(任意引用)。无论AnyVal还是AnyRef都是类

     2.2 AnyVal包含了常用地数据类型

           2.2.1 例如:Byte,Short,Int,Long, Float,Double,Char,Boolean

           2.2.2 Unit:对应了Java中地void。当一个函数没有返回值的时候,返回值类型就是unit。unit只包含了一个对象,就是()

           2.2.3 String:字符串,是对Java中的String类的增强

   2.3 除了AnyVal以外的其他的类都是AnyRef的子类

           2.3.1 AnyRef包含Scala中的类和Java中的类

           2.3.2 AnyRef中提供了特殊子类:Null。Null是任意AnyRef类的子类。Null只有一个值就是Null。

3.不同于Java的地方在于,Scala中还提供了公共子类:Nothing,即所有的类都是Nothing的父类

4.在Scala中,整数默认为Int,小数默认为Double。

类型转换:

1.和Java相比,在Scala中,数据类型转换也分为隐式和显式

2.所有的强制类型转换需要通过toXXX函数来转换

// 显式转换
val a = 5L
val c: Int = a.toInt
println(c)
val x = 5.38
val y = x.toFloat
println(y)

运算符:

1.Scala中提供了五大类运算符:算术、赋值、比较、逻辑、位

2.需要注意的是,Scala中没有提供三元运算符

3.Scala中没有自增和自减运算

4.Scala中还不支持连等定义和连等赋值

var x = 5
// 错误写法
x += x -= 3

5.在Scala中,没有基本类型的说法,所有的数据都是对象,因此所有的运算符本质上都是函数

val x = 3
val y = 5
// 所有的运算符本质上都是函数
val r1 = x.+(y)
println(r1)
// 调用函数的时候,.可以省略不屑
val r2 = x + (y)
println(r2)
// 当调用函数中只有一个参数的时候,可以省略()不屑
val r3 = x + y
println(r3)
  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值