Dart数据类型

Posted wangwenkai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dart数据类型相关的知识,希望对你有一定的参考价值。

变量与常量:

变量:

使用var声明变量,可以赋予不同数据类型的值,

未初始化时默认值是null

使用final声明的变量只能被赋值一次

void main()
  var a;
  print(a);
  a = 10;
  print(a);
  a = ‘Hello World‘;
  print(a);
  var b = 20;
  print(b);
 final c = 20 ;
  //c = 1;
  const d = 50;
  //d = 1;
  

控制台打印结果:

技术图片
null
10
Hello World
20
View Code

常量:

使用const声明常量,使用const声明的必须是编译期的常量。

注意const和final的区别。

 

数据类型:

内置类型:

技术图片

数值型num:整型int,浮点型double

技术图片
void main()
  num a = 10;
  a = 12.5;
  int b = 20;
  //b = 20.1;
  double c = 30.5;
  //c = 40;
  print(c);
View Code

数值类型常见操作:+,-,*,/,~/(取整),%(取余),

数值类型常见属性:isNaN,isEven,isOdd等,

数值类型常见方法:abs(),round(),floor(),ceil(),toInt(),toDouble()

 

字符串:

使用单引号或者双引号创建字符串,使用三引号或者双引号创建多行字符串,使用r创建原始raw字符串

字符串运算:+,*,==,[]

插值表达式:$expression

字符串常见属性:length,isEmpty,isNotEmpty

字符串常见方法:

技术图片

技术图片
void main() 
  String str1 = ‘Hello‘;
  str1 = ‘‘‘Hello
  Dart‘‘‘;
  print(str1);
  String str4 = ‘This is My favorite language‘;
  print(str4+‘New‘);
  print(str4*4);
  print(str4[5]);
  int a = 1;
  int b = 3;
  print(‘a*b = $a*b‘);
View Code

 

布尔型:

列表List(数组):

创建List :var list = [1,2,3];

创建不可变的List: var list = const [1,2,3];

构造创建List: var list = new List();

列表常见操作:

技术图片

Map:(键值对)

Map常用操作方法

技术图片

dynamic:动态类型(泛型)可以赋予不同类型的值

运算符:

算术运算符:

技术图片

技术图片
void main()
  int a = 10;
  int b = 2;
  print(a + b);
  print(a - b);
  print(a * b);
  print(a / b);
  print(a ~/ b);
  print(a % b);
  print(++a);//先加加在打印
  print(a++);//先打印再加加
  print(a);
View Code

打印结果:

技术图片
12
8
20
5.0
5
0
11
11
12
View Code

 

关系运算符:

技术图片

技术图片
void main ()
  int a = 5;
  int b = 3;
  print(a == b);
  print(a > b);
  print(a < b);
  print(a != b);
  print(a >= b);
  print(a <= b);

  
  String strA = ‘123‘;
  String  strB = ‘321‘;
  print(strA == strB);
View Code

打印结果:

技术图片
false
true
false
true
true
false
false
View Code

 

逻辑运算符:

技术图片

赋值运算符:

技术图片

复合运算,先用左边变量和右边做运算再把值赋给左边变量

void main()
  int a = 10;
  int b = 5;
  b ??= a;
  print(b);
  a += b;
  print(a);

打印结果:

5
15

 

条件表达式:

技术图片

void main()
  int gender = 0;
  String str = gender ==0 ? ‘Male‘ : ‘Female‘;
  print(str);
  String a = ‘php ;
  String b = ‘Dart‘;
  String c = a ?? b;
  print(c);

打印结果:

Male
Php

控制语句:

if语句:

技术图片

void main()
  int score = 100;
  if(score >= 90)
    if(score == 100)
      print(‘完美‘);
     else
      print(‘优秀‘);
    
   else if(score > 60 && score < 90)
    print(‘良好‘);
   else if (score == 60)
    print(‘及格‘);
   else 
    print(‘不及格‘);
  

 

for语句:

技术图片

void main()
  var list = [1,2,3,4,5];
  for(var i = 0;i < list.length;i++)
    print(list[i]);
  

  print(‘---------------‘);

  for(var item in list)
    print(item);
  

打印结果:

1
2
3
4
5
---------------
1
2
3
4
5

 

while语句:

技术图片

void main()
  int count = 0;
  while(count < 5)
    print(count);
    count++;
  

  print(‘-----$count------‘);

  do
  print(count);
  count--;
  while(count>0 && count<5);

打印结果:

0
1
2
3
4
-----5------
5
4
3
2
1

 

continue和break:

技术图片

void main()
  var list = [1,2,3];
  for (var item in list)
    if(item == 2)
      //break;
      continue;
    
    print(item);
  

  print(‘--------------‘);

  var list2 = [4,5,6];
  for(var item1 in list)
      for(var item2 in list2)
        if(item2 == 5)
          //continue;
          break;
        
        print(item2);
      
  

打印结果:

1
3
--------------
4
4
4

 

switch..case:

技术图片

void main()
  String language = ‘php‘;
  switch(language)
    case ‘Dart‘:
      print(‘Dart is My fav‘);
      break;
    case ‘php‘:
      print(‘php is My fav‘);
      break;
    case ‘java‘:
      print(‘java is My fav‘);
      break;
    default:
    print(‘None‘);
  

  print(‘-------------‘);
  switch(language)
    D:
    case ‘Dart‘:
      print(‘Dart is My fav‘);
      break;
    case ‘php‘:
      print(‘php is My fav‘);
      continue D;
      //break;
    case ‘java‘:
      print(‘java is My fav‘);
      break;
    default:
      print(‘None‘);
  

打印结果:

php is My fav
-------------
php is My fav
Dart is My fav

 

以上是关于Dart数据类型的主要内容,如果未能解决你的问题,请参考以下文章

Dart语法学习-数据类型

Flutter学习笔记·Dart的基本数据类型

Flutter之Dart数据类型及数据之间的转换

Dart数据类型

Dart语言:数据类型

Dart数据类型--List (数组)及其相关操作