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

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

二、循环语句:for、for in

 
  //使用for循环
var list = [4,2,3];
for(var i=0; i<list.length; i++) {
print(list[i]);
}
//使用forin循环
for (var item in list) {
print(item);
}
/*
4
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 < ); //确保它是一个https协议类型的URL.
assert(urlString.startsWith(‘https’));
Dart学习系列文章:https://www.cnblogs.com/jukaiit/category/1636484.html

最新文章

  1. HTML网页调用本地QQ
  2. npm获取配置,设置代理
  3. HDU 4046 Panda (ACM ICPC 2011北京赛区网络赛)
  4. 免费搭建wordpress博客有感
  5. React Native 系列(一) -- JS入门知识
  6. 【算法】字典的诞生:有序数组 PK 无序链表
  7. python中读取文件的read、readline、readlines方法区别
  8. Nginx PREACCESS阶段 如何限制每个客户端每秒处理请求数
  9. DBSCAN密度聚类
  10. Automatic overvoltage protection
  11. 【Java】-NO.16.EBook.4.Java.1.004-【疯狂Java讲义第3版 李刚】- 内部类
  12. H5+JS生成验证码
  13. 基础知识之nginx重写规则
  14. Qrcode生成二维码的参数总结 及最小尺寸的测试
  15. iOS中CGRectDividede中布局用法
  16. cocoapods 配置
  17. Linux环境更改Jenkins的主目录
  18. [Haskell]解决hslua unknown symbol `___s trtod&#39;的问题
  19. 撩课-Web大前端每天5道面试题-Day15
  20. Codeforces243A The Brand New Function

热门文章

  1. 计算几何-Andrew法-凸包
  2. WLC-Virtual Interface IP
  3. gcc 简单使用笔记
  4. 【音乐欣赏】《Happy Together (The Turtles Cover)》 - Unlike Pluto / Why Mona
  5. 201771010135 杨蓉庆/张燕《面对对象程序设计(java)》第十三周学习总结
  6. 在 Fabric 中使用私有数据
  7. innerAudiocontext的坑
  8. 【PAT甲级】1090 Highest Price in Supply Chain (25 分)
  9. 【C语言】求1到100的和
  10. 将训练好的Tensorflow模型部署到web应用中