Scala——2 基本语法

2 篇文章 0 订阅
2 篇文章 0 订阅

2 Scala基本语法

大部分基本语法都与Java类似:

  • 驼峰命名原则
  • 区分大小写
  • 单行注释//,多行注释/***/

主要区别:

  • Scala语句末尾可以写分号;,也可以不写.但是如果一行里写多个语句那么分号是需要的
  • Scala 中声明变量和常量不一定要指明数据类型,在没有指明数据类型的情况下,其数据类型是通过变量或常量的初始值推断出来的
  • Scala中的数据类型都是对象,没有Java中的原生类型
  • Scala中不能使用i++ , 可以使用 i += 1 或者 i = i + 1

2.1 数据类型

  • Scala中的数据类型都是对象,没有Java中的原生类型。在Scala是可以对数字等基础类型调用方法的,比如:
// Range(2, 4, 6, 8, 10)
println(2.to(10, 2))

2.1.1 基本介绍

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

在这里插入图片描述

2.1.2 Null,Nothing,None,Unit,Nil

NullTrait,其唯一实例为null,是AnyRef的子类
NothingTrait,所有类型(包括AnyRef和AnyVal)的子类,没有实例
NoneOption的两个子类之一,另一个是Some,用于安全的函数返回值
Unit无返回值的函数的类型,和Java的void对应
Nil长度为 0 的List

2.2 变量和常量

  • 变量 : 变量定义后可以修改,用 var声明
  • 常量 : 常量定义后不可以再修改,用 val声明

声明变量或常量要给出其初始值

var name: String = "zhangsan"
println(name)  // 输出 zhangsan
name = "lisi"  // 可修改
println(name) // 输出 lisi
val gender = "m"
println(gender)  // 输出  m  
//    gender = "f"  // 错误, 不能给常量赋值
//    val hobby   // 错误
//    var hobby:String  // 错误

2.3 访问修饰符

  • Scala 访问修饰符基本和Java的一样,分别有:private,protected,public。
  • 如果没有指定访问修饰符,默认情况下,Scala 对象的访问级别都是 public。

2.4 运算符

  • 算术运算符
    +,-,*,/,%
  • 关系运算符
    == ,!=,>,<,>=,<=
  • 逻辑运算符
    &&,||,!
  • 位运算符
    ~,&,|,^,<<,>>,>>>
  • 赋值运算符
    =,+=,*=,/=,%=,<<=,>>=,&=,^=,|=
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值