Flutter学习笔记之Dart条件表达式和循环语句

前言

学习教程地址
系统: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
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值