变量和数据类型
学习如何使用变量来存储数据,并理解 Perl 中各种数据类型之间的差异。
变量
在任何编程语言中,变量 是用于存储程序数据的命名内存区域。变量 是计算机程序的基本组成部分。
在 Perl 中,你可以使用 $ 符号后跟变量名来声明一个变量,例如:$myVar。
考虑以下 Perl 代码,其中我们将数据存储在变量中,并在屏幕上显示它们。
1$string = "这是一个字符串。"; # 存储字符串 2$int = 5; # 存储整数 3$float = 5.7; # 存储浮点类型值 4$char = 'a'; # 存储字符类型值 5 6print $string, "\n"; 7print "一个整数类型: ", $int, "\n"; 8print "一个浮点类型: ", $float, "\n"; 9print "一个字符类型: ", $char, "\n";
转义字符
在 Perl 中,我们使用转义字符来实现特定功能。例如,在上面的代码片段中,\n 并不代表字符 'n',而是表示换行或换行符。我们可以使用 \ 操作符在代码中使用许多其他转义字符。以下是常见的转义字符:
1print "Hello World!\n"; # \n 插入换行 2print "Hello\tWorld!\n"; # \t 添加制表符空格 3print "\"双引号\"\n"; # 使用 \ 来添加双引号 4print '\'单引号\''; # 使用 \ 来添加单引号
数据类型
Perl 提供了多种数据类型以满足不同需求。以下是一些主要的数据类型:
- 布尔型(Boolean)
- 整型(Integer)
- 浮点型(Float)
- 数组(Array)
- 字符串(String)
与 C++ 或 Java 等语言不同,Perl 不需要在声明变量时指定具体的数据类型。变量的类型会根据赋给它的值自动确定。
下面是这些类型的简要说明:
布尔型
布尔型用于存储 true 或 false 值。数值 0 表示 false,而任何非零数值都表示 true。请看下面的代码:
1$false = 0; # 返回 false 2$true = 1; # 任何大于或小于 0 的值都返回 true
整型
整型是正数或负数的 整数。Perl 允许你以十进制、十六进制、八进制或二进制形式赋值整数常量。请看以下代码:
1$negative = -3; # 负数 2$zero = 0; # 零(在布尔上下文中也可视为 false) 3$positive = 123; # 正整数(十进制) 4$zeroPos = 0123; # 以 0 开头表示八进制 —— 八进制值为 83(十进制) 5$hex = 0xAB; # 以 0x 开头表示十六进制 —— 十六进制值为 171(十进制) 6$bin = 0b1010; # 以 0b 开头表示二进制 —— 二进制值为 10(十进制) 7print $negative," " ,$zero," " , $positive," " , $zeroPos," " , $hex," " , $bin;
在 print 语句中,变量值与常量文本混合输出。
浮点型
浮点数(也称 double 或 float)是带有小数部分的数字。
1$float1 = 1.23; 2$float2 = 10.0000001; 3print $float1," ",$float2;
数组
数组类似于一组值的列表(可以是相同类型,也可以是不同类型)。最简单的数组通过整数索引进行访问,按索引顺序排列,第一个元素位于 索引 0。我们使用 @ 符号来声明数组,值用括号 () 包裹。请看以下代码:
1@intarray = (1, 2, 3); # 整数数组 2print "@intarray \n"; 3 4@floatarray = (1.123, 2.356, 19.76); # 浮点数数组 5print "@floatarray \n"; 6 7@chararray = ('a', 'b','c'); # 字符数组 8print "@chararray \n"; 9 10@mixed = (1, 2, 3, 'a', 'b', 'c'); # 同时包含字符和数字 11print "@mixed";
我们将在后续章节 数组 中更深入地探讨数组。
字符串
字符串 是字符的集合。我们可以使用单引号(')或双引号(")来声明字符串。
1$string1 = "一只敏捷的棕色狐狸跳过懒惰的狗"; 2print $string1;
我们将在后续章节 字符串 中更深入地探讨字符串。
整个变量声明和数据存储的过程总结如下: