Flutter学习笔记(6)--Dart流程控制语句
如需转载,请注明出处:Flutter学习笔记(5)--Dart流程控制语句
条件语句:if、if...elseif、if...elseif...else
int score = ;
if (score >=) {
print('优秀');
} else if (>=score && score<) {
print('良');
} else if (>=score && score<) {
print('及格');
} else {
print('不及格');
} //优秀
循环语句:for、forin
//使用for循环
var list = [,,];
for(var i=; i<list.length; i++) {
print(list[i]);
}
//使用forin循环
for (var item in list) {
print(item);
}
/*
1
2
3
*/
循环语句:while循环、do...while循环
//while 先判断条件在执行
int i = ;
while (i < ) {
print(i++);
};
/*
0,
1
*/
//do...while 先执行一次在判断条件,至少执行一次
do {
print(i--);
} while (i > && i < ); /*
0,
1
*/
终止当前循环:break 终止离break最近的循环,只能终止一层循环
//当i==2时候已经终止循环了
for (var i = ; i < ; i++) {
if (i == ) {
break;
}
print(i);
}
/*
0,
1
*/ //break终止的只是当前循环,只能终止一层循环
for (var i = ; i < ; i++) {
for (var j = ; j < ; j++) {
if (j == ) {
break;
}
print('[$i,$j]');
};
};
/*
[0,0]
[1,0]
*/
跳出当前循环:continue 跳出当前循环,只能跳出一层循环
//当i==2时候已经跳出循环,执行下一次循环
for (var i = ; i < ; i++) {
if (i == ) {
continue;
}
print(i);
}
/*
0,
1,
3
*/ //contiue跳出的只是当前循环,只能跳出一层循环
for (var i = ; i < ; i++) {
for (var j = ; j < ; j++) {
if (j == ) {
continue;
}
print('[$i,$j]');
};
};
/*
[0,0]
[0,2]
[0,3]
[1,0]
[1,2]
[1,3]
*/
switch...case语句
比较类型可以有:num、String、编译期常量、对象、枚举
非空case必须有一个默认情况
default 处理默认情况
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,则继续执行下面的语句;
如果一个布尔条件值为false,使用assert语句来中断正常执行的代码
Assert语句仅仅只能在调试模式下使用,在生产模式下没有任何作用。
在assert语句后面的括号中,你可以加入任何表示布尔值或者函数的表达式。
如果表达式的值或者函数返回值true,则assert语句成功并继续执行代码。如果值为false,则assert语句失败并抛出一个异常。
//确保这个变量不为空值.
assert(text != null); //确保这个变量小于100.
assert(number < ); //确保它是一个https协议类型的URL.
assert(urlString.startsWith(‘https’));
Flutter学习笔记(6)--Dart流程控制语句的更多相关文章
- Flutter学习笔记(5)--Dart运算符
如需转载,请注明出处:Flutter学习笔记(5)--Dart运算符 先给出一个Dart运算符表,接下来在逐个解释和使用.如下: 描述 ...
- Flutter学习笔记(3)--Dart变量与基本数据类型
一.变量 在Dart里面,变量的声明使用var.Object或Dynamic关键字,如下所示: var name = ‘张三’: 在Dart语言里一切皆为对象,所以如果没有将变量初始化,那么它的默认值 ...
- Flutter学习笔记(4)--Dart函数
如需转载,请注明出处:Flutter学习笔记(4)--Dart函数 Dart是一个面向对象的语言,所以函数也是对象,函数属于Function对象,函数可以像参数一样传递给其他函数,这样便于做回调处理: ...
- Flutter学习笔记(6)--Dart异常处理
如需转载,请注明出处:Flutter学习笔记(6)--Dart异常处理 异常是表示发生了意外的错误,如果没有捕获异常,引发异常的隔离程序将被挂起,并且程序将被终止: Dart代码可以抛出并捕获异常,但 ...
- Flutter学习笔记(8)--Dart面向对象
如需转载,请注明出处:Flutter学习笔记(7)--Dart异常处理 Dart作为高级语言,支持面向对象的很多特性,并且支持基于mixin的继承方式,基于mixin的继承方式是指:一个类可以继承自多 ...
- Flutter学习笔记(17)--顶部导航TabBar、TabBarView、DefaultTabController
如需转载,请注明出处:Flutter学习笔记(17)--顶部导航TabBar.TabBarView.DefaultTabController 上一篇我们说了BottmNavigationBar底部导航 ...
- Flutter学习笔记(9)--组件Widget
如需转载,请注明出处:Flutter学习笔记(9)--组件Widget 在Flutter中,所有的显示都是Widget,Widget是一切的基础,我们可以通过修改数据,再用setState设置数据(调 ...
- Flutter学习笔记(10)--容器组件、图片组件
如需转载,请注明出处:Flutter学习笔记(10)--容器组件.图片组件 上一篇Flutter学习笔记(9)--组件Widget我们说到了在Flutter中一个非常重要的理念"一切皆为组件 ...
- Flutter学习笔记(11)--文本组件、图标及按钮组件
如需转载,请注明出处:Flutter学习笔记(10)--容器组件.图片组件 文本组件 文本组件(text)负责显示文本和定义显示样式,下表为text常见属性 Text组件属性及描述 属性名 类型 默认 ...
随机推荐
- SVN清理失败(clean up)或者(lock)问题进入死循环最终解决方案
解决方法: step1: 到 sqlite官网 (http://www.sqlite.org/download.html) 下载 sqlite3.exe step2: 将下载到的 sqlite3.ex ...
- JUC-5-CountDownLatch 闭锁
CountDownLatch 闭锁 同步辅助类 一组操作中,多个线程完成, 闭锁会允许一个或多个线程一直等待. 即 所有线程都完成才继续执行
- SQL Server 2012 官方版 / SQL Server 2012下载
SQL Server是微软的一款专业免费的关系数据库管理工具, 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理服务,SQL Server 数据库引擎为关系型数据和结构化 ...
- 【译】ModSecurity
Preface 本篇译ModSecurity 主页的自身介绍. ModSecurity is an open source, cross-platform web application firewa ...
- vue组件之间的通信方式
组件之间的通信方式有很多种 这里分享4种组件之间的通信方式 props(主要是父传子) 自定义事件(主要是子传父) pubsub消息订阅与发布 xuex 1.props和自定义事件 app.vu ...
- [认证 & 授权] 3. 基于OAuth2的认证(译)
OAuth 2.0 规范定义了一个授权(delegation)协议,对于使用Web的应用程序和API在网络上传递授权决策非常有用.OAuth被用在各钟各样的应用程序中,包括提供用户认证的机制.这导致许 ...
- Maven pom.xml文件深度学习
本文介绍Maven项目构建中,pom.xml文件的生成规则和常用节点的使用方法.pom.xml官方网址:http://maven.apache.org/pom.html pom简介 pom作为项目对象 ...
- C# -- Quartz.Net入门案例
1. 入门案例 using Quartz;using Quartz.Impl; public class PrintTime : IJob { public Task Execute(IJobExec ...
- useradd命令详解(转)
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户. 2.格式 useradd [-d home] [-s shell] [-c comment] [ ...
- ELK日志分析系统(1)-基本环境搭建
1. 概述 ELK = Elasticsearch + Logstash + Kibana Elasticsearch是实时全文搜索和分析引擎,提供搜集.分析.存储数据三大功能:是一套开放REST和J ...