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
常量:
使用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);
}
数值类型常见操作:+,-,*,/,~/(取整),%(取余),
数值类型常见属性: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}');
}
布尔型:
列表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);
}
打印结果:
12
8
20
5.0
5
0
11
11
12
关系运算符:

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);
}
打印结果:
false
true
false
true
true
false
false
逻辑运算符:

赋值运算符:

复合运算,先用左边变量和右边做运算再把值赋给左边变量
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数据类型的更多相关文章
- Flutter实战:手把手教你写Flutter Plugin
		前言 如果你对移动端有所关注,那么你一定会听说过Flutter.得益于Google,Flutter一经推出便得受到了广泛关注.很多开发者跃跃欲试,国内部分大厂,诸如美团.闲鱼等团队已经开始了Flutt ... 
- flutter从入门到精通一
		Flutter 是 Google 开源的 UI 工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动.Web.桌面和嵌入式平台 flutter是基于dart语言开发的,我们将首先通过几章节 ... 
- Flutter集成高德定位和地图功能
		定位集成 配置高德定位依赖库 新建 Flutter 项目,使用 Android Studio 打开项目里的 android 工程,或者右键 android 目录-> flutter -> ... 
- Flutter开发进阶学习指南Flutter开发进阶学习指南
		Flutter 的起源 Flutter 的诞生其实比较有意思,Flutter 诞生于 Chrome 团队的一场内部实验, 谷歌的前端团队在把前端一些"乱七八糟"的规范去掉后,发现在 ... 
- 爱了!阿里大神最佳总结“Flutter进阶学习笔记”,理论与实战
		前言 "小步快跑.快速迭代"的开发大环境下,"一套代码.多端运行"是很多开发团队的梦想,美团也一样.他们做了很多跨平台开发框架的尝试:React Native. ... 
- 2.Built-in types-基本数据类型(Dart中文文档)
		初次翻译,部分内容并非按字面翻译,是按本人理解进行了内容重组.如有错误望指正. Dart语言内置如下数据类型: numbers strings booleans lists (所谓的数组) maps ... 
- Flutter学习笔记(3)--Dart变量与基本数据类型
		一.变量 在Dart里面,变量的声明使用var.Object或Dynamic关键字,如下所示: var name = ‘张三’: 在Dart语言里一切皆为对象,所以如果没有将变量初始化,那么它的默认值 ... 
- Dart编程数据类型
		编程语言最基本的特征之一是它支持的数据类型集.这些是可以用编程语言表示和操作的值的类型. Dart语言支持以下类型 数字 字符串 布尔 列表list map 数字 Dart中的数字用于表示数字文字.D ... 
- Dart简易教程 (1)---数据类型 运算符,类转换换
		从下面开始学习DART编程 以下是一个简单的示例: main(){ var number = 42; print(number);}程序说明,dart是一个强大的脚本类语言,可以不预先定义变量类型 , ... 
随机推荐
- C#开发BIMFACE系列2 二次开发流程
			系列目录 [已更新最新开发文章,点击查看详细] BIMFACE 平台是一个对外开放的平台,建筑行业的相关公司.软件公司或者有 BIM 业务需求的公司都可以注册成为开发者并使用其提供的强大功能. ... 
- win8,右键添加notepad++
			1.下载并安装notepad++ 2.创建txt文件test1.txt,内容如下: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\ ... 
- ui、li模拟下拉框
			转载:原文地址:https://www.jianshu.com/p/e303e0298e9e 效果图: HTML: <div class="rank_top"> < ... 
- 微信小程序实现pdf,word等格式文件上传
			目前微信只支持从聊天记录里面获取文件 一.前言 目前微信提供了一个接口 wx.chooseMessageFile 它能让用户从聊天记录里面选择一个或者多个文件,然后返回它的一些信息,列入文件的path ... 
- Java日志框架总结
			1. 前言 从写代码开始,就陆陆续续接触到了许多日志框架,较常用的属于LOG4J,LogBack等.每次自己写项目时,就copy前人的代码或网上的demo.配置log4j.properties或者lo ... 
- Apache JMeter (二)性能测试 入门实例
			上一节我们说了关于Jmeter环境的配置,接下来讲一个测试的实例. 1.运行Jmeter 进入Jmeter程序所在目录,运行"bin/jmeter.bat" Jmeter支持中文, ... 
- Nacos配置服务原理
			Nacos Client配置机制 spring加载远程配置 在了解NACOS客户端配置之前,我们先看看spring怎么样加载远程配置的.spring 提供了加载远程配置的扩展接口 PropertySo ... 
- style属性css与javascript对照表
			有时候会用javascript来控制标签的style,但js的style属性写法跟css有点不一样,通常是一个单词的写法不变,单词-单词属性会去掉“-”,再把第二个单词的首字母大写,估计是为了与减法运 ... 
- Redis常用命令(key、string、List)
			1.Key 1.keys * 查询所有数据 2.exists key名 判断key名是否存在 3.move key名 数据库号(0-15) 移动数据key名到相应的数据库 4.expire ... 
- Winform中实现ZedGraph曲线图的图像复制到剪切板、打印预览、获取图片并保存、另存为的功能
			场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ... 
