Dart基础入门(二)运算符及条件表达式

前言:

接下来继续我们的Dart入门学习,上一篇给大家介绍了Dart中的变量,常量以及数据类型,相信小伙伴们都学会了,今天我给大家介绍一下Dart中的运算符及条件表达式相关知识,如果你还没看过上一篇的文章,我还是希望你能先去看看,当然我指的是那些没有任何经验的小伙伴,因为只有这样,你才能更好的理解学习接下来的知识。下面是上篇文章的地址,好了,开始今天的介绍吧。

  • Dart基础入门(一)变常量与数据类型 

一,运算符

1.算术运算符:

所谓算术运算符,就相当于我们数学当中加,减,乘,除,取余,取整等等,在程序语言中又基本增加自增,自减等。下面直接上代码讲解,这样比较易懂。

void main(){
    //算术运算符
    int a = 10;
    int b = 5;
    print(a + b);
    print(b - a);
    print(a * b);//乘法
    print(a / b);
    print(a ~/ b);//运算符(~/)为取除法结果的整数部分,这里结果为2
    print(a % b);//运算符(%)为取除法结果的余数,这里结果为0
    /**
    *运算符(++),本意为自增
    *当++在操作元素后(a++)时,先执行a本身,后执行++即自增,所以打印结果为a,打印完后a+1
    *当++在操作元素前(++a)时,先执行++,再执行后续操作,所以打印结果为a+1
    */
    print(a++);//由上面注释所知这时先打印a,所以结果为10,随后会进行自增,也就是接下来a会为11
    print(++a);//由上面所得,a这个时候已经是11了,随后在打印之前会自增,所以结果为12
    /**
    *运算符(--),本意为自减
    *当--在操作元素后(a--)时,先执行a本身,后执行--即自减,所以打印结果为a,打印完后a-1
    *当--在操作元素前(--a)时,先执行--,再执行后续操作,所以打印结果为a-1
    */
    print(a--);//由上面注释所知这时先打印a,所以结果为12,随后会进行自减,也就是接下来a会为11
    print(--a);//由上面所得,a这个时候已经是11了,随后在打印之前会自减,所以结果为10
}

上面比较容易犯错的时候是自增(++),自减(--)操作,我的注释已经比较详细了,希望小伙伴自己多去练练就没啥问题了。

2.赋值运算符:

所谓赋值就是给一个变量或者常量赋值,整体而言Dart中的赋值运算符和其他语言没有太多区别,下面还是以代码示例讲解吧!

//赋值运算符示例
void main(){
  int a = 10;
  int b = 5;
  b ??= a; //??= 表示被赋值变量如为空则被赋值,反之则保持当前值。
  print(b);//所以这里b还是原始值5

  /*
   *其实(a += 2)表达式就相当于a = a + 2,你可以简写成前面那样,对于小白你要知道的是
   *在程序设计语言中表达式都是从右到左赋值的,所以这里打印的结果a为12
   */
  a += 2; 
  print(a);

  a -= 2;
  print(a);//这里和上面也是一样的,就相当于a = a - 2,所以结果为10(程序是从上往下执行)

  a *= b;
  print(a);//相当于a = a * b,结果是50

  //a /= b;
  a ~/= b; //相当于a = a ~/ b,结果是10
  print(a);

  a %= b; //相当于a = a % b,结果为0
  print(a);

}

3.逻辑运算符:

所谓逻辑运算结果只有true和false,所以逻辑运算符的操作元素一定要为bool值,与其他语言没有区别,下面上代码给大家看看!

void main(){
  //逻辑运算符示例
  bool isTrue = true;
  print(!isTrue);//运算符(!)表示取反,所以这里结果为false

  bool isFalse = false;
  //运算符(&&)为短路与,在运算符前的结果为true时才会执行后面的操作,否则整个表达式执行完.
  //它需要前后都为true,结果才为true,否则就是false
  print(isTrue && isFalse);//所以这里结果为false
  //运算符(||)为短路或,前后只需有一个true,结果则为true,否则就是false。
  print(isTrue || isFalse);//所以这里结果为true
}

4.关系运算符:

所谓关系运算就是操作元素之间比较大小,相等这些,这个和其他语言也基本相同,下面还是用代码来讲解吧!

void main() {
  //关系运算符
  int a = 1;
  int b = 4;

  print(a == b);
  print(a != b);
  print(a >= b);
  print(a <= b);
  print(a > b);
  print(a < b);

  String str1 = '123';
  String str2 = '123';
  //和Java等语言不同的是,Dart中比较两个变量是否相等统一用(==)运算符,包括string类型的也是这样
  //这算是Dart的特点之一吧,所以下面结果为true
  print(str1==str2);
}

二,条件表达式

Dart中条件表达式和其他语言有相似之处,也有不同的地方,下面继续使用代码示例和大家介绍

//条件表达式示例
void main(){
  int gender = 1;
  String a = 'james';
  String b = 'kobe';
  /**
   *下面这个表达式称之为三目运算符表达式,结构为(表达式)?(表达式或者变量):(表达式或者变量)
   *?前必须是boolean类型的结果,如果结果为true则把:前面的表达式或者变量赋值给Str
   *如果结果是false则把:后面的表达式或者变量赋值给Str
   */
  String str = gender == 0 ? 'male=$a':'female=$b';
  print(str);//根据上面注释所得结果为female=kobe

  String c = a ?? b; //当??前的变量或表达式不为空时,结果为这个变量或表达式的值,反之为后面的变量
  或表达式的值.
  print(c);//所以这里打印结果为james
}

好了,今天要介绍的运算符及条件表达式就先介绍这些了,也算是入门了一下,后续我将会继续深入介绍Dart的基本知识的,希望大家继续关注,一起加油哦!对了,我在下面给出上面代码示例的git地址供大家参考学习。

https://github.com/OMGyan/dart_study/tree/master/chapter3

以上!!!

你可能感兴趣的:(Dart,Dart入门,Dart语言入门,Flutter开发语言入门,Dart运算符,Dart条件表达式)