变量与常量:

变量:

使用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数据类型的更多相关文章

  1. Flutter实战:手把手教你写Flutter Plugin

    前言 如果你对移动端有所关注,那么你一定会听说过Flutter.得益于Google,Flutter一经推出便得受到了广泛关注.很多开发者跃跃欲试,国内部分大厂,诸如美团.闲鱼等团队已经开始了Flutt ...

  2. flutter从入门到精通一

    Flutter 是 Google 开源的 UI 工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动.Web.桌面和嵌入式平台 flutter是基于dart语言开发的,我们将首先通过几章节 ...

  3. Flutter集成高德定位和地图功能

    定位集成 配置高德定位依赖库 新建 Flutter 项目,使用 Android Studio 打开项目里的 android 工程,或者右键 android 目录-> flutter -> ...

  4. Flutter开发进阶学习指南Flutter开发进阶学习指南

    Flutter 的起源 Flutter 的诞生其实比较有意思,Flutter 诞生于 Chrome 团队的一场内部实验, 谷歌的前端团队在把前端一些"乱七八糟"的规范去掉后,发现在 ...

  5. 爱了!阿里大神最佳总结“Flutter进阶学习笔记”,理论与实战

    前言 "小步快跑.快速迭代"的开发大环境下,"一套代码.多端运行"是很多开发团队的梦想,美团也一样.他们做了很多跨平台开发框架的尝试:React Native. ...

  6. 2.Built-in types-基本数据类型(Dart中文文档)

    初次翻译,部分内容并非按字面翻译,是按本人理解进行了内容重组.如有错误望指正. Dart语言内置如下数据类型: numbers strings booleans lists (所谓的数组) maps ...

  7. Flutter学习笔记(3)--Dart变量与基本数据类型

    一.变量 在Dart里面,变量的声明使用var.Object或Dynamic关键字,如下所示: var name = ‘张三’: 在Dart语言里一切皆为对象,所以如果没有将变量初始化,那么它的默认值 ...

  8. Dart编程数据类型

    编程语言最基本的特征之一是它支持的数据类型集.这些是可以用编程语言表示和操作的值的类型. Dart语言支持以下类型 数字 字符串 布尔 列表list map 数字 Dart中的数字用于表示数字文字.D ...

  9. Dart简易教程 (1)---数据类型 运算符,类转换换

    从下面开始学习DART编程 以下是一个简单的示例: main(){ var number = 42; print(number);}程序说明,dart是一个强大的脚本类语言,可以不预先定义变量类型 , ...

随机推荐

  1. 转载-SpringBoot开发案例之整合日志管理

    转载:https://cloud.tencent.com/developer/article/1097579 有一种力量无人能抵挡,它永不言败生来倔强.有一种理想照亮了迷茫,在那写满荣耀的地方. 00 ...

  2. ASP.NET Core中使用Csp标头对抗Xss攻击

    内容安全策略(CSP)是一个增加的安全层,可帮助检测和缓解某些类型的攻击,包括跨站点脚本(XSS)和数据注入攻击.这些攻击用于从数据窃取到站点破坏或恶意软件分发的所有内容(深入CSP) 简而言之,CS ...

  3. 借助 RAM disk 技术,加快前端工程打包速度

    背景以 Jenkins 服务器为例,在构建内部的这个项目时,CE 每部署一次服务,最快 6 分钟,最慢将近 13 分钟左右.遇到多个项目并发打包会因为资源占用等问题时间会延长,甚至出现过几次 20 分 ...

  4. CF 551 E GukiZ and GukiZiana

    https://codeforces.com/contest/551/problem/E 分块真强. 题意就是1.区间加,2.询问整个区间中,最远的两个x的距离. 分块,然后,每次找位子用二分找即可. ...

  5. HDU- 3605 - Escape 最大流 + 二进制压位

    HDU - 3605 : acm.hdu.edu.cn/showproblem.php?pid=3605 题目: 有1e5的的人,小于10个的星球,每个星球都有容量,每个人也有适合的星球和不适合的星球 ...

  6. SPOJ - QTREE(树链剖分+单点更新+区间最大值查询)

    题意:给出n个点n-1条边的树,有两个操作,一个是查询节点l到r的边的最大值,然后指定边的更改权值. 题解:差不多是树链剖分的模版题,注意每个点表示的边是连向其父亲节点的边. #include < ...

  7. 【LeetCode】105#从前序与中序遍历序列构造二叉树

    题目描述 根据一棵树的前序遍历与中序遍历构造二叉树. 注意: 你可以假设树中没有重复的元素. 例如,给出 前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = [9 ...

  8. 【LeetCode】5# 最长回文子串

    题目描述 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: "babad" 输出: "bab" 注意 ...

  9. Linux 笔记 - 第十九章 配置 Squid 正向代理和反向代理服务

    一.简介 Squid 是一个高性能的代理缓存服务器,对应中文的乌贼,鱿鱼的意思.Squid 支持 FTP,gopher 和 HTTP 协议.和一般的代理缓存软件不同,Squid 用一个单独的,非模块化 ...

  10. django配置静态文件的两种方法

    方法一:按照django配置静态文件的方法,可以在APP应用目录下创建一个static的文件夹,然后在static文件夹下创建一个和APP同名的文件夹,如我有一个blog的django项目,在下面有一 ...