Flutter第三节----Dart中的数据类型

目录

一.Dart中的常用类型-----String

​编辑二.Dart中的常用类型-----数字类型

三.Dart中的常用类型-----布尔类型

​编辑

四.Dart中的常用类型-----列表类型1

五.Dart中的常用类型-----列表类型2

一.三个列表操作

​编辑二.四个列表属性

​编辑六.Dart中的常用类型-----字典类型

七.Dart中的常用类型----动态类

Dart中常用的数据类型有:字符串String,数字int,double,num,布尔bool,列表List,字典Map,动态类型dynamic。

一.Dart中的常用类型-----String

场景:我们需要来描述一段文本的时候,可以使用String来声明。

语法:String 属性名='文本内容';

特点:引号支持双引号或者单引号,支持拼接及模板字符串;

模板字符串语法:String 属性名 = "文本内容变量名";或String 变量名 = "文本内容{变量名}"

代码实例:

Dart 复制代码
void main(List<String> args) {
    String text='今天是个好日子';
    print(text);
}

拼接模板字符串实例:

1.String 变量名 = "文本内容{变量名}"![](https://i-blog.csdnimg.cn/direct/6df207a444574589946726f7fc9058c2.png)2.String 属性名 = "文本内容变量名"

复制代码
void main(List<String> args) {
    String flag="张三";
    String content = "我和$flag是好朋友";
    print(content);
}

二.Dart中的常用类型-----数字类型

1.Dart中的数字类型为:int,num,double;

2.场景:当我们需要去描述一个数字类型的时候;

3.区别:int-整型数字,num-可整型可小数,double-小数;

4.语法:int/num/double 属性名 = 数值;

5.赋值关系:double和int不能直接赋值,num不能直接给double直接赋值,double可以直接给num赋值。

5.代码示例:

Dart 复制代码
void main(List<String> args) {
    int friendCount = 3;
    print('我有$friendCount个朋友');
    num rest = 1.5;
    print('我有$rest月的假期');
    double appleCount = 1.5;
    print('我买了$appleCount斤苹果');
}
Dart 复制代码
    friendCount = appleCount.toInt();
    appleCount = friendCount.toDouble();
    appleCount = rest.toDouble();//num可以转化成doubLe给double赋值
    rest=appleCount;//double可以直接给num赋值

三.Dart中的常用类型-----布尔类型

1.场景:当我们需要一个属性来表示当前为真(true)或假(false)的时候,需要使用bool关键字来声明。

2.语法:bool 属性名 = true/false;

3.代码示例:

Dart 复制代码
void main(List<String> args) {
    bool isFinishWork = false;
    print("同学当前的作业状态为$isFinishWork");
    isFinishWork = true;
    print("同学当前的作业状态为$isFinishWork");

四.Dart中的常用类型-----列表类型1

1.场景:当一个变量需要存储多个值的时候,可以使用列表类型list;

2.需求:一个班级的同学用list进行存储,支持对学生的查找,新增,删除,循环;

3.语法:List属性名 = '学生1','学生2'

4.代码示例:

Dart 复制代码
void main(List<String> args) {
   List student = ["张三","李四","王五"];
   print(student);
}

5.列表方法:

<1.在尾部添加-add(内容)

<2.在尾部添加一个列表-addAll(列表)

<3.删除满足内容的第一个-remove(内容)

<4.删除最后一个内容-removeLast()

<5.删除索引范围内的数据-removeRange(start,end)------end结束的索引-不包含在删除范围内。

6.代码示例:

Dart 复制代码
   List student = ["张三","李四","王五"];
   print(student);
   student.add("刘六");
   print(student);
   student.addAll(["赵七","田八"]);
   print(student);
   student.remove("刘六");
   print(student);
   student.removeLast();
   print(student);
   student.removeRange(1, 2);
   print(student);

五.Dart中的常用类型-----列表类型2

一.三个列表操作

<1.循环-forEach((item)){});

<2.是否都满足条件-every((item{return 布尔值 });

<3.筛选出满足条件的数据-where((item){return 布尔值});

代码示例:

Dart 复制代码
   student.forEach((item){               //foreach循环
        print(item);
   });
   print(student.every((item){           //every判断是否满足
       return item.toString().startsWith("王");
   }));
   print(student.where((item){           //where筛选出满足条件的
       return item.toString().startsWith("王");
   }).toList());
   

二.四个列表属性

<4.列表的长度(属性)-length

<5.最后一个元素(属性)-last

<6.第一个元素(属性)-first

<7.是否为空(属性)-isEmpty

代码示例:

Dart 复制代码
   print(student.length);
   print(student.last);
   print(student.first);
   print(student.isEmpty);

六.Dart中的常用类型-----字典类型

场景:当存储的英文需要找到对应的中文描述时,需要使用键值对的类型Map

要求:需要定义一个英文对应中文的描述,并可以通过英文找到对应的中文

语法1:Map 属性名 = { key,value};

语法2:字典key可以取值和赋值;

代码示例:

Dart 复制代码
void main(List<String> args) {
   Map  transMap = {"lunch": "午饭","morning":"早上","hello":"你好"};
   print(transMap);
   print(transMap["lunch"]);
}

五个字典操作:

<1.forEach

<2.addAll

<3.containsKey

<4.remove

<5.clear

代码示例:

Dart 复制代码
void main(List<String> args) {
   Map  transMap = {"lunch": "午饭","morning":"早上","hello":"你好"};
   print(transMap);
   print(transMap["lunch"]);
   transMap.forEach((key,value){                    //foreach
       print("$key,$value");
   });
   transMap.addAll({"fine":"非常好"});               //addALL
   print(transMap);
   print(transMap.containsKey("fine"));             //containsKey 
   transMap.remove("fine");                         //remove
   print(transMap);
   transMap.clear();                                //clear
   print(transMap);
}

七.Dart中的常用类型----动态类型

定义:dynamic 可以用来声明动态类型

特点:可以自由改变类型,而且绕过编译时检查

语法:dynamic 属性名 = 值;

代码示例:

Dart 复制代码
void main(List<String> args) {
     dynamic  text = "hello0";        //可以自由改变类型,而且绕过编译时检查
     text = 1;
     text = [];
     text = {};
     text = false;
     print(text);
}

dynamic和var的区别:

dynamic运行时可自由改变类型,无编译检查,方法和属性直接调用;

var会根据初值直接进行类型判断确定类型后类型就被确定,有编译检查,仅限推断的属性和方法。

Dart 复制代码
void main(List<String> args) {
     dynamic  text = "hello0";        //可以自由改变类型,而且绕过编译时检查
     text = 1;
     text = [];
     text = {};
     text = false;
     print(text);
     text.startwith();                //两者区别
     var free = "测试";
     free.toInt();
}
相关推荐
又菜又爱coding1 小时前
Flutter Android 无线调试No supported devices connected
flutter
weixin_422329311 小时前
AgentScope Java 项目入门 & Builder 深度解读
java·开发语言·人工智能
风和先行1 小时前
Android 数据库相关学习总结
android·数据库·学习
chh5631 小时前
C++--list
开发语言·数据结构·c++·学习·算法·list
杉氧2 小时前
Compose 渲染内核 (3):Slot Table 与 Gap Buffer —— 极速重组的数学艺术
android·架构·android jetpack
ctrl_v助手2 小时前
HALCON 学习笔记1
笔记·数码相机·学习·算法·计算机视觉
Edward111111112 小时前
一AI名词
java·开发语言·数据库·学习
阿巴斯甜2 小时前
ContentObserver的使用:
android
栈溢出了2 小时前
Redis repl_backlog 学习笔记
java·开发语言·redis·学习