美文网首页
Dart 基础数据类型及方法

Dart 基础数据类型及方法

作者: Irene_球球 | 来源:发表于2020-02-19 09:13 被阅读0次

    Dart 变量

    dart 可以不预先定义变量类型,会自动类型推倒,即 dart 语言有类型校验。

    dart 中定义变量可以通过 var 关键字可以通过类型来申明变量,也可以直接定义类型。如

        var string1 = 'this is string1';
    
        String string2 = 'this is string2';
    
        int number = 123;
    

    Dart 常量

    dart 可使用 final 以及 const 修饰符定义常量。

    两者都是用于定义常量,区别如下:

    const: 定义时一开始就得赋值

    final: 定义时可以不赋值且只能赋值一次,而final不仅具有const的编译时常量的特性,最重要的它是运行时常量,并且final是惰性初始化,即在运行时第一次使用前才初始化

    const String str = "hello world!";
    final time = new DateTime.now();
    

    Dart的命名规则:

    1. 变量名称必须由数字、字母、下划线和美元符($)组成。

    2. 注意:标识符开头不能是数字

      1. 标识符不能是保留字和关键字。
    3. 变量的名字是区分大小写的如: age和Age是不同的变量。

    4. 标识符(变量名称)一定要见名思意 :变量名称建议用名词,方法名称建议用动词

    Dart 数据类型

    字符串类型

    定义方式:

    var string0 = 'string0';
    String string1 = 'string1';
    String string2 = "string2";
    String string3 = '''可换行写的
    string3''';
    

    字符串拼接:

    String str1='Hello';
    String str2='world';
    print("$str1 $str2"); // 利用 "$" 符号
    print(str1 + str2); // 使用 "+" 进行字符串拼接
    

    数值类型

    int:整型

    double:浮点型(既可以是整型也可以是浮点型)

    运算符:+ - * / %

    布尔类型

    1. bool 只有true及false两种类型

    2. 条件判断语句:== 及 !=

    List 集合类型

    定义方式:
    // 第一种
    var list1 = ['str1','str2','str3'];
    // 第二种
    var list2 = new List();
    list2.add('str1');
    list2.add('str2');
    list2.add('str3');
    // 第三种,定义指定 List 类型的
    var list3 = new List<String>();
    list3.add('str1');
    
    常用属性:
    /*
        length          长度
        reversed        翻转
        isEmpty         是否为空
        isNotEmpty      是否不为空
    */
    
    常用方法:
    /*
      add         增加
      addAll      拼接数组
      indexOf     查找  传入具体值,查找不到返回 -1
      remove      删除  传入具体值
      removeAt    删除  传入索引值
      fillRange   修改列表中某个值   
      insert(index,value);            指定位置插入    
      insertAll(index,list)           指定位置插入List
      toList()    其他类型转换成List  
      join()      List转换成字符串
      split()     分割字符串转化成List
      forEach       循环遍历
      map                   也是循环遍历,可修改集合内的数据,并返回一个新的集合
      where             返回满足条件的 value
      any                   只要集合内有满足条件的value,即返回 true
      every             集合内每一个元素都满足条件,才返回 true
    */
    

    Maps 类型

    是无序的键值对,定义方式:

    // 第一种
    var maps1 = {
          'name':'name1',
          'age':10,
        };
    print(maps1['name']);
    // 第二种
    var maps2 = new Map();
    maps2['name'] = 'name2';
    maps2['age'] = 20;
    print(maps2['name']);
    
    常用属性:
    /*
      keys            获取所有的key值
      values          获取所有的value值
      isEmpty         是否为空
      isNotEmpty      是否不为空
    */
    
    常用方法:
    /*
      remove(key)     删除指定key的数据
      addAll({...})   合并映射  给映射内增加属性
      containsValue   查看映射内的值  返回true/false
      forEach   
      map
      where
      any
      every
    */
    

    Set 类型

    是没有顺序且不能重复的集合,所以不能通过索引去获取值,定义方式:

    var set1 = new Set();
    set1.add('seta');
    set1.add('setb');
    

    因为Set是不能重复的集合,所以Set 使用时的最主要的功能就是对数组进行去重。例:

      List fruitList = ['香蕉','苹果','西瓜','香蕉','苹果','香蕉','苹果'];
      var fruitSet = new Set();
      fruitSet.addAll(fruitList);
    
      print(fruitSet); // 打印结果为:{香蕉, 苹果, 西瓜}
    

    类型判断

    利用 is 关键字判断

    var str = 'string';
    if(str is String){
        print('str 是 String 类型');
      }
    

    Dart 运算符

    算数运算符

    // + 加
    // - 减
    // * 乘
    // / 除
    // ~/ 取整
    // % 取余
    

    关系运算符

    // == 判断是否相等
    // != 判断是否不相等
    // > 判断是否大于
    // < 判断是否小于
    // >= 判断是否大于等于
    // <= 判断是否小于等于
    
    逻辑运算符
    /**
    ! 取反
    && 并且
    || 或
    */
    
    赋值运算符
    // 1. = 以及 ??=
     var a;
     a ??= 20; //表示:表示如果a为空,那么将20赋值给a
    
    // 2. +=  -=  *=   /=   %=  ~/=
    
    条件表达式
    1. if else
    2. switch case
    3. 三目运算符
    4. ?? 运算符,同赋值运算符 ??=
    类型转换

    String 与 Number 类型之间的转换

    1. String类型转成Number类型 int.parse()
    2. Number类型转换成String类型 toString()

    Dart 循环

    1. for
    2. while
    3. do ... while
    break :

    1、在switch语句中使流程跳出switch结构。

    2、在循环语句中使流程跳出当前循环,遇到break 循环终止,后面代码也不会执行

    continue :

    只能在循环语句中使用,使本次循环结束,即跳过循环体重下面尚未执行的语句,接着进行下次的是否执行循环的判断。

    Dart 语言独特属性

    可以通过给循环命名的方式,来指定停止某个循环。例:

       outerloop:
       for (var i = 0; i < 5; i++) { 
          innerloop: 
          for (var j = 0; j < 5; j++) { 
             if (j > 3 ) break ; 
             if (i == 2) break innerloop; 
             if (i == 4) break outerloop; 
    
             print("Innerloop: ${j} outerloop: ${i}"); 
          } 
       } 
    

    相关文章

      网友评论

          本文标题:Dart 基础数据类型及方法

          本文链接:https://www.haomeiwen.com/subject/wqvofhtx.html