1.10. 执行复杂的条件语句

本文介绍了如何使用逻辑运算符AND, OR 和 NOT在ActionScript中创建复杂的条件语句,包括if, while 和 for语句,并提供了示例代码,如判断日期、检查周末等。
1.10. 执行复杂的条件语句
 
问题
我要在多个条件中做出决定
解决办法
可以使用逻辑运算符AND (&&), OR (||), 和 NOT (!) 来创建符合条件语句。
讨论
 
ActionScript中的很多语句都能包含条件表达式。包括 if, while, 和 for 语句,如果测试两个条件都成立可以使用逻辑运算符 AND , &&, (更多细节请看第14章):
// 测试今天是否是3月17号
var current:Date = new Date(  );
if (current.getDate(  ) == 17 && current.getMonth(  ) == 3) {
  trace ("Happy Birthday, Bruce!");
}
加入些括号让结构更加清晰:
// Check if today is April 17th.
if ((current.getDate(  ) == 17) && (current.getMonth(  ) == 3)) {
  trace ("Happy Birthday, Bruce!");
}
这里使用了逻辑运算符OR , ||, 来测试是否其中有个条件成立:
// 测试是否是周末
if ((current.getDay(  ) == 0) || (current.getDay(  ) == 6) ) {
  trace ("Why are you working on a weekend?");
}
还可以使用 NOT, !, 来测试条件不是真的:
// 检测名字不是Bruce.
if (!(userName == "Bruce")) {
  trace ("This application knows only Bruce's birthday.");
}
上面的例子还可以这么写:
if (userName != "Bruce") {
  trace ("This application knows only Bruce's birthday.");
}

任何布尔值或能得出布尔结果的表达式都能作为测试表达式:
// 检测如果sprite 是可见的,则输出信息
if (_sprite.visible) {
  trace("The sprite is visible.");
}

NOT 运算符经常被用来检测是否是false:
// 检测如果 sprite 是不可见的,则输出信息:
if (!_sprite.visible) {
  trace("The sprite is invisible. Set it to visible before trying this action.");
}

NOT 经常和OR 一起用:
// 检测既不是Bruce 有不是 Joey.
if (!((userName == "Bruce") || (userName == "Joey"))) {
  trace ("Sorry, but only Bruce and Joey have access to this application.");
}
 
在GBase数据库中,正确执行UPDATE语句以更新数据记录的步骤如下: 1. **基本语法**: 使用标准的SQL UPDATE语句来更新数据。其基本语法为: ```sql UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition; ``` - `table_name`是你要更新数据的表的名称。 - `column1`, `column2`, ... 是你要更新的列的名称。 - `value1`, `value2`, ... 是你希望设置的新值。 - `condition`是一个可选的条件,用于指定哪些行应该被更新。如果省略此条件,则表中的所有行都会被更新。 2. **示例**: 假设你有一个名为`employees`的表,其中有一列`salary`,你想要将所有员工的薪水增加10%。你可以使用以下语句: ```sql UPDATE employees SET salary = salary * 1.10 WHERE department = 'Sales'; ``` 这条语句会将`department`为'Sales'的所有员工的`salary`提高10%。 3. **注意事项**: - **备份数据**: 在进行批量更新之前,最好先备份数据,以防出现意外情况。 - **事务管理**: 对于涉及大量数据更新的操作,建议使用事务(Transaction)来确保数据一致性。例如: ```sql BEGIN TRANSACTION; UPDATE employees SET salary = salary * 1.10 WHERE department = 'Sales'; COMMIT; ``` - **性能优化**: 如果需要更新大量数据,可以考虑分批次进行更新,或者在非高峰时间执行更新操作,以减少对数据库性能的影响。 4. **锁定机制**: 在高并发环境下,为了防止竞争条件和不一致性问题,可以使用适当的锁定机制。例如,在更新前使用`SELECT FOR UPDATE`语句对数据行加锁: ```sql BEGIN TRANSACTION; SELECT id FROM employees WHERE department = 'Sales' FOR UPDATE; UPDATE employees SET salary = salary * 1.10 WHERE department = 'Sales'; COMMIT; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值