Dart: операторы, условные выражения, завершение преобразования типов


предисловие

Эта статья посвящена авторскому расположению операторов, условных выражений и преобразованию типов в грамматике Dart.

1. Операторы

арифметический оператор

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

2. Условные выражения

Между Dart и другими языками почти нет различий с точки зрения условных выражений, которые можно сравнить с Java и C++.

Если еще условное выражение

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

переключающее выражение

 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

3. Преобразование типов

Преобразование типов чисел и строк

 //类型转换 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

Преобразование логического типа

 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.

Guess you like

Origin blog.csdn.net/qjyws/article/details/128783123