变量和常量(java 、scala)

数据类型对比

在申明变量之前,首先我们要了解清数据类型,因为变量的申明和数据类型的指定是离不开的。

javascala
byteByte
shortShort
intInt
longLong
floatFloat
doubleDouble
charChar
booleanBoolean
StringString

从中可以看出,java和scala的数据类型可以说是完全对应,区别只是在于书写的时候,java是小写(String例外),scala首字母大写。
注:其实scala在指定数据类型时,也不一定非要是首字母大写,小写也可以,这应该是便于java程序员学习scala的便利,但官方还是建议使用首字母大写

变量定义

java
在java中,对于每一个变量,都需要指定变量类型,所以在定义变量时,通常是:
变量类型 变量名

int test1;//定义整形
float test2;//定义浮点型变量
double test3;//定义一个双精度浮点型变量

以上就是java中定义一个变量的格式,但是此时还只是定义了一个变量,并未初始化,如果此时使用这个变量,比如

System.out.println(test1);

那将会报错,因为变量在使用前,变量必须初始化。只有初始化后才可以正常的使用变量。

test1 = 10;
System.out.println(test1);

或者在定义变量的时候就初始化变量

int test1 = 10;
System.out.println(test1);

总之变量在使用之前是需要初始化的。

示例程序:

public class DataType {
    public static void main(String[] args) {
        int test1 = 10;
        System.out.println(test1);
    }
}

scala

scala的变量定义格式如下:
var 变量名:变量类型 = 初始值
scala和java不一样,scala的变量必须用var修饰符修饰,同时变量名在变量类型前面,中间用冒号隔开。
在java中变量定义和初始化是可以分开的,但是scala不同,在定义变量的同时,就需要对其进行初始化赋值,不能够分开。

    var test1:Int = 12

示例程序:

object DataType1 {
  def main(args: Array[String]): Unit = {
    var test1:Int = 12
    println(test1)
  }
}

但是scala是聪明的,它比java要聪明,因为它可以自动推断数据类型,变量可以根据初始值的类型自动推断出变量的数据类型,故而并不需要指定数据类型,所以上面的Int是不必要的。从这里也可以猜测出为什么在scala中变量的定义和初始化是不能分开的,因为便于推断,这是scala设计的思路。

var test1 = 12

变量test1是可以通过初始值12来推断出来的,因为12是整型,所以test1自然被推断出整形。
示例程序:

object DataType1 {
  def main(args: Array[String]): Unit = {
    var test1= 12
    println(test1)
  }
}

以上也是scala推崇的,极简主义。

常量定义

java
前面讲了如何在java中定义一个变量,那么定义一个常量就很简单,只需要在定义变量的最前面加一个final关键字。

final int test1 = 10;
System.out.println(test1);

示例程序:

public class DataType {
    public static void main(String[] args) {
        final int test1 = 10;
        System.out.println(test1);
    }
}

scala
scala中定义变量用var,定义常量则用val。

val test1 = 12

示例程序:

object DataType1 {
  def main(args: Array[String]): Unit = {
    val test1 = 12
    println(test1)
  }

}

总结

1.java中变量定义格式:变量类型 变量名(int test1)
2.java变量使用前必须初始化(test1 = 10或者int test1 = 10)
3.java常量定义只需要在前面加一个final(final int test1 = 10)
4.scala变量定义格式:var 变量名:=初始值(var test1 = 10)
5.scala常量定义格式:val 常量名:=初始值(val test1 = 10)

最后做一个额外的补充:
java中每一句后面需要用分号结尾
scala中不需要用分号结尾

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值