The VEX Visual Studio Code Extension has replaced VEXcode Pro V5, which is now end-of-life.
VEXcode Blocks and VEXcode Text remain actively developed and supported for all VEX platforms.
“bool”数据类型生成逻辑真或假。
逻辑/布尔运算符
逻辑/布尔表达式
如果(<boolean expressions>) { .....<block> }
<boolean expressions>
将包含要计算的单个或复杂表达式。 <block>
表示只有当 <boolean expressions>
被评估为 true 时才会执行的代码块。
更多布尔表达式:
布尔表达式 | 这是什么意思 |
如果(x==10) | 如果 x 等于 10 |
如果 (x <= 10) | 如果 x 小于 且 等于 10 |
如果(x > 10 || y > 20) | 如果 x 大于 10 或 y 大于 20 |
如果 (x <= 10 && y <= 20) | 如果 x<=10 和 y<=20 |
如果 !(x > 10 || y > 20) | 如果 x<=10 和y<=20 |
如果 ( !( x <=10 || x >=20) ) | 如果 x>10 和x<20 |
使用布尔表达式时要特别小心!
布尔类型 (bool) 是一个简单的整数值。
我们来看看 if (... )
是如何解释的:
-
if (...)
将由编译器计算;它产生真或假的含义。 - 事实是:当 ( ... ) 产生 0 以外的任何值(即零)时,
if ( .... )
将意味着 true。 - 所以:以下表达式始终为真:
- 如果 (1)
- 如果 (10)
- if(任何结果非零)
必须注意的常见错误:
示例1:
整数X=10,Y=20; if (X = Y) Brain.Screen.print("X 和 Y 相同。"); else Brain.Screen.print("X 和 Y 不同。");
输出:X 和 Y 相同。
为什么?
if (X = Y)
实际上意味着:
- 将 Y 赋给 X,因此 X 的值为 20
- 编译器将其解释为 if (20),其中 (20) 为 true,但它不是 (0)。
示例2:
整数X=0,Y=0; if (X = Y) Brain.Screen.print("X 和 Y 相同。"); else Brain.Screen.print("X 和 Y 不同。");
输出:X 和 Y 不同。
为什么?
if (X = Y)
实际上意味着:
- 将 Y 分配给 X,因此 X 的值为 0(零)。
- 编译器将其解释为: (0) 为 false。