强类型语言与弱类型语言:一个对感情专一、一个则是“养鱼”(五)


前言

通过标题,我想大家都知道今天我要讲的是关于编程语言类型的——“强类型语言”与“弱类型语言”,当我们深入的时候呢,我们又会去了解两个概念——“动态语言”和“静态语言”。但无论怎么看待,我觉得这四个东西就像我们定义性别一样,去定义编程语言。让我们知道这个编程语言在这样的定义维度到底归于哪一类,简单点来说就是去了解编程语言的“性格”。
在这里插入图片描述

什么是“强类型”和“弱类型”

要看一个编程语言到底属于什么类型,我们通过他对变量的“态度”去定义他。我们可以这样去想,假如所有的“编程语言”都是男性,所有的“变量”都是女性,那“编程语言”到了青春期萌发的时候,自然会去寻找属于自己的变量,享受“恋爱”的欢乐时光,那编程语言之间各有不同,对待感情的态度啊也各有不同。有些编程语言对自己的变量非常的深情和执着,一旦对变量的类型进行定义,除非强制拆散他们(转换变量的数据类型),否则他对定义后的变量的感情将永久不息。就像下图,变量 a所定义的明明是整数型,却给其一个字符串类型的值,也没有经过数据类型的转换。所以肯定会报错,这简直就是胡闹!所以,总结一句话:所谓强类型语言,也就是为变量指定了数据类型,除非进行数据类型的转换,否则不可轻易改变变量的数据类型。
在这里插入图片描述
“弱类型语言”则没有“强类型语言”对待感情那么的专一,而是一幅无所谓的样子。在vbscript中,可以将字符串 12 和整数 3 进行连接得到字符串 123,然后可以把它看成整数 123,而不需要显式转换。
在这里插入图片描述
在这里插入图片描述

什么是“静态语言”与“动态语言”

关于“静态”与“动态”则体现在对变量“数据类型”检查时机的不同。

动态类型语言是指在运行期间才去做数据类型检查的语言。在用动态语言编程时,不用给变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来,像Python就是一种典型的动态语言。

在这里插入图片描述

静态类型语言与动态类型语言则刚好相反,它的数据类型检查发生在编译阶段,也就是说在写程序时要声明变量的数据类型,像Java和C#就是典型的静态类型语言代表。

在这里插入图片描述

一张图对编程语言完整类型进行复盘

  • Strong:强类型
  • Weak:弱类型
  • Dynamic:动态的
  • Static:静态的

Python,属于强类型动态语言, Java属于强类型静态语言。

在这里插入图片描述

尾言

通过上述的讲解,我想大家可以对编程语言的类型有一个初步的了解了。对于他们的赘述也是我根据自己的理解进行的解释,有不正确的地方还请大家谅解。

一键“三连”,一起进步!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值