当前位置: 代码迷 >> 综合 >> Dart学习笔记四:运算符、条件表达式、类型转换
  详细解决方案

Dart学习笔记四:运算符、条件表达式、类型转换

热度:81   发布时间:2024-02-19 17:58:44.0

目录

 

Dart运算符:

算术运算符

关系运算符

逻辑运算符

赋值运算符

基础赋值运算符

复合赋值运算符

条件表达式

三目运算符

??运算符:

类型转换

Number与String类型之间的转换

其他类型转换成Booleans类型


Dart运算符:

算术运算符

Dart算数运算符有:+    -    *    /     ~/ (取整)     %(取余);跟其他语音差不多,比java多一个取整运算符。

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

特别需要注意的是除法运算同java不一样,Dart中两个整型数字相除可得到一个浮点数,在java中只能得到整数。

关系运算符

Dart关系运算符有:==       !=       >    <    >=    <=;用法也都和其他语言一样。

int a=5;
int b=3;print(a==b);   //判断是否相等 false
print(a!=b);   //判断是否不等 true
print(a>b);   //判断是否大于 true
print(a<b);   //判断是否小于 false
print(a>=b);   //判断是否大于等于 true
print(a<=b);   //判断是否小于等于 false

逻辑运算符

Dart逻辑运算符有:!  &&   ||

! 取反

bool flag = false;
print(!flag); //取反 true

 &&并且:全部为true的话值为true 否则值为false

bool a=true;
bool b=true;
print(a && b); //true

||或者:全为false的话值为false 否则值为true 

bool a=false;
bool b=false;
print(a || b);//false

赋值运算符

基础赋值运算符

Dart基础赋值运算符有:=   ??=;

=标识把右边的值赋值给左边的变量

int a=10;
int b=3;
print(a);//10
int c=a+b;   //从右向左

 ??=判空赋值,当左边变量为空时才将右边的值赋值给左边的变量

int b=6;
b??=23;
print(b);//6int c;
c??=23;
print(c);//23

复合赋值运算符

Dart复合赋值运算符有:+=  -=  *=   /=   %=  ~/=;和其他语言一样,先预算再复制,比如a+=10等同于a=a+10;

var a=12;
a=a+10;
print(a); //22var b=12;
b+=10;   //表示b=b+10  22
print(b);

 

条件表达式

Dart条件表达式有:if  else   switch case;用法同其他语音一样

bool flag = true;if (flag) {print('true'); //true
} else {print('false');
}
var sex = "女";
switch (sex) {case "男":print('性别是男');break;case "女":print('性别是女');//性别是女break;default:print('传入参数错误');break;
}

三目运算符

bool flag=false;
String c=flag?'我是true':'我是false';
print(c);//我是false

??运算符:

??标识判空选择符,var b= a ?? 10;a为空时将10赋值给b,否则将a的值赋值给b。

var a;
var b= a ?? 10;
print(b);   //10var a=22;
var b= a ?? 10;
print(b);//22

类型转换

Number与String类型之间的转换

Number类型转换成String类型 toString()

String string = "hello world";
int i = 10;
print(string+i.toString());//hello world10

这里需要特别注意,Dart中字符串与Number类型拼接是它不会自动转换,需要加上toString()方法。

String string = "hello world";
int i = 10;
print(string+i);//报错

String类型转成Number类型  int.parse()或者double.parse()

String str='123';
var myNum=int.parse(str);
print(myNum is int);//trueString str='123.1';
var myNum=double.parse(str);
print(myNum is double);//true

其他类型转换成Booleans类型

isEmpty:判断字符串是否为空字符串

var str='';
if(str.isEmpty){print('str空');//str空
}else{print('str不为空');
}

null关键字判断变量是够初始化

var myNum;
if(myNum==null){print('空');//空
}else{print('非空');
}

isNaN判断是够是正常的Numer

var myNum=0/0;
print(myNum);//NaN
if(myNum.isNaN){print('NaN');//NaN
}