面试题答案
一键面试let result = (3 + 5) * 2 / (4 - 1)
print(result)
在这个表达式 (3 + 5) * 2 / (4 - 1)
中:
- 括号:括号具有最高优先级,所以先计算
(3 + 5)
和(4 - 1)
,分别得到8
和3
。这里括号改变了运算符的默认优先级顺序,使得括号内的运算先进行。 - 乘法和除法:乘法
*
和除法/
具有相同优先级,它们的结合性是从左到右。所以先计算8 * 2
得到16
,再计算16 / 3
得到最终结果约5.33
(在Swift中如果是整数运算则结果为5,这里实际运算结果是浮点数5.333...
)。 - 加法和减法:加法
+
和减法-
在没有括号改变优先级的情况下,优先级低于乘法和除法。但在这个表达式中,由于括号的存在,先进行了这部分运算。