目录
4-1数字和文字
4-2四种算术运算
4-3运算符的优先顺序
4-4运行时类型转换
数字文字
数字本身就是数字,例如整数和浮点数。在程序中写数值时,按原样写数值。
123
1.68
即使是数值,如果用单引号(’)或双引号(“)括起来,也可以看作字符串。如果是数字180写成”180”就是字符串。
180
“180”
让我们详细介绍一下数字的格式。
整数
整数可以用十进制、八进制和十六进制格式表示。
955
034
0x4A
第一位不是以0开头的整数是十进制整数。以0开头并且后面跟着数字的是八进制数。以 0x 开头的数字是十六进制数。十六进制的字母可以是大写或小写。
数值可以用“+”或“-”号标示。如果省略,则为正数的“+”。
-65
-0xA2
数值的大小因环境而异,在32 bit的环境中(大约是 -20 亿到 20 亿之间的数字)。
浮点数
浮点数是包含小数点的数字。除了使用定点格式的描述方法之外,还可以使用指数符号。
2.56
1.32E-5
*1.32E-5 是 1.32 乘以 10 的 -5 次方。
浮点数也可以用“+”或“-”来表示。
-0.62
-8A14
数值的大小因OS环境而异,但精度为 14 位的十进制数字(大致为 -1.7E-308 至 1.7E308)。
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>PHP TEST</title>
</head>
<body>
<p>PHP TEST</p>
<p>
<?php
print 15;
print '<br />';
echo -3.14156E-2;
?>
</p>
</body>
</html>
四种算术运算
提供运算符来对数字和字符串等值进行计算和连接。例如,“.”,它连接已经出现的字符串,就是运算符之一。在变量中存储值时使用的“=”,也是一个运算符。
可用的运算符很多,但这里我们将检查与四种算术运算相关的运算符。用于添加或乘以数值。
四种算术运算相关的运算符如下。
符号 | 内容 | 例子 |
* | 乘 | 4*2 |
/ | 除 | 6/3 |
+ | 加 | 3+9 |
– | 减 | 5-1 |
% | 余数 | 8%3 |
大多数运算符称为二元运算符,对两个值进行运算。它对运算符左侧的值和运算符右侧的值执行某些操作,并返回一个新值作为结果。四则运算中使用的运算符也使用左右两侧描述的数值,来进行运算并返回结果。
实际使用方法如下。
8 + 1 // 结果是 9
6 - 3 // 结果是 3
4 * 5 // 结果为 20
12 / 3 // 结果是 4
7 % 3 // 结果是 1
这些运算符返回一个新值作为它们的运算结果。程序中写“8+1”的地方,和“9”一样处理,是运算的结果。
示例代码
让我们用一个简单的程序来试试吧。
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>PHP TEST</title>
</head>
<body>
<p>PHP TEST</p>
<p>
<?php
echo "8 + 1 = ", 8 + 1, '<br />';
echo "6 - 3 = ", 6 - 3 , '<br />';
echo "4 * 5 = ", 4 * 5, '<br />';
echo "12/3= ", 12/3, '<br />';
echo "7% 3= ", 7 % 3;
?>
</p>
</body>
</html>
如果将上述文件放在WWW服务器的文档根目录下,用浏览器访问,将显示如下。
运算符的优先顺序
四则算术运算中使用的运算符和后面将要解释的运算符确定了优先顺序。例如,请参见以下示例。
6+5*3
[6+ 5]的结果乘以 3 得到 33,但是[5 * 3]的结果与 15 相加得到 6,并且结果根据执行的操作而不同。在像这样使用多个运算符的表达式中,从哪个运算符开始很重要。
与四种算术运算相关的运算符的优先顺序如下。
第一优先顺序:* / %
第二优先顺序:+ -
较高的具有较高的优先级。并且同一行位置的运算符具有相同的优先级。
在前面的例子中,[ * ]的优先级高于[ + ],所以先执行[ 5* 3 ]操作。然后执行操作[ 15 + 12 ]。
此外,在具有相同优先级的运算式的情况下,遵循为每个运算式的关联顺序。由于四个算术运算符的结合顺序是从左到右,因此首先使用左边描述的运算符。
6/2*5
在上面的例子中,[*] 和 [/] 具有相同的优先级,所以最左边的 [/]首先被处理。
括号改变优先级
当您想要以不同于运算符优先级的顺序执行操作时,请使用小括号 ()。无论运算符优先级如何,首先处理括号中的运算
(6 + 5) * 3
在上面的例子中,如果只看运算符[+ ]和 [ * ],[ * ]的优先级最高,但由于先进行括号内的运算,所以先用“[ 6+5 ]进行计算然后计算 [11 * 3 ]。因此,整体计算结果为 [33]。
括号内使用多个运算符时,按照运算符的优先级进行运算。此外,当多次使用括号时,首先计算内括号。
2 * ((5 + 2) * 4 - (4 + 8) / 3)
在上述情况下,计算如下进行。
1) 5 + 2 = 7 // 2 * (7 * 4 - (4 + 8) / 3)
2) 4 + 8 = 12 // 2 * (7 * 4 - 12/ 3)
3) 7 * 4 = 28 // 2 * (28 - 12/ 3)
4) 12/3 = 4 // 2 * (28 - 4)
5) 28-4 = 24 // 2 * 24
6) 2 * 24 = 48
括号和优先级始终确定单一的运算顺序,即使对于复杂的表达式也是如此
示例代码
让我们用一个简单的程序来试试吧。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>PHP TEST</title>
</head>
<body>
<p>PHP TEST</p>
<p>
<?php
echo "5 + 6 * 4 = ", 5 + 6 * 4, '<br />';
echo "(5 + 6) * 4 = ", (5 + 6) * 4;
?>
</p>
</body>
</html>
如果将上述文件放在WWW服务器的文档根目录下,用浏览器访问,将显示如下。
整数和浮点数
请参见以下示例。
5 + 2.45
1.562 + 7
整数和浮点数这样计算时,如“整数+浮点数”或“浮点数+整数”,先将整数转为浮点数再进行运算执行。增加。运算的结果自然是一个浮点数。
数字和字符串
查看加减数字和字符串值的处理。当一个字符串被写入一个期望写入数字的运算符的值时,它被转换如下:
如果字符串以整数、浮点数等开头,则从头开始将字符串转换为数字部分的数值。
'2008year' // 2008
'1.02百分比' // 1.02
如果第一个字符不是数字,则将其视为 0。
'Hello' // 0
'year2008' // 0
另外,在对整数和字符串进行运算时,如果将字符串转换为数字的结果是浮点数,则将整数转换为浮点数并进行运算。
示例代码
让我们用一个简单的程序来试试吧。
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>PHP TEST</title>
</head>
<body>
<p>PHP TEST</p>
<p>
<?php
echo "6 + 2.4 = ", 6 + 2.4, '<br />';
echo "6 + '8year' = ", 6 + '8year', '<br />';
echo "6 + '青岛' = ", 6 + '青岛';
?>
</p>
</body>
</html>
如果将上述文件放在WWW服务器的文档根目录下,用浏览器访问,将显示如下。