首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算机编程中的打字训练

计算机编程中的打字训练
EN

Stack Overflow用户
提问于 2017-03-04 18:00:33
回答 2查看 408关注 0票数 0

我在维基百科上读到过类型系统。计算机编程有三种类型(强、弱和潜在)。但是我不是很明白。

总体而言

Java (int a= 0),所以java是强类型,因为它定义了类型(在本例中是整型)

php ($a = 0),php为弱类型。,因为它没有定义的类型。

python (a = 0),它是强还是弱?但是维基百科说蟒蛇是很强的类型。

我想知道更多关于打字规则的知识。

EN

回答 2

Stack Overflow用户

发布于 2017-03-04 18:58:29

从根本上说,所有的计算机变量都是位的集合。问题是如何知道这些比特是什么以及它们代表什么。

在强类型语言中,您告诉编译器这些位进入程序的点,然后类型“污染”它们,除非通过特殊的转换操作,否则不可能将它们赋给另一种类型的变量。此外,在每个点上,您都必须说明您所期望的类型。

在弱类型语言中,位也被标记,但它不会“污染”位,而是与位一起传递-通常是因为在变量下面有矩阵维度、类型字段、结构成员名称字段等。所以你不需要说你想要什么类型。你可以进行所谓的“鸭子类型”。如果变量有一个名为“+=”的字段,你可以写成"Quack Quack 1.0",而且在所有的意图和目的中,它都是一只鸭子,即使它被设置为医生。

隐含类型的语言是由值而不是变量来保存类型的语言。而不是说

代码语言:javascript
复制
  int x = 5;

你说x= 5;// x是整型

代码语言:javascript
复制
     x = "five"; // x is a string type
票数 0
EN

Stack Overflow用户

发布于 2019-07-21 23:51:00

您尝试构建的定义不正确。强类型意味着在赋值之前不显式定义变量的类型,但它有一点不同。这意味着我们可以为数据指定一种类型,但不能将其用作另一种类型,因此值的类型不会以意想不到的方式更改。每次类型的更改都需要显式转换。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42594654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档