强、弱类型

强类型strongly typed: 如果一种语言的所有程序都是well behaved——即不可能出现forbidden behaviors,则该语言为strongly typed。

弱类型weakly typed: 否则为weakly typed。比如C语言的缓冲区溢出,属于trapped errors,即属于forbidden behaviors..故C是弱类型

偏向于不容忍隐式类型转换,弱类型相对于强类型来说类型检查更不严格,比如说允许变量类型的隐式转换,允许强制类型转换等等。强类型语言一般不允许这么做。

弱类型

> "1"+2

'12'

强类型

>>> "1"+2

Traceback (most recent call last):

File "", line 1, in

TypeError: cannot concatenate 'str' and 'int' objects

动态、静态类型

静态类型 statically: 如果在编译时拒绝ill behaved程序,则是statically typed;

动态类型dynamiclly: 如果在运行时拒绝ill behaviors, 则是dynamiclly typed。

其中静态类型可以分为两种:

如果类型是语言语法的一部分,在是explicitly typed显式类型,比如java和c;

如果类型通过编译时推导,是implicity typed隐式类型, 比如ML和Haskell

简单地说,就是在声明了一个变量之后,不能改变它的类型的语言,是静态语言;能够随时改变它的类型的语言,是动态语言。因为动态语言的特性,一般需要运行时虚拟机支持。

动态类型

>>> a = 1

>>> type(a)

>>> a = "s"

>>> type(a)

静态类型

Prelude> let a = "123" :: Int

:2:9:

Couldn't match expected type `Int' with actual type `[Char]'

In the expression: "123" :: Int

In an equation for `a': a = "123" :: Int

java 强类型 弱类型_强类型,弱类型,静态类型,动态类型的区别相关推荐

  1. python 强类型 弱类型_强类型、弱类型

    什么是强类型,什么是弱类型? 之前一直写的OC语言,在自己的意识中,所有数据类型是定义好的,如果改变数据的类型必须进行强制类型转换. 但是接触了JavaScript后发现,一个变量,可以是字符串,也可 ...

  2. mysql数据库常用字段类型_快速了解MySQL数据库常用字段类型

    数字列类型 int.bigint.smallint.tinyint 数字列类型用于储存各种数字数据,如价格.年龄或者数量.数字列类型主要分为两种:整数型和浮点型.所有的数字列类型都允许有两个选 项:U ...

  3. python动态类型的坑_python进阶教程之动态类型详解

    动态类型(dynamic typing)是Python另一个重要的核心概念.我们之前说过,Python的变量(variable)不需要声明,而在赋值时,变量可以重新赋值为任意值.这些都与动态类型的概念 ...

  4. java map 值排序_使用Java8 Stream API对Map类型按照键或值进行排序

    在这篇文章中,您将学习如何使用Java对Map按照键或值进行排序.前几日有位朋友面试遇到了这个问题,看似很简单的问题,但是如果不仔细研究一下也是很容易让人懵圈的面试题.所以我决定写这样一篇文章.在Ja ...

  5. java char指针数组_简单总结C语言中各种类型的指针的概念

    C语言中有很多关于指针的使用,指针也是C语言的灵魂所在,而且C语言中也有很多有关指针的概念,这里学习并总结了一些知道的概念. 常量指针:首先它是一个指针,常量只是用来修饰指针的定语.其定义如下: ch ...

  6. java数组子类型_在vhdl中获取数组子类型的范围属性

    您的问题是您尝试在类型上使用属性 . 但是,范围仅定义为数组(因此原型中为A) . 这意味着,即使数组类型受到约束,也需要使用实际数组 . -- Declarations -- Constrained ...

  7. java反序列化 网规_对于实现特定特性的所有类型,我如何大规模实现反序列化?...

    我正在用serde反序列化yaml配置文件.对于我反序列化到的大多数结构,事情都很简单,结构的字段和我的yaml文件中的属性之间有一对一的关系. 在一些情况下,事情会更复杂一些.对于这些,可以更好地将 ...

  8. mysql收录哪些文献类型_中国知网收录哪些文献类型

    中国知网收录哪些文献类型 虽然芝麻信用分数和借呗额度没有得到立竿见影的提高,但是卖家也没有承诺一定会提升多少,具体涨多少需要等下个月6号芝麻信用分更新的时候才能查询到,需要些时间婚姻就象泡茶,第一道茶 ...

  9. anki 新的卡片类型_梁宝川:这一类型Anki卡片,你做了吗?

    每日写一篇文章的第2年269天 Anki考研找梁宝川 我们每天都会进行Anki学习,同时每天也会导入新的Anki卡片. 只不过数量上有多有少而已. 而Anki卡片的内容,我相信大多数小伙伴选择的是一个 ...

最新文章

  1. 2022互联网大厂薪资大比拼
  2. 在windows下架设openssh实现资源共享
  3. Linux 统计多个文件中 某字符串出现的行数
  4. pcie固态硬盘_主板2个M. 2接口,哪个m2插槽是与CPU直连?总结不得不说PCIE知识
  5. C# Socket案例(服务端与客户端)
  6. java可以实现agv调度吗_AGV路线优化及实时调度
  7. win10中谷歌浏览器安装插件的位置
  8. 团队项目(小小大佬带飞队)
  9. android设置透明主题后背景为黑色,android – 活动应该是透明的,但有黑色背景
  10. maven:mirrors和repository的关系区别
  11. python写的平行四边形_实现一个平行四边形
  12. 三色螺旋线 -《跟小海龟学Python》案例代码
  13. 数据可视化Matplotlib-中
  14. db4o数据库的基本操作
  15. 安卓进不去系统如何备份数据
  16. 百度灵医智惠渗透基层,以AI赋能中国医疗
  17. android 仿360浮动,Android仿360悬浮小球自定义view实现示例
  18. 并发控制- sched_yield 函数
  19. 计算机网络(自顶向下第七版)资料整理
  20. oracle 函数格式,oracle to_date(函数格式)

热门文章

  1. 免费直播:1 小时带你体验 Python 车牌识别实战
  2. SSRF 漏洞危害大,应避免被利用攻击内网应用!| 原力计划
  3. 实战 SQL!金融机构可疑支付交易的监测 | 原力计划
  4. 面试官:背了几道面试题就敢说熟悉Java源码?我们不招连源码都不会看的人|原力计划...
  5. 循环智能杨植麟:“人机耦合”将是对话语义应用的新趋势!
  6. 这项标准,支付宝干成了!中国将有更多主导权!
  7. 怎么颈椎和秃头都扯上我,程序员:我太难了…
  8. 霸榜 GitHub 的程序员来了!
  9. 雷军:小米有机会重返世界前三;苹果为 Siri 泄露隐私事件致歉;Apache Tomcat 9.0.24 发布 | 极客头条...
  10. 华为获首张 5G 终端进网许可证;Linux 之父来华;Eclipse 4.12 发布 | 极客头条