什么是强类型、弱类型、动态类型、静态类型语言

简介: 什么是强类型、弱类型、动态类型、静态类型语言

强类型语言

强制类型定义的语言,即一旦某一个变量被定义类型,如果不经强制转换,那么它永远就死该数据类型。

强类型语言包括:Java、.net、Python、C++等语言。其中Python是动态语言,是强类型定义语言,是类型安全的语言,Java是静态语言,是强类型定义语言,也是类型安全的语言。

强类型接口设计

  • 使用 feigh 设计强类型接口
  • image.png
  • image.png

弱类型语言

弱类型定义的语言,某一个变量被定义类型,该变量可以根据环境变化自动。弱类型语言包括:VB,PHP,JavaScript等语言。其中VBScript是动态语言,是一种类型不安全的原因。

举个栗子吧:

var A=5;
var B="5"
sumA=A+B;
sumB=A-B;

sumA=55,系统默认+字符连接符,将A转化为字符串类型;而sumB=0;系统认为-是算数运算符,从而将B转化为int类型,所以sum为5-5=0;

优缺点

强类型语言和弱类型原因其判断的根本是是否会隐形进行语言类型转变。

强类型原因在速度上可能略逊于弱类型语言,但是强类型定义语带来的严谨性又避免了不必要的错误。

image.png

动态类型语言

动态性语言是指在运行期间才去做数据类型检查的语言,也就是说动态类型语言编程时,永远不用给任何变量指定数据类型,该语言会在第一次赋值给变量时,在内部将数据类型记录下来。Python和Ruby就是一种典型的动态类型语言,其他的各种脚本语言如VBScript也多少属于动态类型语言。

静态类型语言

静态类型语言与动态类则刚好相反,它的数据类型在编译期间检查,也就是说在写程序时要声明所有变量的数据类型,C/C++是静态类型语言的典型代表,其他静态语言还有C#、Java等。

对于动态语言与静态语言的区分,其根本在于判断是在运行期间去做数据类型还是在编译期间检查。

image.png

目录
相关文章
|
7月前
|
JavaScript 芯片
三节串联锂电池充电芯片应用与PCB设计指南
PW4053A(异步)是一款5V输入,最大1.2A充电电流(是指电池端的电流,输出12.6V电池端的电压),支持三节锂电池的升压充电管理IC。PW4053A集成功率MOS采用异步开关架构,使其在应用时仅需极少的外围器件,可有效减少整体方案尺寸,降低BOM成本。PW4053A的升压开关充电转换器的工作频率为500KHz,转换率微90%。PW4053A啊呼入电压为5V,内置自适应环路,可智能调节充电电流大小,防止拉垮适配器输出,可匹配所有适配器。PW4053A提供SOP8-EP封装形式,工作温度额定范围为-40℃至85℃。
|
7月前
|
安全
微信域名检测-域名检测-域名安全检测-域名拦截检测
微信常拦截外部推广链接,导致分享失效、业务受损。本文介绍通过生成短网址并调用微信域名检测接口,实时校验域名状态:若被封禁,可快速切换域名重生成,确保链接畅通。接口响应简洁明确,助力高效推广。
706 2
|
Linux 测试技术 调度
新工具开源!一款iOS自动化利器(附地址)
tidevice 是阿里的内部的一个小组用来做 iOS 自动化用的工具,通过逆向iOS通信协议,使用纯Python实现。目前淘宝和其他部分事业部已经全面使用了该技术,进行iOS应用的性能采集,UI自动化。
3258 0
新工具开源!一款iOS自动化利器(附地址)
|
Arthas 监控 Java
Arthas profiler(使用async-profiler对应用采样,生成火焰图)
Arthas profiler(使用async-profiler对应用采样,生成火焰图)
2489 10
|
人工智能 PyTorch 算法框架/工具
【AI系统】昇腾推理引擎 MindIE
本文详细介绍华为昇腾推理引擎 MindIE,涵盖其基本介绍、关键功能特性及三大组件:MindIE-Service、MindIE-Torch 和 MindIE-RT。文章深入探讨了各组件在服务化部署、大模型推理和推理运行时方面的功能和应用场景,旨在帮助读者全面了解 MindIE 如何支持 AI 业务的高效运行和模型的快速部署。
1871 0
|
Python
Python中导入错误(ImportError)
【7月更文挑战第14天】
1712 11
|
监控 负载均衡 Java
(九)漫谈分布式之微服务组件篇:探索分布式环境下各核心组件的必要性!
本文将深入探讨微服务中各个组件的必要性,以此帮助各位更好地加深对分布式系统的掌握度。
1666 1
|
Ubuntu Unix Linux
在Ubuntu安装RPM文件
Ubuntu使用`apt`和`alien`工具安装软件。`deb`是Ubuntu的标准包格式,但通过`alien`可转换及安装`RPM`包。首先确保启用`Universe`源,然后安装`alien`。转换RPM包为DEB包,运行`sudo alien package_name.rpm`,接着用`sudo apt install package_name.deb`安装。直接安装RPM包可使用`sudo alien -i package_name.rpm`,但这种方法不推荐,可能导致依赖性冲突和系统不稳定。
1486 10
【数据结构】二叉搜索树的原理及其实现
【数据结构】二叉搜索树的原理及其实现
|
监控 数据可视化 前端开发
高效设计企业营销系统的3种方案实践复盘
高效设计企业营销系统的3种方案实践复盘
689 2

热门文章

最新文章