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

这篇具有很好参考价值的文章主要介绍了【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);
  }
}

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

逻辑:
遍历购物车中所有商品,并判断该商品是否被勾选
如果商品被勾选,则计算该商品总金额(数量 * 单价),反之,不计算金额
累加被勾选商品总金额文章来源地址https://www.toymoban.com/news/detail-802836.html

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);
}

到了这里,关于【Dart】=> [04] Dart初体验-基础语法(流程控制-if-switch-case-for循环的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Dart - 语法糖(持续更新)

    通过将dill文件序列化为可读文本查看Dart语法糖的中间表示( IR ),并尝试反推大致的等价源码,便于进一步理解和使用这些语法糖。 macOS: 13.4 Dart: 3.0.5 中间表示序列化文本的本质是解析抽象语法树( AST )的各个节点并打印拼接成文本,节点打印以及内容拼接格式请参考

    2024年02月15日
    浏览(22)
  • Dart语法上

    一、Dart介绍及环境 1.1 Dart介绍: Dart是由谷歌开发的计算机编程语言,它可以被用于web、服务器、移动应用 和物联网等领域的开发。 Dart诞生于2011年,号称要取代JavaScript。但是过去的几年中一直不温不火。直到Flutter的出现现在被人们重新重视。 要学Flutter的话我们必须首先得

    2024年02月03日
    浏览(22)
  • SpringBoot -04 Thymeleaf入门与基础语法

    在spring的官方中并不支持jsp的渲染模板,对jsp并不友好,推荐使用Thymeleaf、FreeMarker等模板引擎 .html(不能取域对象的值) 能写Java代码的HTML,但是thymsleaf可以取值存值 特点: 动静结合:Thymeleaf页面可以独立运行,不依赖与服务器(jsp不可以) 开箱即用:支持标准的模板语言,

    2024年02月02日
    浏览(70)
  • 【JavaScript】JavaScript 程序流程控制 ⑥ ( while 循环概念 | while 循环语法结构 )

    在 JavaScript 中 , while 循环 是一种 \\\" 循环控制语句 \\\" , 使用该语句就可以 重复执行一段代码块 , 直到指定的 \\\" 条件表达式 \\\" 不再满足 , 如果 \\\" 条件表达式 \\\" 一开始就不满足 , 循环体 永远不会执行 ; while 循环语法结构如下 : 首先 , 执行 \\\" 条件表达式 \\\" , 在上述语法结构中 , \\\" 条件

    2024年04月15日
    浏览(30)
  • 【python 基础语法二】流程语法及字符串相关操作

    以冒号作为开始,用缩进来划分相同的作用域,这个整体是一个代码块 作用域:作用的区域 流程: 代码执行的过程 控制: 对代码执行过程中的把控 三大结构: 顺序结构: 默认代码从上到下,依次执行 分支结构: 单项分支、 双向分支、 多项分支、 巢状分支 循环结构: while / for 内置

    2023年04月26日
    浏览(70)
  • vue开发-语法和基础流程规范

    当一个请求发生的时候 后端的扭转流程对标前端的扭转过程 ***vue 中 整体url触发整体流程服务流程: node 中定义了默认加载 vue.config.js 文件 (vue.config.js 文件名不可更改)- vue.config.js 中 devServer 绑定了个 ip端口 和资源 -》 然后将资源 交给浏览器 浏览器通过# 来做相对定位〉

    2024年02月09日
    浏览(24)
  • 二、C#基础语法( 控制结构)

    在C#中,控制结构用于控制程序的流程,决定了代码的执行顺序。C#支持以下几种主要的控制结构: 条件语句 :根据某个条件(布尔表达式)来决定执行的代码块。 循环语句 :重复执行一段代码,直到满足某个条件。 跳转语句 :改变程序的执行流程。 异常处理 :用于捕获

    2024年02月04日
    浏览(29)
  • Flutter Dart语言(04)库操作

    该系列教程主要是为有一定语言基础 C/C++的程序员,快速学习一门新语言所采用的方法,属于在C/C++基础上扩展新语言的模式。 引入代码如下所示: 一般从官方网站:Page 1 | Top packages中 搜索需要的第三方库,打开项目中的配置文件,名为:pubspec.yaml,找到dependencies选项,这

    2024年02月14日
    浏览(30)
  • FPGA_学习_04_Verilog基础语法和Modelsem仿真

    前言:对于以前学过C/C++/C#的作者来讲,Verilog的基础语法算是 特别简单 的。本文主要介绍Verilog的基础语法和Modelsem仿真。 FPGA开发是以模块为基础的,每个可 综合 的.v文件都是一个模块,模块由 module 和 endmodule 来声明。在这两个的内部,完成模块功能的实现。 在Vi

    2024年02月05日
    浏览(34)
  • 沁恒CH32V307单片机入门(01):基础说明与流程体验

    工作这几年单片机主要就接触过 Atmel、Renesas、Microchip、ST 这些厂家的,最近几年因为内部外部的各种因素单片机的价格和供应都挺不稳定的,将来会发生什么也不好说。另外这些年国内的单片机发展也挺快的。所以准备试试国产的单片机。 这里准备使用南京沁恒的CH32V307为基

    2024年01月25日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包