Dart运算符、表达式、类型转换

这是我参与新手入门的第3篇文章

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 a=10;
int b=3;
print(a);
int c=a+b;   //从右向左     //13

b??=23;  //表示如果b为空的话把 23赋值给b
        
int b=6;
b??=23;
print(b);     //6
      
int b;
b??=23;
print(b);       //23
复制代码

复合赋值运算符 ‘+=’ ‘-=’ ‘/=’ ‘*=’ ‘%=’ ‘~/=’

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
复制代码

赋值运算 如果++ — 写在前面 这时候先运算

 var a=10;
 var b=++a;
 print(a);  //11
 print(b);  //11

 var a=10;
 var b=--a;
 print(a);  //9
 print(b);  //9
复制代码

条件表达式

if else 表达式

if else switch case
 var score=41;
  if(score>90){
    print('优秀');
  }else if(score>70){
     print('良好');
  }else if(score>=60){
    print('及格');
  }else{
    print('不及格');
  }
复制代码

switch 语句

 switch(index){
  case index:
       break;
  default:
       break;
 }
复制代码

三目运算符

 bool flag=false;
  String c=flag?'我是true':'我是false';
??运算符
 int num6;
 int num7 = num6 ?? 24;
 print(num7); // 24
复制代码

类型转换

Number与String类型之间的转换 toString() parse()

 //类型转换 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');
 }
} 
复制代码
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享