005. 编写表达式并确定其值
示例 1:算术表达式
int result = (10 + 5) * 2 - 3 / 2;
计算过程:
-
括号优先:先计算括号内的表达式。10+5=15
-
乘法和除法优先:从左到右依次计算乘法和除法。15×2=30; 3/2=1(因为3和2都是整数,结果也是整数)
-
加法和减法:从左到右依次计算。30−1=29
最终结果:
result = 29;
示例 2:关系和逻辑表达式
int result = (5 > 3) && (10 < 20) || !(15 == 15);
计算过程:
-
关系运算符:先计算关系表达式的值。 5>3 →
1
(真) 10<20 →1
(真) 15\==15 →1
(真) -
逻辑非运算符:计算逻辑非表达式的值。 !(15\==15) →
0
(假) -
逻辑与运算符:计算逻辑与表达式的值。 (5>3) && (10<20) →
1
(真) -
逻辑或运算符:计算逻辑或表达式的值。 (1) || (0) →
1
(真)
最终结果:
result = 1;
示例 3:复合赋值和算术表达式
int a = 10;
a += 5 * 2 - 3;
计算过程:
-
赋值运算符:先计算右边的表达式。 5×2=10 10−3=7 a+=7 → a=a+7
-
更新变量值: a=10+7=17
最终结果:
a = 17;
示例 4:位运算表达式
int result = (5 & 3) | (5 ^ 3);
计算过程:
-
位运算符:先计算位运算表达式的值。 5 的二进制表示为 0101 3 的二进制表示为 0011 5&3 → 0001 →
1
5 \^ 3 → 0110 →6
-
位或运算符:计算位或表达式的值。 1∣6 → 0001∣0110 → 0111 →
7
最终结果:
result = 7;
示例 5:综合表达式
int result = (10 + 5) * 2 > 20 && (15 % 4 == 3);
计算过程:
-
括号优先:先计算括号内的表达式。 10+5=15
-
乘法: 15×2=30
-
关系运算符: 30>20 →
1
(真) 15%4=3 →1
(真) -
逻辑与运算符: (30>20) && (15%4\==3) →
1
(真)
最终结果:
result = 1;
视频讲解
BiliBili: 视睿网络-哔哩哔哩视频 (bilibili.com)