【Dart】=> [04] Dart初体验-基础语法(流程控制-if-switch-case-for循环

基础语法-流程控制

学习内容:

  1. if 语句
  2. switch – case 语句
  3. for 循环语句

if 语句

if 语句让代码有选择的执行,可以指定满足条件时才能执行的代码。

语句形式:

  • if … else
  • if … else if … else

案例:

  • 根据学生分数,判断学生成绩是否及格
  • 根据学生分数,划分学生成绩所在等级
    • 优秀:分数大于等于90分
    • 良好:分数小于90分,且大于等于60分
    • 不及格:分数小于60分
void main() {
  // 根据学生分数,判断学生成绩是否及格
  // 学生分数大于等于60分,及格,反之,不及格
  int score1 = 59;
  if (score1 >= 60) {
    print('及格');
  } else {
    print('不及格');
  }

  // 根据学生分数,划分学生成绩所在等级
  // 优秀:分数大于等于90分
  // 良好:分数小于90分,且大于等于60分
  // 不及格:分数小于60分
  int score2 = 30;
  if (score2 >= 90) {
    print('优秀');
  } else if (score2 >= 60) {
    print('良好');
  } else {
    print('不及格');
  }
}

补充:三元运算符

三元运算符可用于简化 if 语句。

语法结构:
条件表达式 ? 表达式1 : 表达式2
如果条件表达式的值为true,则返回表达式1的结果,反之,返回表达式2的结果。

案例:
使用三元运算符简化 根据学生分数判断学生成绩是否及格的逻辑。

注意点:三元运算符只适合简化两个分支的 if 语句。

 // 使用三元运算符简化if语句
  // 条件表达式 ? 表达式1 : 表达式2
  // 注意点:三元运算符适合简化if语句里面的双分支
  score1 >= 60 ? print('及格') : print('不及格');

switch – case 语句

switch – case 语句也可以让代码有选择的执行。

  1. 语法结构:
    在许多编程语言中,没有直接的switch-case语句。但可以使用if-elif-else结构来实现类似的功能。

  2. 案例:
    根据订单状态,打印订单状态描述信息
    订单状态:1为待付款、2为待发货、3为待收货、4为待评价

void main() {
  // 根据订单状态,打印出订单状态描述信息
  // 订单状态:1为待付款、2为待发货、3为待收货、4为待评价
  int orderState = 3;
  switch (orderState) {
    case 1:
      print('待付款');
      break;
    case 2:
      print('待发货');
      break;
    case 3:
      print('待收货');
      break;
    case 4:
      print('待评价');
      break;
    default:
      print('其他');
      break;
  }
}

switch – case 语句

if 语句和 switch – case 语句的区别:
if 语句既可以做区间判断也可以做固定值判断
switch – case 语句只能做固定值判断,并且如果分支较多时,执行效率高于if 语句

for 循环

  1. 语句形式:
    for
    for … in
  2. 案例:使用for循环遍历列表
void main() {
  // for循环:循环打印
  for (var i = 0; i < 5; i++) {
    print('itcast');
  }

  // for循环:遍历列表
  List categories = ['居家', '美食', '服饰'];
  for (var i = 0; i < categories.length; i++) {
    String name = categories[i];
    // print(name);
  }

  // for ... in:遍历列表
  for (var item in categories) {
    // item直接就是遍历出来的元素
    print(item);
  }
}

计算购物车中被选中商品的总金额

逻辑:
遍历购物车中所有商品,并判断该商品是否被勾选
如果商品被勾选,则计算该商品总金额(数量 * 单价),反之,不计算金额
累加被勾选商品总金额

void main() {
  // 准备购物车数据
  List carts = [
    {'count':1,'price':10.0,'selected':true},
    {'count':2,'price':20.0,'selected':true},
    {'count':3,'price':30.0,'selected':false},
  ];

    // 总计
  double totalAmount = 0.0;

  //遍历购物车
  carts.forEach((element) {
    // 是否选中
    bool selected = element['selected'];

    if(selected){
        double amount = element['count'] * element['price'];
        totalAmount += amount;
    }
  });

  print(totalAmount);
}
  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不停喝水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值