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

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

强类型语言

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

强类型语言包括: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

目录
相关文章
|
6月前
|
JavaScript 前端开发 Java
02 # 类型基础:强类型与弱类型
02 # 类型基础:强类型与弱类型
58 0
|
弹性计算 JavaScript 编译器
语言入门-2:基本类型
本实验将介绍TypeScript中的基本类型。
|
1月前
|
JavaScript 前端开发 程序员
动态语言、静态语言、强类型语言、弱类型语言的区别
动态语言、静态语言、强类型语言、弱类型语言的区别
|
4月前
|
自然语言处理 算法 安全
编程语言中的静态和动态类型语言
【7月更文挑战第14天】本文介绍静态与动态类型语言对比。类型检查效率是关键,一些系统可能在极端情况下慢。自动化与高效算法的研究持续进行.
67 5
编程语言中的静态和动态类型语言
|
5月前
|
JavaScript 前端开发 安全
TypeScript:静态类型的动态语言
【6月更文挑战第9天】TypeScript是JavaScript的静态类型超集,解决JS类型安全问题,提供更强的代码组织和维护。它引入静态类型、接口和类,增强类型安全,减少运行时错误。TS与JS无缝集成,兼容现有库和框架,拥有丰富的开发工具和活跃社区。广泛应用在各种规模项目中,尤其提升复杂前端应用的代码质量。学习TypeScript对提升开发效率和代码可靠性极具价值。
67 10
|
6月前
|
存储 测试技术 C++
03 # 类型基础:动态类型与静态类型
03 # 类型基础:动态类型与静态类型
62 0
|
6月前
|
JavaScript 前端开发 C语言
Python 到底是强类型语言,还是弱类型语言?
Python 到底是强类型语言,还是弱类型语言?
44 2
|
6月前
|
JavaScript 前端开发 Java
深入理解JVM - 动态类型语言
深入理解JVM - 动态类型语言
82 0
|
Rust JavaScript 安全
Rust 变量和基本数据类型
本文简单介绍了 Rust 中声明变量的方式,主要是使用 let 和 const 关键字。然后介绍了四种基本数据类型,包括整数类型,浮点类型,字符类型和布尔类型。
157 0
|
存储 编译器 C语言
关于静态类型、动态类型、id、instancetype
在实际开发与学习中,特别常见的概念:静态类型、动态类型、id、instancetype。了解这些概念,存储在实际编码中非常有用。
239 0
下一篇
无影云桌面