1.强类型:强制数据类型定义的语言
不容忍隐式类型转换。一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。
举例:如果你定义了一个整型变量a,那么程序根本不可能将a当作字符串类型处理。
强类型定义语言是类型安全的语言。
2.弱类型:
它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。
允许隐式类型转换,如C/C++中的int可以变成double
3.静态类型:如C/C++、C#、JAVA
数据类型在编译时检查的,所以要声明所有变量的数据类型,此时类型错误是语法错误。
4.动态类型:如Python
指在运行期间才去做数据类型检查的语言,所以用动态类型的语言编程时不需要给变量指定数据类型。
该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。
所以在编译的时候不知道变量类型,此时类型错误是运行错误。
5.编译型和解释型语言
(1)程序执行速度快,像C/C++、Pascal/Object Pascal(Delphi)、VB等。
一次把所有的代码转换成机器语言,然后写成可执行文件;
(2)解释型语言提高了不同系统平台间的兼容性,如Java、JavaScript、VBScript、Perl、Python等等。
在程序运行的前,还只有源程序而没有可执行程序;程序每执行源程序的某一条指令,就需要额外的解释程序进行解释并运行。