一、算数运算符
int a = 10;
int b = 2;
print("a+b=${a+b}");//a+b=12
print("a-b=${a-b}");//a-b=8
print("a*b=${a*b}");//a*b=20
print("a/b=${a/b}");//a/b=5.0
print("a~/b=${a~/b}");//a~/b=5:整除
int c = 10;
int d = 4;
print("c++=${c++}");//c++=10:先打印,再++,运行之后c的值11
print("++d=${++d}");//++d=5:先++,在打印,运行之后d的值5
int e = 10;
int f = 4;
print("e--=${e--}");//e--=10:先打印,再--,运行之后e的值9
print("--f=${--f}");//--f=3:先--,在打印,运行之后f的值3
二、关系运算符
int a1 = 5;
int b1 = 3;
print(a1 == b1);//false
print(a1 != b1);//true
print(a1 > b1);//true
print(a1 < b1);//false
print(a1 >= b1);//true
print(a1 <= b1);//false
注意:在Dart中字符串也可以使用"=="来判断两个字符串是否相等,这点与Java、objective-c等其他语言不同
//注意:'=='也可以用在字符串的比较
String strA = 'Hello';
String strB = 'Dart';
String strC = 'Dart';
print(strA == strB);//false
print(strC == strB);//true
三、逻辑运算符
bool isTrue = true;
print(!isTrue);//false
bool isFalse = false;
print(isTrue && isFalse);//false
print(isTrue || isFalse);//true
String str = '';
print(!str.isEmpty);//false
四、赋值运算符
int a2 = 10;
int b2 = 5;
b2 ??= 10;
print(b2);//5:若未给b2赋过值,b2=10
a2 += 2;
print(a2);//12
a2 -= b2;
print(a2);//7
a2 *= b2;
print(a2);//35
a2 ~/= b2;
print(a2);//7:整除
a2 %= b2;
print(a2);//2
注意:’??='表达式表示,当变量没有被赋值过,则该变量的值为=后面的值,例如:
int b;
b ??= 10;
b在’??='之前未被赋过值,此时b的值为10
int b = 4;
b ??= 10;
b在’??='之前被赋值4,此时b的值为14
五、条件表达式
int gender = 1;
String strGender = gender == 0 ? "Male=$gender":"Female=$gender";//三目运算符
print(strGender);//Female=1
String s1 = "Dart";
String s2 = "Java";
String s3 = s1 ?? s2;//Dart:若s1为空,则s3=s2;否则s3=s1
print(s3);
注意:表达式:“s3 = s1 ?? s2;”——若s1不为空,则s3=s1;若s1不为空,则s3=s2