(三)Dart运算符 、条件表达式 、类型转换 1. Dart运算符 、条件表达式 、类型转换1.1. Dart运算符1.1. 算术运算符算术运算符 - * / ~/ (取整) %取余inta13;intb5;print(ab);//加print(a-b);//减print(a*b);//乘print(a/b);//除print(a%b);//其余print(a~/b);//取整var ca*b;print(--------);print(c);1.2. 关系运算符关系运算符 inta5;intb3;print(ab);//判断是否相等print(a!b);//判断是否不等print(ab);//判断是否大于print(ab);//判断是否小于print(ab);//判断是否大于等于print(ab);//判断是否小于等于1.3. 关系运算符关系运算符逻辑运算符 ! ||/* ! 取反 */bool flagfalse;print(!flag);//取反/* 并且:全部为true的话值为true 否则值为false */bool atrue;bool btrue;print(ab);/* ||或者全为false的话值为false 否则值为true */bool cfalse;bool dfalse;print(c||d);//如果一个人的年龄是20 并且 sex是女的话我们打印这个人intage20;String sex女;if(age20sex女){print($age --- $sex);}else{print(不打印);}//如果一个人的年龄是20 或者 sex是女的话我们打印这个人intage223;String sex2女;if(age220||sex2女){print($age2 --- $sex2);}else{print(不打印);}1.4. 逻辑运算符基础赋值运算符 ??复合赋值运算符 - * / % ~/// 1、基础赋值运算符 ??inta10;intb3;print(a);intcab;//从右向左print(c);// d??23; 表示如果b为空的话把 23赋值给bintd6;d??23;print(d);// int e;// e??23;// print(e);//2、复合赋值运算符 - * / % ~/var f12;ff10;print(f);var g13;g10;//表示gg10print(g);var h4;h*3;// h h*3;print(h);1.5. 条件表达式条件表达式 if else switch case//1、if else switch casebool flagtrue;if(flag){print(true);}else{print(false);}//判断一个人的成绩 如果大于60 显示及格 如果大于 70显示良好 如果大于90显示优秀var score41;if(score90){print(优秀);}elseif(score70){print(良好);}elseif(score60){print(及格);}else{print(不及格);}var sex女;switch(sex){case男:print(性别是男);break;case女:print(性别是女);print(性别是女);break;default:print(传入参数错误);break;}//2、三目运算符var falg2true;var c;if(falg2){c我是true;}else{c我是false;}print(c);bool flag3false;String dflag3?我是true:我是false;print(d);//3 ??运算符var e;var fe??10;print(f);//10var a22;var ba??10;print(b);1.6. 类型转换1 Number与String类型之间的转换Number类型转换成String类型 toString()String类型转成Number类型 int.parse()2其他类型转换成Booleans类型isEmpty:判断字符串是否为空//1、Number与String类型之间的转换// Number类型转换成String类型 toString()// String类型转成Number类型 int.parse()String str123;var myNumint.parse(str);print(myNum isint);String str2123.1;var myNum2double.parse(str2);print(myNum2 isdouble);String price312;var myNum3double.parse(price3);print(myNum3);print(myNum3 isdouble);//报错// String price;// var myNumdouble.parse(price);// print(myNum);// print(myNum is double);// try ... catchString price;try{var myNumdouble.parse(price);print(myNum);}catch(err){print(0);}var myNum412;var str4myNum4.toString();print(str4 is String);// 2、其他类型转换成Booleans类型// isEmpty:判断字符串是否为空var str5;if(str5.isEmpty){print(str空);}else{print(str不为空);}var myNum5123;if(myNum50){print(0);}else{print(非0);}var myNum7;if(myNum70){print(0);}else{print(非0);}var myNum8;if(myNum8null){print(空);}else{print(非空);}var myNum90/0;// print(myNum);if(myNum9.isNaN){print(NaN);}