1、强类型语言和弱类型语言的区别
强类型语言:强类型语言也就是强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,
如果不经过转换,那么该变量就永远是此数据类型了。(如:定义一个整型变量叫“a”,程序也只会认为“a”这个
变量是整型,并且不可能把它来当作字符来处理。)强类型语言也是类型安全的语言。
弱类型语言:弱类型语言也就是同强类型语言相对的语言,也就是说它的数据类型是可以被忽略的语言。它与强类型
语言定义的语言完全是相反的,它的一个变量可以被定义为多种数据类型,而且不用进行转换。(如:定义一个变量“a”,
这个“a”可以被赋值整型,又可以被赋值字符型,还可以被赋值为其他类型。)弱类型语言对应的是类型不安全的语言。
强类型语言在速度上可能会稍逊色于弱类型语言,但是强类型语言带来的严谨性能够有效的避免许多错误的发生。
(另外,判断一个语言是不是类型安全的与该语言是不是动态类型的没有关系。如:Java是静态语言,是强类型
语言(是类型安全的语言)。Python是动态语言,是强类型语言(是类型安全的语言)。JavaScript是动态语言,
是弱类型语言(是类型不安全的语言)。)
2、Java中数据类型分类
Java中数据类型分为:基本数据类型和引用数据类型;
基本数据类型
第一类:整型 byte,short,int,long
第二类:浮点型 float,double
第三类:逻辑型 boolean(它只有两个值可取 true,false)
第四类:字符型 char
引用数据类型
类、接口、数组
可能有的人会问了,那Java中就没有字符串(String)类型吗,只有单字符(char)类型?
答案:不是的,Java中也有字符串类型,而且与C/C++一样都是String,只不过在Java中String(字符串类型)是作为一个类来实现的,也就是说,Java中String类型是属于引用类型的。
可以这样理解:只要不是基本数据类型的八种,都属于引用数据类型。