Dart 运算符、条件判断、类型转换

1. 算术运算符

void main() {
   
  int a = 13;
  int b = 5;
  // 取整
  print(a ~/ b); //2
}

2. 逻辑运算符

void main() {
   
  bool flag = true;
  print(!flag); //false
}
void main() {
   
  bool a = true;
  bool b = false;
  print(a && b); //false
}
void main() {
   
  bool a = false;
  bool b = true;
  print(a || b); //true
}

3. 赋值运算符

void main() {
   
  var b;
  b ??= 23; //如果 b 为空的话,把23赋给 b
  print
### 关于 Dart 中 `!` 运算符的用法和含义 在 Dart 编程语言中,`!` 是逻辑非(Logical NOT)运算符。它用于对布尔表达式的值进行取反操作。如果原始布尔值为 `true`,那么应用 `!` 后的结果将是 `false`;反之亦然。 以下是关于 `!` 运算符的具体说明: #### 1. **基本功能** `!` 主要作用是对布尔类型的变量或表达式求反。例如: ```dart bool isTrue = true; print(!isTrue); // 输出 false ``` 此行为表明当输入为真时,输出变为假[^1]。 #### 2. **结合其他条件语句使用** 通常情况下,`!` 和其他控制流关键字一起使用,比如 `if` 或者 `while` 来改变程序流程判断依据。如下例子展示了如何利用 `!` 实现特定业务逻辑: ```dart bool isLoggedIn = false; if (!isLoggedIn) { print('User needs to log in.'); } else { print('Welcome back!'); } // 当前由于 !isLoggedIn 返回 true ,所以会打印 User needs to log in. ``` 这里通过否定登录状态来决定是否提示用户需要登录[^2]。 #### 3. **强制解包 Nullable 类型** 除了作为逻辑运算外,在 null 安全版本后的 Dart 中,`!` 还有一个额外用途——即对于可能含有 null 值的对象强行断言其不为空(null),从而允许访问该对象上的成员属性或者调用方法。需要注意这种做法存在一定风险,因为一旦假设错误就会抛出异常。 ```dart String? maybeName = null; print(maybeName!.length); // 如果maybeName确实为null,则此处引发运行期错误 ``` 上述代码片段里尝试获取长度之前加上了感叹号标记,意味着开发者确信此时 variable 不应存在任何 null 情况下才如此编写[^3]。 综上所述,Dart 中的 `!` 运算符既可以用作简单的逻辑反工具也可以帮助处理复杂的空指针场景下的数据验证过程。 ```dart void main() { bool condition = false; if (!condition) { print("Condition was false"); } String? nullableStr = null; try{ int lengthOfNullableStr = nullableStr!.length; print(lengthOfNullableStr); }catch(e){ print("Caught an error because the string was null"); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值