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

目录

    • 基础语法-流程控制
    • if 语句
    • 补充:三元运算符
    • switch – case 语句
    • 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);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/624275.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二叉树DFS

基础知识 二叉树遍历 二叉搜索树BST 二叉树三种深度遍历 LeetCode 94. 二叉树的中序遍历 class Solution {public List<Integer> inorderTraversal(TreeNode root) {List<Integer> ans new ArrayList<>();inorder(root, ans);return ans;}public void in…

JAVA JNA调用动态链接库

1.JAVA 中pom坐标的引入 <dependency><groupId>net.java.dev.jna</groupId><artifactId>jna-platform</artifactId><version>5.2.0</version></dependency> 2.首先根据系统判断动态连接库的调用的类型 String os this.syste…

Pod的控制器

Pod的控制器是什么&#xff1f; pod控制器&#xff1a;工作负载均衡。workload。用于管理pod的中间层。确保pod资源符合预期的状态。 预期状态&#xff1a; 副本数 容器的重启策略 镜像拉取策略 pod出现故障时的重启等等 Pod控制器的类型 1、 replicaSet&#xff1a;指…

NLP论文阅读记录 - WOS | 2023 TxLASM:一种新颖的与语言无关的文本文档摘要模型

文章目录 前言0、论文摘要一、Introduction1.1目标问题1.2相关的尝试1.3本文贡献 二.文献综述及相关工作三.本文方法四 实验效果4.1数据集4.2 对比模型4.3实施细节4.4评估指标4.5 实验结果4.6 细粒度分析 五 总结思考 前言 TxLASM: A novel language agnostic summarization mo…

用了这8个 Python 数据挖掘工具包,生产力明显得到了提升!

在进行数据科学时&#xff0c;可能会浪费大量时间编码并等待计算机运行某些东西。所以我选择了一些 Python 库&#xff0c;可以帮助你节省宝贵的时间。 喜欢记得收藏、关注、点赞&#xff0c;文末送技术交流和资料 1、Optuna Optuna 是一个开源的超参数优化框架&#xff0c;…

ArkTS中自定义组件

ArkTS中自定义组件 一、组件位置二、Hello.ets自定义组件自定义组件 三、Second.ets父组件 一、组件位置 一个项目下所有的自定义的组件名不可以重复&#xff0c;无论是否在一个ets文件中 二、Hello.ets自定义组件 自定义组件 1&#xff1a;组件必须使用Component装饰 2&#…

stable-diffusion-webui的逐步部署教程

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

IIC学习之SHT30温湿度传感器(基于STM32)

简介 附上SHT30资料和逻辑分析仪源文件&#xff0c;点击下载 关于IIC的介绍网上已经非常详尽&#xff0c;这里只说重点&#xff1a; 双线&#xff08;SDA&#xff0c;SCL&#xff09;&#xff0c;半双工采用主从结构&#xff0c;支持一主多从&#xff0c;通过地址寻址&#…

USB转串口芯片 国产GP232RL 低成本兼容替代FT232RL 数据手册资料参考

随着工业物联网的不断发展&#xff0c;USB接口正在逐渐替代老式电脑的各种低俗外围接口&#xff0c;然而目前的工业环境中&#xff0c;许多重要的设备仍然使用RS232、RS422、RS485接口界面设计&#xff0c;因此许多用户使用USB转RS232、RS422、RS485转换器或者是转换线&#xf…

Overmind平台推出Sui任务,帮助开发者学习Move并构建强大的应用程序

Overmind与Sui基金会合作&#xff0c;推出了其首个任务系列&#xff0c;旨在帮助开发者学习Move并开始在Sui上构建。这些任务通过提供赢取奖励的机会来将学习体验变成游戏&#xff0c;激励开发者构建高质量的代码并向Sui社区展示他们的技能。 去年推出的Overmind平台正在扩展到…

从零学算法46

46.给定一个不含重复数字的数组 nums &#xff0c;返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 示例 2&#xff1a; 输入&#xff1a;nums…

Leetcode20-唯一摩尔斯密码词(804)

1、题目 国际摩尔斯密码定义一种标准编码方式&#xff0c;将每个字母对应于一个由一系列点和短线组成的字符串&#xff0c; 比如: ‘a’ 对应 “.-” &#xff0c; ‘b’ 对应 “-…” &#xff0c; ‘c’ 对应 “-.-.” &#xff0c;以此类推。 为了方便&#xff0c;所有 26…

new mars3d.graphic.PolylineEntity({在固定高度开启编辑模式的坐标自定义处理

功能示例(Vue版) | Mars3D三维可视化平台 | 火星科技 问题场景&#xff1a; 1.在编辑航线时&#xff0c;需要指定航线坐标在固定高度值上开启编辑模式。 2.关键代码是&#xff1a; graphicLayer.startEditing({开启编辑模式&#xff0c;进行航线的编辑。 解决方案&#xf…

大模型实战营Day4 XTuner 大模型单卡低成本微调实战 作业

按照文档操作&#xff1a; 单卡跑完训练&#xff1a; 按照要求更改微调的数据&#xff1a; 完成微调数据的脚本生成&#xff1a; 修改配置文件&#xff1a; 替换好文件后启动&#xff1a; 启动后终端如图&#xff1a; 用于微调的一些数据显示&#xff1a; 训练时间&#x…

Gd-DOTA-NH2与DOTA-NH2:特点与应用的对比讨论

在生物医学领域&#xff0c;配体化学的重要性日益凸显。其中&#xff0c;Gd-DOTA-NH2和DOTA-NH2就是两种常见的配体&#xff0c;它们在磁共振成像&#xff08;MRI&#xff09;中具有应用。然而&#xff0c;这两种配体的化学结构存在差异&#xff0c;因此它们的应用范围和特性也…

muduo网络库剖析——套接字Socket类

muduo网络库剖析——套接字Socket类 前情从muduo到my_muduo 概要socket网络编程socket编程接口介绍头文件socketbindlistenacceptaccept4connect 框架与细节成员函数使用方法 源码结尾 前情 从muduo到my_muduo 作为一个宏大的、功能健全的muduo库&#xff0c;考虑的肯定是众多…

数字孪生+人工智能突破复杂地形和气候提供可靠的电力

利用 Bentley 应用程序实现数字化交付&#xff0c;大大缩短了项目时间和成本&#xff0c;降低了碳排放量 Kalpataru Projects International Limited (KPIL) 正在扩展喀麦隆的电力网络&#xff0c;以改善该国 13% 人口的电网连接和电力供应。根据其项目管理方法&#xff0c;KPI…

Oracle 实战手册 工作实战经验总结

一、基本的数据库管理 高级开发人员需要掌握&#xff0c;了解Oracle数据库运行的基本原理&#xff0c;了解其中的概念。 1、数据库的启动和关闭 2、如何确定Oracle的版本&#xff1f; SQL> select * from v$version 2 / BANNER -------------------------------------…

HarmonyOS 工程目录介绍

工程目录 AppScope&#xff1a;存放应用全局所需要的资源文件 base element&#xff1a;文件夹主要存放公共的字符串、布局文件等资源media&#xff1a;存放全局公共的多媒体资源文件app.json5&#xff1a;应用的全局的配置文件&#xff0c;用于存放应用公共的配置信息 {"…

电动工具直流调速专用集成电路GS069,具有电源电压范围宽、功耗小、抗干扰能力强等特性

GS069电动工具直流调速电路是CMOS专用集成电路&#xff0c;具有电源电压范 围宽、功耗小、抗干扰能力强等特点。通过外接电阻网络&#xff0c;改变与之相接 的VMOS 管的输出&#xff0c;达到控制电动工具转速的作用。该电路输出幅值宽&#xff0c; 频率变化小&#xff0c;占空比…