1.Dart运算符
算数运算符
+ - * / ~/(取整) %(取余)
int a=13;
int b=5;
print(a+b);//加
print(a-b);//减
print(a*b);//乘
print(a/b);//除
print(a%b);//取余
print(a~/b);//取整
var c=a+b;
print("----------");
print(c);
关系运算符
== != > < >= <=
int a=13;
int b=5;
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");
}
逻辑运算符
! && ||
//1.取反
bool flag=true;
print(!flag);//false
//2.&&并且:全部为true的话值为true 否则值为false
bool a=true;
bool b=false;
print(a && b);//false
//3.||或者:全为false的话值为false 否则为true
bool c=true;
bool d=false;
print(c||d);//true
//例题
int age=20;
String sex="女";
if(age==20 && sex=="女"){
print("$age------$sex");
}else{
print("不打印");
}
赋值运算符
基础赋值运算符 = ??=
复合赋值运算符 += -= *= /= %= ~/=
//1.基础赋值运算符 = ??=
int a=10;
print(a);
//b??=20; 表示如果b为空的话把20赋值给b,如果b不为空的话保持原来的值不变
int b=10;
b??=20;
print(b);
//2.复合赋值运算符 += -= *= /= %= ~/=
int c=10;
c+=10;//c=c+10 赋值运算的执行顺序从右到左
c-=10;//c=c-10
c*=10;//c=c*10
c%=10;//c=c%10
print(c);
条件表达式
-
if else switch case
//1.if else switch case
bool flag =true;
if(flag){
print("true");
}else{
print("false");
}
//判断一个人的成绩 如果大于60 显示及格 如果大于70 显示良好 如果大于90显示优秀
var score=80;
if(score>90){
print("优秀");
}else if(score>70){
print("良好");
}else if(score>=60){
print("及格");
}else{
print("不及格");
}
var sex="男";
switch(sex){
case"男":
print("性别是男");
break;
case"女":
print("性别是女");
break;
default:
print("传入参数错误");
break;
//default在没有case匹配的情况下执行
}
2.三目运算符
bool flags =true;
String c=flags?"我是true":"我是false";
print(c);//我是true
3.??运算符
var a=22;
var b=a ?? 30;
print(b);//22
类型转换
1.Number与String类型之间的转换
//Number与String类型之间的转换
//1.String类型转换成Number类型 int.parse()
String str="123";
var a=double.parse(str);//这个用double不用int的主要是服务器有时会返回double类型的数据,所以用double可以防止报错
print(a is double);//true
//如果服务器返回是空的数据 就可以用try.....catch来抛出异常
String price="";
try{
var myNum=double.parse(price);
print(myNum);
print(myNum is double);
}catch(err){
print(0);
}
//2.Number类型转换成String类型 toString()
var myNum1=12;
var str1=myNum1.toString();
print(str1 is String);//true
2.其他类型转换成Booleans类型
//2.其他类型转换成Booleans类型
//isEmpty:判断字符串是否为空
var str2="";
if(str2.isEmpty){
print("为空");
}else{
print("不为空");
}
var myNum2=123;
if(myNum2==0){
print("为0");
}else{
print("不为0");
}
var myNum3;
if(myNum3==null){
print("为空");
}else{
print("不为空");
}