Java数据类型
所谓强类型的语言,通常具有两个基本特征。1所有变量必须先声明,然后才能使用,声明变量时必须指定该变量的数据类型;2一旦某个变量的数据类型确定下来,那这个变量将永远只能接受该类型的值,不能“盛装“其他类型的值。
Java语言规定,当一个算术表达式中包含多个基本类型的值时,整个算术表达式的数据类型将发生自动提升。自动提升规则如下:
- 所有byte型,short型和char型将被提升到int型。
- Int提升到long,long提升到float,float提升到double。
理论上,unicode转移字符字符可以代表任何字符。
public class StringLength {
public static void main(String[] args){
System.out.println("abc\u000a");
}
}
这个编译错误的原因是Java对Unicode转义字符不会进行任何特殊的处理,它只是简单地将Unicode转移字符替换成相应的字符。对于\u000a而言,它相当于一个换行符(\n),因此对Java编译器而言,程序相当于:
public class StringLength {
public static void main(String[] args){
System.out.println("abc
");
}
}
这样错误就可以理解了。