文章目录
前言
本文是笔者关于Dart语法中的运算符、条件表达式、类型转换整理
一、运算符
算法运算符
int a=13; //赋值
int b=5; //赋值
print(a+b); //加 18
print(a-b); //减 8
print(a*b); //乘 65
print(a/b); //除 2.6
print(a%b); //其余 3
print(a~/b); //取整 2 运算符
大体和其他语言一致,除法上除和取整相对特别
关系运算符
int a=5;
int b=3;
print(a==b); //判断是否相等
print(a!=b); //判断是否不等
print(a>b); //判断是否大于
print(a<b); //判断是否小于
print(a>=b); //判断是否大于等于
print(a<=b); //判断是否小于等于
if(a>b){
print('a大于b');
}else{
print('a小于b');
}
逻辑运算符
bool flag=false;
print(!flag); //取反
/* && 并且:全部为true的话值为true 否则值为false */
bool a=true;
bool b=true;
print(a && b);
/* ||或者:全为false的话值为false 否则值为true */
复合赋值运算符
int num5 = 10;
num5 += 10; // num5 = num5 + 10;
num5 -= 2; // num5 = num5 - 2;
num5 *= 2; // num5 = num5 * 2;
num5 /= 2; // num5 = num5 / 2;
num5 %= 5; // num5 = num5 % 5;
num5 ~/= 3; // num5 = num5 ~/ 3; //自增自减运算符
自增自减运算符
//自增
var a=10;
a++; //a=a+1;
print(a); 11
var a=10;
++a; //a=a+1;
print(a); 11
//自减
var a=10;
a--; //a=a-1;
print(a) 9;
var a=10;
--a; //a=a-1;
print(a) 9;
//赋值运算 如果++ --写在后面 先赋值后运行运算
var a=10;
var b = a++; //b = a=a+1;
print(a); 11
print(b); 10
var a=10;
var b = a--; //b = a=a-1;
print(a); 9
print(b); 10
二、条件表达式
条件表达式上Dart与其他语言几乎没有出入,可以类比Java、C++
If else条件表达式
var score=41;
if(score>90){
print('优秀');
}else if(score>70){
print('良好');
}else if(score>=60){
print('及格');
}else{
print('不及格');
}
swtich表达式
switch(index){
case index:
break;
default:
break;
}
三目表达式
bool flag=false;
String c=flag?'我是true':'我是false';
int num6;
int num7 = num6 ?? 24;//当num6为空时,将24的值赋给num7
print(num7); // 24
三、类型转换
Number和String类型转换
//类型转换 Numer --> String (toString()) String --> Number (parse())
String str3 = '123';
int num8 = int.parse(str3); //123
print(num8 is int); // true
String str4 = '123.3'; // 如果 String str4 = ''; 空值会报错
double num9 = double.parse(str4);
print(num9 is double); // true
//转换失败解决方案
try{
String str5 = '';
double num10 = double.parse(str5);
print(num10);
//print(num10 is double); // 报错 String 不能为空
}catch(err){
print(0);
}
//Number --> String toString()
int num11 = 123;
String str6 = num11.toString();
print(str6 is String); // true
Boolean类型的转换
String str7 = '';
if(str7.isEmpty){
print('str7 空值');
}else{
print('str7 不为空');
}
int num12 = 123;
if(num12 == 0){
print('为 0');
}else{
print('不为 0');
}
int num13 = 0 / 0; // NaN
if(num13.isNaN){
print('NaN');
}
}
总结
以上是关于Dart中运算符、条件表达式、类型转换整理,欢迎大家补充