前言:
小伙伴们!周末回来,接下来我继续给大家入门Dart语言,今天是本系列文章第四篇,看过上篇文章的知道,我们已经介绍到了语句部分,所以这篇文章我将继续给大家介绍Dart中的其他语句写法及用法。还是那句话,对于小白来说,希望你们在看这篇文章前把前面的文章都按顺序看完,这样对你的学习帮助只会更大。好了, 系列文章地址下面已给出。废话不多说,开始今天的介绍。
一,for循环语句:
for循环语句,基本上所有的高级语言中都有它的身影,而且写法也大同小异。一般用在需要将数组,集合中的元素遍历出来时,我们还是通过代码示例来进一步讲解吧!
// for循环语句示例
void main(){
var list = [23,'j',24,'k'];//首先声明一个list数据源
/**
*下面是for循环语句的常规写法
*IDE自动生成 for (var i = 0; i < count; i++) {方法体}
*首先定义一个index(i)变量,随后给该变量一个设置一个大小变化范围,最后指定变化方式
*意思是让index根据指定变化方式在一个范围内循环变化大小,最后达到峰值跳出循环
*/
for(var i = 0;i < list.length;i++){
print(list[i]);//根据上面注释这里打印的结果就是list集合里,0到3下标的元素
}
print('-------------------------------------');
/**
*下面是for循环语句的简写方式,在其他语言当中也被叫作增强for循环
*IDE自动生成 for (var item in items) {方法体}
*根据items数据源的元素类型,定义一个变量item,循环遍历这个数据源
*这种写法的特点就是你可以直接获取数据源元素,写法简便,其实它内部实现就是上面的常规写法
*只不过进行了一定的封装,用在当你不需要index的时候
*/
for (var item in list) {
print(item);//根据上面注释打印结果就是list的元素按顺序输出
}
}
二,break和continue语句:
大家想想看上面的for循环语句,有时候你是不是想要控制一下它的进度,比如说当你想要查找一个元素,查到之后就不继续循环等等类型逻辑,默认情况下,你是控制不了for循环的,这个时候就要用到break和continue语句了,其实看字面意思,小伙伴们也能大概知道它的作用,同样的在很多高级语言当中都有它的身影,好吧,我们还是来直接看代码示例吧!
//break和continue语句示例
void main(){
var list = [2,3,4];
for (var i = 0; i < list.length; i++) {
if(i == 1){
//continue 本义是继续,作用为跳出本次循环,继续下面的循环,也就是说该层for循环遇到它,下面的
//方法体就不执行了,接着继续执行它以后的循环逻辑
continue;
}
print(list[i]);//根据上面注释当i=1时,下面的打印就不执行,所以结果为2,4
}
print('--------------------------------');
var list2 = [4,5,6];
for (var item in list) {
if(item == 3){
//break本义为打断,作用上它比continue更彻底,直接是断开循环,也就是说for循环遇到它,后面的
//循环都不执行了,直接退出
break;
}
for (var item in list2) {
if(item == 5){
continue;
}
//根据上面注释当item==3时,外层for循环直接退出,所以打印的都是外层item==2时
//的数据,再结合内层循环的逻辑根据continue注释,最终结果为4,6
print(item);
}
}
}
三,if语句:
if语句的话,几乎是最通用的控制语句了,也可以说是最简单的,if就是如果,其实作为开发者而言如果追求程序的健壮性的话,if我们得少用,想想看,如果一段代码出现很多if语句,那它执行起来是不是很累呢,所以我们写程序尽量少用,或者可以用诸如三目运算来代替它,好了!我们简单看一段代码示例吧!
//控制语句if示例
void main(){
/**
*这段代码应该懂点英语就理解了吧,就是如果(if)怎么样,其他(else)怎么样,当然它可以有嵌套
*/
int score = 100;
if(score >= 90){
if(score == 100){
print('完美');
}else{
print('优秀');
}
}else if(score >= 60){
print('良好');
}else{
print('不及格');
}
}
四,while语句:
while语句和for循环语句有点类似,都是用于循环执行某段逻辑,以便于后续操作,在do while语句中它还能在循环开始前就做一些逻辑操作,我们还是通过代码示例来增强理解学习吧!
//while语句示例
void main(){
int count = 0;
/**
*while语句的第一种用法,格式:while(boolean值){方法体}
*当boolean值为true时,循环执行方法体,否则结束退出
*/
while(count < 5){
print(count++);//根据上面注释结果为0,1,2,3,4
}
print('count=$count');//结果为5
/**
*while语句的第二种用法,格式:do{方法体}while(boolean值){方法体}
*和上面不同的地方在于它会先执行do里面的方法体,后面再接着循环,而且每次也都会执行do
*/
do {
print(--count);//根据上面注释结果为4,3,2,1,0
} while (count > 0 && count < 5);{
}
print('count=$count');//结果是0
}
五,switch语句:
switch本意是开关,switch语句的作用就是把指定类型的变量,按值来分别做相应逻辑处理,比如说你去买衣服,肯定到一个专门卖衣服的商场,然后再去找你想要的品牌。用在程序中其实作用也是类似。switch语句也可以用来代替一下if语句,很多高级语言也都有它,不过在Dart语言中它有和其他语言不同的特点,我们通过看一看代码来加深理解
//switch语句示例
void main(){
var lan = 'dart';
/**
*switch语句一般格式:switch(变量){case 给定值:break;case 给定值:break;...default:(可不写)}
*作用就是当这个变量的值符合对应给定值时执行相应方法体,如果没有对应值就走default方法体(前提是有)
*
*在下面的示例中我们注意到有个d:段落,这个就是Dart独有的特性,你可以自定义一个分支
*然后再一个地方执行它就行,名字随便取
*/
switch (lan) {
d:
case 'java':
print('Java is the best language in the world');
break;
case'dart':
print('dart is the best language in the world');
continue d;//确定当前匹配值后,跳出当次匹配,继续进行一次直到遇到break;
default:
print('js is the best language in the world');
}
//根据上面所有的注释我们可以得知switch语句执行结果为先打印case'dart'再打印case 'java'
}
好了,以上就是Dart语句相关的基础知识了,怎么样是不是很简单,不管学什么入门总是不难的,当然最后我们还是要深入学习,如果小伙伴们想更加深入了解Dart,官方文档是最好的学习渠道,因为本系列文章只是大家一起入门一下,所以说的都是非常基础的,包括这篇文章在内,我们前面讲的都是Dart最基础的部分,当初介绍Dart语言的时候,我们说它是一门面向对象的编程语言,那么什么是面向对象,这是众多高级语言都具有的特点,从下一篇文章开始我将带小伙伴们进入面向对象阶段的介绍,这是Dart语言最核心,最关键的地方。到时候相信大家对Dart语言会有一个全新的认知。今天就说到这,下面给出代码地址