强类型、弱类型、编译型、解释型、动态类型、静态类型语言区别

1.强类型和弱类型

  1. 强类型
    对类型检查严格,任何变量在使用时必须指定类型,一个变量指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型
  2. 弱类型
    数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。
  3. 例子
// C# (强类型)
int a = 1;
a = "123";	// 会报错,无法将类型 "string" 隐式转换为 "int"

// lua (弱类型)
local a = 1
a = "123"	// 不会报错

2.编译型和解释型

  1. 编译型
    在编译时翻译(源代码 -> 二进制指令),生成一个可执行程序,使用的转化工具称为编译器
  2. 解释型
    在运行时翻译,不生成可执行程序,使用的转化工具称为解释器
    在这里插入图片描述

3.静态类型和动态类型

  1. 静态类型
    在编译期间检查数据类型
  2. 动态类型
    在运行期间检查数据类型

4.总结

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45136016/article/details/130206046