当我们说一种语言是动态类型和静态类型时,这意味着什么?
当前回答
静态类型语言:每个变量和表达式在编译时就已经知道了。
(int;A在运行时只能接受整型值)
例如:C, c++, Java
动态类型语言:变量可以在运行时接收不同的值,它们的类型在运行时定义。
(var;A可以在运行时取任何类型的值)
例如:Ruby, Python。
其他回答
静态类型: Java和Scala等语言是静态类型的。
在代码中使用变量之前,必须对变量进行定义和初始化。
对于exp . int x;X = 10;
System.out.println (x);
动态类型: Perl是一种动态类型语言。
变量在代码中使用之前不需要初始化。
y = 10;在后面的代码中使用这个变量
静态类型语言(编译器解析方法调用和编译引用):
通常表现更好 更快的编译错误反馈 更好的IDE支持 不适合使用未定义的数据格式 当没有定义模型时,很难开始开发 更长的编译时间 在很多情况下需要编写更多的代码
动态类型语言(在运行程序中做出的决定):
较低的性能 更快的发展 有些bug可能只在稍后的运行时才会被检测到 适用于未定义的数据格式(元编程)
静态类型语言(如c++、Java)和动态类型语言(如Python)的区别仅仅在于变量类型的执行。 静态类型语言对变量有静态数据类型,这里在编译期间检查数据类型,因此调试要简单得多……而动态类型语言则不这样做,它会检查执行程序的数据类型,因此调试有点困难。
此外,它们有一个非常小的区别,可以与强类型和弱类型语言相关联。强类型语言不允许将一种类型用作另一种类型。C和c++…而弱类型语言允许例如python
静态类型语言:每个变量和表达式在编译时就已经知道了。
(int;A在运行时只能接受整型值)
例如:C, c++, Java
动态类型语言:变量可以在运行时接收不同的值,它们的类型在运行时定义。
(var;A可以在运行时取任何类型的值)
例如:Ruby, Python。
甜蜜和简单的定义,但符合需求: 静态类型语言将类型绑定到整个作用域的变量(Seg: SCALA) 动态类型语言将类型绑定到变量引用的实际值。