编程语言中的强类型和弱类型,以及是动态还是静态

**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 是静态语言,也是强类型定义语言(类型安全的语言)。

这门语言是不是动态语言与这门语言是否类型安全是完全没有联系的

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值