**printf("记录菌:今天,我写了人生中第一篇CSDN博客");**
让我们来探讨一下,编程语言中的几个类型,以及他们的区别和对应类型的语言有哪些:
动态:
运行期间才做类型检查的语言。即编程时,永远不用给任何变量指定数据类型。该语言会在第一次赋值给变量时,在内部将数据类型记录下来。
弱类型:数据类型可以被忽略的语言。它与强类型相反,一个变量可以赋不同数据类型的值
静态:
编译期间做检查数据类型的语言。即写程序时必须要声明数据类型,是固定的。
强类型:强制数据类型定义的语言。一旦一个变量被指定了数据类型。如果不经过强制转换,它就永远是这个类型了。
----------------------分割线
1,动态和静态的区别:变量类型是否在编译时确定
2,强或弱的区别:能不能将一种类型当作另一种类型(已经存在转换关系的不算)
3,利弊:强类型语言在速度上可能逊色于弱类型语言;但是强类型语言带来的严谨性能够有效的避免许多错误
4,强类型安全,弱类型不安全
---------------------分割线
动态典型:python,ruby,php,javascript,VBScript
静态典型:C/C++,C#,java
强定义典型: C/C++,C#,java
弱定义典型:php,asp,ruby,python,ABAP,Javascript,Unix shell
强类型举例说明:
若定义一个整形变量a,若不进行显示转换,不能将a当作字符串类型处理。强类型是固定的。
弱类型举例说明:
在VBscript中,可以将字符串“12”和整数“3”进行连接得到“123”,且不需要显示转换。
总结:
python是动态语言,也是强类型定义语言(类型安全的语言);
VBScript是动态语言,也是弱类型定义语言(类型不安全的语言);
Java 是静态语言,也是强类型定义语言(类型安全的语言)。
这门语言是不是动态语言与这门语言是否类型安全是完全没有联系的