热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Flutter学习笔记(6)Dart流程控制语句

如需转载,请注明出处:Flutter学习笔记(5)--Dart流程控制语句条件语句:if、ifelseif、ifelseifelse intscore90;if(

如需转载,请注明出处:Flutter学习笔记(5)--Dart流程控制语句




  • 条件语句:if、if...elseif、if...elseif...else



 

int score = 90;
if (score >=90) {
print('优秀');
} else if (80>=score && score<90) {
print('良');
} else if (60>=score && score<80) {
print('及格');
} else {
print('不及格');
} //优秀

 




  • 循环语句:for、forin



//使用for循环
var list = [1,2,3];
for(var i=0; i print(list[i]);
}
//使用forin循环
for (var item in list) {
print(item);
}
/*
1
2
3
*/



  • 循环语句:while循环、do...while循环



//while 先判断条件在执行
int i = 0;
while (i <2) {
print(i++);
};
/*
0,
1
*/
//do...while 先执行一次在判断条件,至少执行一次
do {
print(i--);
} while (i > 0 && i <3);

/*
0,
1
*/



  • 终止当前循环:break 终止离break最近的循环,只能终止一层循环



//当i==2时候已经终止循环了
for (var i = 0; i <4; i++) {
if (i == 2) {
break;
}
print(i);
}
/*
0,
1
*/

//break终止的只是当前循环,只能终止一层循环
for (var i = 0; i <2; i++) {
for (var j = 0; j <4; j++) {
if (j == 1) {
break;
}
print('[$i,$j]');
};
};
/*
[0,0]
[1,0]
*/



  • 跳出当前循环:continue 跳出当前循环,只能跳出一层循环



//当i==2时候已经跳出循环,执行下一次循环
for (var i = 0; i <4; i++) {
if (i == 2) {
continue;
}
print(i);
}
/*
0,
1,
3
*/

//contiue跳出的只是当前循环,只能跳出一层循环
for (var i = 0; i <2; i++) {
for (var j = 0; j <4; j++) {
if (j == 1) {
continue;
}
print('[$i,$j]');
};
};
/*
[0,0]
[0,2]
[0,3]
[1,0]
[1,2]
[1,3]
*/



  • switch...case语句





  1. 比较类型可以有:num、String、编译期常量、对象、枚举



  2. 非空case必须有一个默认情况



  3. default 处理默认情况



  4. continue 跳转标签



//language 也可以是num、String、编译期常量、对象、枚举这几种类型
String language = 'java';
switch(language) {
case 'dart':
print('dart language');
break;
case 'java':
print('java language');
break;
case 'python':
print('python language');
break;
default:
print('none');
} //java language

/*
用continue跳转到位置执行最近的case
TopTest名字可以随便起
*/
switch(language) {

case 'dart':
print('dart language');
break;
case 'java':
print('java language');
continue TopTest
//break;
case 'python':
print('python language');
break;
TopTest:
default:
print('none');
}
/*
java language
none
*/



  • assert 中断代码流



Dart语言通过使用assert语句来中断正常的执行流程,当assert判断的条件为false时,发生中断,assert判断的条件时任何可以转化为boolean类型的对象,即使是函数也可以,如果assert的判断为true,则继续执行下面的语句;



  1. 如果一个布尔条件值为false,使用assert语句来中断正常执行的代码



  2. Assert语句仅仅只能在调试模式下使用,在生产模式下没有任何作用。



  3. 在assert语句后面的括号中,你可以加入任何表示布尔值或者函数的表达式。



  4. 如果表达式的值或者函数返回值true,则assert语句成功并继续执行代码。如果值为false,则assert语句失败并抛出一个异常。



//确保这个变量不为空值.
assert(text != null);

//确保这个变量小于100.
assert(number <100);

//确保它是一个https协议类型的URL.
assert(urlString.startsWith(‘https’));

 

下一章节:Flutter学习笔记(6)--Dart异常处理

 


推荐阅读
  • 解决发布版APK构建失败的问题 ... [详细]
  • C语言中按位取反与按位与运算符的使用方法及应用场景解析
    位运算是一种基于二进制的计算方式,在系统软件开发中经常用于处理二进制位的相关问题。C语言提供了六种位操作运算符,专门用于对整型数据(包括带符号和无符号的char、short等)进行操作。本文详细解析了按位取反和按位与运算符的使用方法及其典型应用场景,帮助开发者更好地理解和应用这些运算符。 ... [详细]
  • 效果预览1基本使用代码voidmain(){启动根目录runApp(MaterialApp(home:TestTipsPage(),));}classTestTipsPageext ... [详细]
  • DateTimenowDateTime.now();DateTimetimeDateTime.parse(2018-12-31);if(now.isBefore(time)){Du ... [详细]
  • 题目描述:给定一个区间,支持两种操作:1. 将位置a的值修改为b;2. 查询区间[a, b]内的子序列的最大和,其中子序列中相邻的元素必须具有不同的奇偶性。 ... [详细]
  • 本文介绍了如何使用Python爬取妙笔阁小说网仙侠系列中所有小说的信息,并将其保存为TXT和CSV格式。主要内容包括如何构造请求头以避免被网站封禁,以及如何利用XPath解析HTML并提取所需信息。 ... [详细]
  • 本文详细探讨了使用Python3编写爬虫时如何应对网站的反爬虫机制,通过实例讲解了如何模拟浏览器访问,帮助读者更好地理解和应用相关技术。 ... [详细]
  • 蒜头君的倒水问题(矩阵快速幂优化)
    蒜头君将两杯热水分别倒入两个杯子中,每杯水的初始量分别为a毫升和b毫升。为了使水冷却,蒜头君采用了一种特殊的方式,即每次将第一杯中的x%的水倒入第二杯,同时将第二杯中的y%的水倒入第一杯。这种操作会重复进行k次,最终求出两杯水中各自的水量。 ... [详细]
  • 题目链接: L - Floating-Point Numbers。题目要求处理带有15位小数的浮点数,计算其二进制表示的最大位数。 ... [详细]
  • 周排行与月排行榜开发总结
    本文详细介绍了如何在PHP中实现周排行和月排行榜的开发,包括数据库设计、数据记录和查询方法。涉及的知识点包括MySQL的GROUP BY、WEEK和MONTH函数。 ... [详细]
  • 本文介绍了如何在 Spring Boot 项目中使用 spring-boot-starter-quartz 组件实现定时任务,并将 cron 表达式存储在数据库中,以便动态调整任务执行频率。 ... [详细]
  • 普通树(每个节点可以有任意数量的子节点)级序遍历 ... [详细]
  • 本文介绍了 Go 语言中的高性能、可扩展、轻量级 Web 框架 Echo。Echo 框架简单易用,仅需几行代码即可启动一个高性能 HTTP 服务。 ... [详细]
  • Leetcode学习成长记:天池leetcode基础训练营Task01数组
    前言这是本人第一次参加由Datawhale举办的组队学习活动,这个活动每月一次,之前也一直关注,但未亲身参与过,这次看到活动 ... [详细]
  • 今天我开始学习Flutter,并在Android Studio 3.5.3中创建了一个新的Flutter项目。然而,在首次尝试运行时遇到了问题,Gradle任务 `assembleDebug` 执行失败,退出状态码为1。经过初步排查,发现可能是由于依赖项配置不当或Gradle版本不兼容导致的。为了解决这个问题,我计划检查项目的 `build.gradle` 文件,确保所有依赖项和插件版本都符合要求,并尝试更新Gradle版本。此外,还将验证环境变量配置是否正确,以确保开发环境的稳定性。 ... [详细]
author-avatar
黑天鹅猪猪_251
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有