强类型语言与弱类型语言
-
强类型语言:强类型语言也称为强类型定义语言。要求变量的使用要严格符合定义,所有变量都必须先定义后使用。Java、.Net和C++等一些语言都是强制类型定义的,也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。
-
弱类型语言:弱类型语言是一种弱类型定义的语言,某一个变量被定义类型,该变量可以根据环境变化自动进行转换,不需要经过显性强制转换。弱类型语言包括vb 、PHP、javascript等语言。
-
区别:不论是强类型语言还是弱类型语言,判别的根本是是否会隐性的进行语言类型转变。强类型语言在速度上略逊于弱类型语言,但是强类型定义语言带来的严谨性又能避免不必要的错误。
-
由于Java是强类型语言,所以进行某些运算的时候,需要用到类型转换。
不同数据类型之间的转换
低--------------------------------------------------高
byte,short,char,->int->long->float->double
- 运算中,不同类型的数据线转化为同一类型,然后进行运算。 强制转换: 由高到低 ; 格式:(类型)变量名;
自动转换: 由低到高
package Demo;
public class Demo2 {
public static void main(String[] args) {
int i = 128;
byte b=i;
//byte b = (byte) i;
double j = 12.8;
int a = (int) j;
System.out.println(i);
System.out.println(b);
System.out.println("--------------------------------");
System.out.println(j);
System.out.println(a);
}
}
运算结果:
- 思考为什么b的值为负的128,以及a的值为12.8。
注意点: 1不能把布尔值进行转换
2不能把对象类型转换为不相干的类型
3再把高容量转换到低容量时,要强制转换
4转换的时候可能存在内存溢出或者精度问题