基本数据类型变量之间的自动类型提升、string引用类型和基本数据类型的使用


总结

  • 整型数据,默认为int型
  • 浮点型数据,默认为double
  • 两个不同数据类型的数据相加,得到的数据的数据类型为大的那个
  • char、short、byte数据相加,得到的数据的类型为int型(无论是不是不同的数据类型相加,都会得到一个int型数据)

  1. float a = 12.5 ;
    编译错误,因为12.5默认为double型,而a是float型

  2. float a = float(12.5) ;
    12.5默认为double型,可以通过强制类型转换,把double型转换为float型,这样就可以赋值

  3. long b = 22222222222222 ;
    编译错误,因为22222222222222默认是int型,而这个数据大于int型的大小,放不进去内存
    可以理解为:编译过程不会执行long b = 22222222222222 把数据放到b中,而是先单独放到内存中,在编译为.class文件,并被执行后,才会从内存中把数据拿出来,放到变量b中;而这里是编译过程中放不进内存,导致编译失败

  4. float c = a + 1 ;
    编译失败,因为a + 1 后数据的数据类型为int型

  5. string不是基本数据类型,而是引用数据类型
    string只能和8中基本数据类型做连接作用,不能做其他算数运算,比如赋值运算:string a =22 ;

点击查看代码
char a = 'a'   //97
int b = 3
string c  = "string"
system.out.println(a+b+c);  //100string

相关