前言
学习教程地址
系统:macOS
软件:Android Studio 4.1.2
Dart的语法类似C语言,可以转译为JavaScript。
一、条件表达式
1、if…else
var flag = true;
var c;
if(flag){
c = '我是true';
}else{
c = '我是false';
}
print(c);
2、switch…case
switch(flag){
case true:
print('我是true');
break;
case false:
print('我是false');
break;
default:
print('传入参数错误');
break;
}
3、三目运算符
c = flag?'我是true':'我是false';//与上面if...else代码段含义一样
print(c);
4、??运算符 与 ??= 意义一样
var a;
var b = a ?? 10;//如果a的值为空则b=10,否则=a;
print(b);
二、循环语句
1、for循环
1.1、基本语法
for(int i = 0; i < 10; i++){
print(i);
}
//求1+2+3+...+100的和
var sum = 0;
for(int i = 0; i <= 100; i++){
sum+=i;
}
print(sum);//5050
//计算5的阶乘
var vol = 1;
for(int i = 1; i <= 5; i++){
vol*=i;
}
print(vol);//120
1.2、遍历List
//依次打印List ['张三','李四','王五']里面的内容
var list = ['张三','李四','王五'];
for(int i = 0; i < list.length; i++){
print(list[i]);
}
/*
国内新闻1
国内新闻2
国内新闻4
*/
List l1 = [
{'title':'国内新闻1'},
{'title':'国内新闻2'},
{'title':'国内新闻3'}
];
for(int i = 0; i < l1.length; i++){
print(l1[i]['title']);
}
1.3、遍历二维数组
/*
国内
国内新闻1
国内新闻2
国内新闻4
国际
国际新闻1
国际新闻2
国际新闻3
*/
List l2 = [
{
'cate':'国内',
'news':[
{'title': '国内新闻1'},
{'title': '国内新闻2'},
{'title': '国内新闻3'}
]
},
{
'cate':'国际',
'news':[
{'title': '国际新闻1'},
{'title': '国际新闻2'},
{'title': '国际新闻3'}
]
}
];
for(int i = 0; i < l2.length; i++){
print(l2[i]['cate']);
for(int j = 0; j < l2[i]['news'].length; j++){
print(' '+l2[i]['news'][j]['title']);
}
}
2、while语句和do…while语句
2.1、while语句
//语法格式:
//while(表达式/循环条件){
//}
/*
int i=1;
while(i<=10){
print(i);
}//死循环
*/
int i=1;
while(i<=10){
print(i);
i++;
}
2.2、do…while语句
//语法格式:
//do{
//语句/循环体
//}while(表达式/循环条件);
int a=1;
do{
print(a);
a++;
}while(a<=10);
注意:
1、do…while最后的分号不要忘记。
2、循环条件中使用的变量需要经过初始化。
3、循环体中,应有结束循环的条件,否则会造成死循环。
拓展:
while 和 do…while的区别,第一次循环条件不成立的情况下。
// while先判断语句,再执行
int i=10;
while(i<2){
print('执行代码');//不执行
}
//do...while先执行再判断语句
var j=10;
do{
print('执行代码');//执行
}while(j<2);
3、break和continue
3.1、break语句
(1)、在switch语句中使流程跳出switch结构。
(2)、在循环语句中使流程跳出当前循环。遇到break循环终止,后面代码也不会执行。
强调:
(1)、如果在循环中已经执行了break语句,就不会执行循环体中位于break后的语句。
(2)、在多层循环中,一个break语句只能跳出一层循环。
(3)、break可以用在switch…case中,也可以用在for循环和while循环中。
//如果i等于4的话跳出循环
for(var i=1;i<=10;i++){
if(i==4){
break; /*跳出循环体*/
}
print(i);//1 2 3
}
//break语句只能向外跳出一层
for(var i=0;i<5;i++){
print('外层---$i');
for(var j=0;j<3;j++){
if(j==1){
break;
}
print('里层$j');
}
}
//while循环 break跳出循环
var i=1;
while(i<=10){
if(i==4){
break;
}
print(i);
i++;
}
3.2、continue语句
【注】只能在循环语句中使用,使本次循环结束,即跳过循环体中下面尚未执行的语句,接着进行下次的是否执行循环的判断。
continue可以用在for循环以及 while循环中,但是不建议用在while循环中,不小心容易死循环。
//1、如果i等于4的话跳过
for(var i=1;i<=10;i++){
if(i==4){
continue; /*跳过当前循环体 然后循环还会继续执行*/
}
print(i);//1 2 3 5 6 7 8 9 10
}