本节主要讲Dart中的循环流程和常用的集合类的用法。
++ 表示自增1,a++相当于a=a+1;
-- 表示自减1, a--相当于a=a-1;
和其他语言一样,在赋值运算里面 如果++/-- 写在前面 这时候先运算再赋值,如果++/--写在后面先赋值后运行运算
1、循环
for (int i = 1; i<=100; i++) { print(i);}
//两种形式while(表达式/循环条件){ } do{ 语句/循环体}while(表达式/循环条件); 注意: 1、最后的分号不要忘记 2、循环条件中使用的变量需要经过初始化 3、循环体中,应有结束循环的条件,否则会造成死循环。
注意:
1、最后的分号不要忘记
2、循环条件中使用的变量需要经过初始化,
3、循环体中,应有结束循环的条件,否则会造成死循环。
//死循环int i=1;while(i<=10){ print(i);}
//正确的例子int i=1;var sum=0;while(i<=100){ sum+=i; i++;}print(sum);//第二种形式do...while例子int i=1;var sum=0;do{ sum+=i; i++;}while(i<=100);print(sum);
while 和 do while的区别:在第一次循环条件不成立的情况下,while不会执行循环体的代码,do...while会执行,也就是do...while的循环体至少要执行一次。
2、break和continue
break语句功能:
强调:
break可以用在switch case中 也可以用在 for 循环和 while循环中
continue语句的功能:
continue可以用在for循环以及 while循环中,但是不建议用在while循环中,不小心容易死循环
for(var i=1;i<=10;i++){ if(i==4){ break; /*跳出循环体*/ } print(i);}for(var i=1;i<=10;i++){ if(i==4){ continue; /*跳过当前循环体 然后循环还会继续执行*/ } print(i);}
1、List里面常用的属性和方法:
常用属性:
常用方法:
List myList=['香蕉','苹果','西瓜'];myList.add('桃子'); //增加数据 增加一个myList.addAll(['桃子','葡萄']); //拼接数组print(myList);print(myList.indexOf('苹x果')); //indexOf查找数据 查找不到返回-1 查找到返回索引值myList.remove('西瓜');myList.removeAt(1);print(myList);
2、Set
用Set最主要的功能就是去除数组重复内容,Set是没有顺序且不能重复的集合,所以不能通过索引去获取值
//List转成Set去重和Set转成ListList myList=['香蕉','苹果','西瓜','香蕉','苹果','香蕉','苹果'];var s=new Set();s.addAll(myList);print(s);print(s.toList());
3、Map
映射(Maps)是无序的键值对
常用属性:
常用方法:
Map person={ "name":"张三", "age":20, "sex":"男"};person.addAll({ "work":['敲代码','送外卖'], "height":160});print(person);person.remove("sex");print(person);
4、forEach
List myList=['香蕉','苹果','西瓜'];myList.forEach((v) { print(v);});
5、for...in
List myList=['香蕉','苹果','西瓜'];for(var item in myList){ print(item);}
5、where
List myList=[1,3,4,5,7,8,9];var f=myList.any((value){ //只要集合里面有满足条件的就返回true return value>5; });print(f);
6、any
List myList=[1,3,4,5,7,8,9];var f=myList.any((value){ //只要集合里面有满足条件的就返回true return value>5; });print(f);
7、every
List myList=[1,3,4,5,7,8,9];var f=myList.every((value){ //每一个都满足条件返回true 否则返回false return value>5; });print(f);
8、map
map返回一个数组
List myList=['香蕉','苹果','西瓜'];var newList = myList.map((v) { return v * 2;});print(newList);//(香蕉香蕉, 苹果苹果, 西瓜西瓜)