02 # 类型基础:强类型与弱类型

简介: 02 # 类型基础:强类型与弱类型

宽泛的定义

在强类型语言中,当一个对象从调用函数传递到被调用函数时,其类型必须与被调用函数中声明的类型兼容 – Liskov, Zilles 1974


通俗定义

强类型语言不允许改变变量的数据类型,除非进行强制类型转换

比如下面 Java 里不能将布尔类型转化为整型

下面这个是 Java 进行了强制类型转换,将字符 a 转为了 ASCII 值


在弱类型语言中,变量可以被赋予不同的数据类型

下面就是 JavaScript 中例子:变量可以进行不同类型的赋值



目录
相关文章
|
5月前
|
编译器 C++ 开发者
在C++语言中声明语言的作用类型
在C++语言中声明语言的作用类型
48 0
|
5月前
|
安全 程序员 C++
C++语言中数据类型-枚举
C++语言中数据类型-枚举
37 0
|
7天前
|
存储 前端开发 JavaScript
前端基础(三)_JavaScript数据类型(基本数据类型、复杂数据类型)
本文详细介绍了JavaScript中的数据类型,包括基本数据类型(Number、String、Boolean、Undefined、Null)和复杂数据类型(Object),并解释了如何使用`typeof`操作符来识别变量的数据类型。同时,还讨论了对象、函数和数组等复杂数据类型的使用方式。
13 2
|
22天前
|
存储 C语言 索引
C 语言数据类型详解
C语言中的数据类型主要包括基本数据类型、构造数据类型和用户定义数据类型。基本类型如整型(`int`)、字符型(`char`)、浮点型(`float`)、双精度浮点型(`double`)和无符号整型(`unsigned int`)。构造类型包括数组(`Array`)、结构体(`Struct`)、共用体(`Union`)和枚举(`Enum`)。用户定义类型则通过`typedef`为已有类型定义新名称,并可通过结构体和共用体自定义复合数据结构。此外,还有指针类型用于存储变量地址,以及`signed`、`unsigned`、`short`、`long`等类型修饰符。
54 11
|
3月前
|
自然语言处理 算法 安全
编程语言中的静态和动态类型语言
【7月更文挑战第14天】本文介绍静态与动态类型语言对比。类型检查效率是关键,一些系统可能在极端情况下慢。自动化与高效算法的研究持续进行.
36 5
编程语言中的静态和动态类型语言
|
5月前
|
存储 测试技术 C++
03 # 类型基础:动态类型与静态类型
03 # 类型基础:动态类型与静态类型
51 0
|
5月前
|
C语言
C 语言常量
C 语言常量
26 1
C 语言常量
|
5月前
|
存储 编译器 C++
C++语言的变量和数据类型
C++语言的变量和数据类型
|
5月前
|
Java Scala Python
什么是编程语言分类中的强类型语言
什么是编程语言分类中的强类型语言
|
5月前
|
JavaScript 安全
TypeScript 中的高级类型转换技术:映射类型、条件类型和类型推断
TypeScript 中的高级类型转换技术:映射类型、条件类型和类型推断