数据类型

数据类型 首页 / 函数式入门教程 / 数据类型

数据类型定义对象可以具有的值的类型以及可以对其执行哪些操作,数据类型在使用之前应先声明。不同的编程语言支持不同的数据类型。如,

  • C支持char,int,float,long等。
  • Python支持字符串,列表,元组等。

从广义上讲,存在三种类型的数据类型:

  • 基本数据类型              -  这些是预定义的数据类型,程序员可以直接使用这些数据类型按要求仅存储一个值,即整数类型,字符类型或浮点类型。如-int,char,float等。

  • 派生数据类型              -  这些数据类型使用内置数据类型派生,该数据类型由程序员设计为根据需要存储相同类型的多个值。如  -数组,指针,函数,列表等。

  • 用户定义的数据类型  -  这些数据类型是使用内置数据类型派生的,这些数据类型被包装为单个数据类型以存储相同或不同类型的多个值或两者都根据要求。如-类,结构等。

C ++支持的数据类型

下表列出了C++支持的数据类型-

数据类型大小范围
char 1个字节 -128至127或0至255
unsigned char 1个字节 0到255
signed char 1个字节 -128至127
int 4个字节 -2147483648至2147483647
unsigned int 4个字节 0至4294967295
signed int 4个字节 -2147483648至2147483647
short int 2个字节 -32768至32767
unsigned short int 2个字节 0至65,535
signed short int 2个字节 -32768至32767
long int 4个字节 -2,147,483,648至2,147,483,647
signed long int 4个字节 -2,147,483,648至2,147,483,647
unsigned long int 4个字节 0至4,294,967,295
float 4个字节 +/- 3.4e +/- 38(〜7位数字)
double 8个字节 +/- 1.7e +/- 308(〜15位数字)
long double 8个字节 +/- 1.7e +/- 308(〜15位数字)

Java支持的数据类型

Java支持以下数据类型-

Data TypeSizeRange
byte1 byte-128 to 127
char2 byte0 to 65,536
short2 byte-32,7688 to 32,767
int4 byte-2,147,483,648 to 2,147,483,647
long8 byte-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
float4 byte-2147483648 to 2147483647
double8 byte+9.223*1018
boolean1 bitTrue or False

Erlang支持的数据类型

在本节中,我们将讨论Erlang支持的数据类型,Erlang是一种函数编程语言。

Number 数字类型

Erlang支持两种类型的数字文字,即整数和 float 。看下面的示例,该示例显示如何将两个整数值相加-

-module(helloworld).
-export([start/0]). 
start() -> 
   io:fwrite("~w",[5+4]). 

它将产生以下输出-

链接:https://www.learnfk.comhttps://www.learnfk.com/functional-programming/functional-programming-data-types.html

来源:LearnFk无涯教程网

9

Atom 原子类型

atom 是一个字符串,其值不能更改,它必须以小写字母开头,并且可以包含任何字母数字字符和特殊字符,当原子包含特殊字符时,应将其括在单引号(')中。请看以下示例,以更好地理解。

-module(helloworld). 
-export([start/0]). 

start()-> 
   io:fwrite(monday). 

它将产生以下输出-

链接:https://www.learnfk.comhttps://www.learnfk.com/functional-programming/functional-programming-data-types.html

来源:LearnFk无涯教程网

monday

注意-尝试使用大写" M"将原子更改为"星期一"。程序将产生错误。

Boolean 布尔类型

此数据类型用于将输出显示为 true 或 false ,看下面的示例,它显示了如何比较两个整数。

-module(helloworld). 
-export([start/0]). 

start() -> 
   io:fwrite(5 =< 9). 

它将产生以下输出-

链接:https://www.learnfk.comhttps://www.learnfk.com/functional-programming/functional-programming-data-types.html

来源:LearnFk无涯教程网

true

Big String 位字符串

位字符串用于存储未类型的内存区域,看下面的示例。它显示了如何将位字符串的2位转换为列表。

-module(helloworld). 
-export([start/0]). 

start() -> 
   Bin2 = <<15,25>>, 
   P = binary_to_list(Bin2), 
   io:fwrite("~w",[P]). 

它将产生以下输出-

链接:https://www.learnfk.comhttps://www.learnfk.com/functional-programming/functional-programming-data-types.html

来源:LearnFk无涯教程网

[15,25]

Tuple 元组

元组是具有固定项数的复合数据类型,元组的每个术语都称为元素,元素的数量是元组的大小。以下示例显示了如何定义5个术语的元组并打印其大小。

-module(helloworld).  
-export([start/0]).  

start() ->  
   K = {abc,50,pqr,60,{xyz,75}} ,  
   io:fwrite("~w",[tuple_size(K)]). 

它将产生以下输出-

链接:https://www.learnfk.comhttps://www.learnfk.com/functional-programming/functional-programming-data-types.html

来源:LearnFk无涯教程网

5 

Map 映射

Map映射是具有可变数量的键值关联的复合数据类型,映射中的每个键值关联都称为关联对,该对中的键和值部分称为元素,关联对的数量被称为Map的大小。以下示例显示了如何定义3个映射的Map并打印其大小。

-module(helloworld).  
-export([start/0]).  
 
start() ->  
   Map1 = #{name => 'abc',age => 40, gender => 'M'},  
   io:fwrite("~w",[map_size(Map1)]). 

它将产生以下输出-

链接:https://www.learnfk.comhttps://www.learnfk.com/functional-programming/functional-programming-data-types.html

来源:LearnFk无涯教程网

3 

List 列表

列表是项数可变的复合数据类型,列表中的每个术语称为一个元素,元素的数量被称为列表的长度。下面的示例显示如何定义5个项目的列表并打印其大小。

-module(helloworld).  
-export([start/0]).  

start() ->  
   List1 = [10,15,20,25,30] ,  
   io:fwrite("~w",[length(List1)]). 

它将产生以下输出-

链接:https://www.learnfk.comhttps://www.learnfk.com/functional-programming/functional-programming-data-types.html

来源:LearnFk无涯教程网

5 

注意-Erlang中未定义"String"数据类型。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

持续交付36讲 -〔王潇俊〕

玩转Spring全家桶 -〔丁雪丰〕

ZooKeeper实战与源码剖析 -〔么敬国〕

手把手带你写一门编程语言 -〔宫文学〕

朱涛 · Kotlin编程第一课 -〔朱涛〕

深入浅出可观测性 -〔翁一磊〕

云计算的必修小课 -〔吕蕴偲〕

AI大模型之美 -〔徐文浩〕

Python实战 · 从0到1搭建直播视频平台 -〔Barry〕

好记忆不如烂笔头。留下您的足迹吧 :)