算术运算符

// + - * / ~/ (取整) %(取余)int a=13;
int b=5;
print(a+b); //加
print(a-b); //减
print(a*b); //乘
print(a/b); //除
print(a%b); //其余
print(a~/b); //取整
var c=a*b;
print(c);

关系运算符

// == != > < >= <=int a=5;
int b=3;
print(a==b); //判断是否相等
print(a!=b); //判断是否不等
print(a>b); //判断是否大于
print(a<b); //判断是否小于
print(a>=b); //判断是否大于等于
print(a<=b); //判断是否小于等于

逻辑运算符

// ! && ||// ! 取反
bool flag=false;
print(!flag); // 取反// &&并且:全部为true的话值为true 否则值为false
bool a=true;
bool b=true;
print(a && b);// ||或者:全为false的话值为false 否则值为true
bool a=true;
bool b=true;
print(a && b);

赋值运算符

// 基础赋值运算符 = ??=
int a=10;
int b=3;
print(a);
int c=a+b; //从右向左int b=6;
b??=23; // 表示如果b为空的话把 23赋值给b
print(b); // 6int b;
b??=23;
print(b); // 23// 复合赋值运算符 += -= *= /= %= ~/=
var a=12;
a=a+10; // a+=10; //表示a=a+10
print(a);var a=4;
a*=3; // a=a*3;
print(a);

条件表达式

// if else
bool flag=true;
if(flag){print('true');
}else{print('false');
}var score=41;
if(score>90){print('优秀');
}else if(score>70){print('良好');
}else if(score>=60){print('及格');
}else{print('不及格');
}// switch case
var sex="女";
switch(sex){case "男":print('性别是男');break;case "女":print('性别是女');print('性别是女');break;default:print('传入参数错误');break;
}// 三目运算符
bool flag=false;
String c= flag ? '我是true’ : '我是false';
print(c);// ??运算符
var a;
var b= a ?? 10;
print(b); // 10var a = 22;
var b = a ?? 10;
print(b); // 22

Number -> String

// Number类型转换成String类型 toString()
var myNum=12;
var str=myNum.toString();
print(str is String);

String -> Number

// String类型转成Number类型 int.parse()、double.parse()
String str='123';
var myNum=int.parse(str);
print(myNum is int);String str='123.1';
var myNum=double.parse(str);
print(myNum is double);

try ... catch

String price = '';
try {var myNum = double.parse(price);print(myNum);
} catch (err) {print(0);
}

Any -> Booleans

// isEmpty 判断字符串是否为空
var str = '';
if (str.isEmpty) {print('str空');
} else {print('str不为空');
}// 是否为0
var myNum = 123;
if (myNum == 0) {print('0');
} else {print('非0');
}// 是否为null
var myNum;
if (myNum == null) {print('空');
} else {print('非空');
}// NaN
var myNum=0/0;
// print(myNum);
if(myNum.isNaN){print('NaN');
}

Dart 4-Day相关推荐

  1. flutter开发中常用的dart插件

    flutter插件官网地址:https://pub.dartlang.org/packages/ 1. image_picker 一个可以从图库选择图片,并可以用相机拍摄新照片的flutter插件 2 ...

  2. 用Flutter + Dart快速构建一款绝美移动App

    作者 | Wojciech Kuroczycki 译者 | 弯月 来源 | CSDN(ID:CSDNnews) 如今,与前端或移动相关的新框架层出不穷.所有从事Web开发的人都应该熟悉各种目不暇接的新 ...

  3. 一种事件相机描述子——DART

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 一.背景知识 在物体分类.目标跟踪等问题下,我们经常需要提取物体的一些特征.传统图像中常使用描述子(例 ...

  4. Dart In Action -Dart快速入门(二)

    写在前面 本文基本上是将dart官网部分内容进行翻译,没兴趣的请出门左转至Dart的官网,有兴趣的同志请继续阅读本文. Flutter教程在这里 Dart的一些重要概念 当你学习Dart语言时,记住这 ...

  5. 如何用Dart写一个单例

    由于Dart拥有factory constructors,因此构建单例模式很容易. class Singleton {static final Singleton _singleton = new S ...

  6. Flutter学习之Dart语法特性

    一.前言 第一天把Flutter环境搭建了,并简单实现第运行第一个Flutter项目,感觉很不错,一些基本操作和原生体验差不多.用Flutter框架写过App项目的开发者都知道,Flutter是一个使 ...

  7. Dart 2为移动开发做出改进

    \ 看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料! \ \\ 最新版本的Google Dart编程语言支持更强大的类型系统.更简明的语法,还提供了一个改进 ...

  8. 谷歌宣布推出Dart编程新语言

    北京时间9月9日上午消息,据著名科技做网站ExtremeTech的报道,谷歌编程新语言Dart逐渐浮出水面,它是一种"结构化的Web编程"语言.早在几天前谷歌就已着手注册了一系列与 ...

  9. Flutter之Dart入门

    文章目录 一.准备 1.下载Dart插件: 2.重启IDEA后,配置Dart SDK 3.运行 二.Dart变量 三.基本数据类型 3.1Number 3.2String 3.3 Boolean 3. ...

  10. Dart Metadata 使用

    Dart Metadata 使用 Dart提供了类似于Java注解一样的机制 metadata ,通过使用 metadata 可以实现与注解一样的功能,中文我们称它为元数据.我们来看一段官方的使用描述 ...

最新文章

  1. 北斗核心器件100%国产化,已接入大部分智能手机
  2. 【转载】[BetterExplained]为什么你应该(从现在开始就)写博客
  3. idea svn查看提交人_svn 常规操作
  4. pycharm使用import numpy报错
  5. 浪潮as5300技术方案_浪潮智能存储AS5300G2双活解决方案
  6. linux的基础知识——进程组
  7. OpenCV学习笔记:矩阵/向量处理
  8. 第5章 见缝插针(《C和C++游戏趣味编程》配套教学视频)
  9. 计算机被格式化怎么找回资料,电脑文档被格式化,怎么恢复格式化文档
  10. python—列表,元组,字典
  11. 获取cookies的简单代码(总结待续)
  12. 【20211228】【信号处理】从 Matlab 仿真角度理解频谱泄露
  13. 中投 汇金 中金 中登
  14. 带你Dart带你Diao之类(一)
  15. 猫、路由器和交换机的区别和联系
  16. 任正非圣诞发表文章:我在生活所迫时创立华为
  17. 将i am a student转换成 student a am i
  18. throw与throws的区别
  19. logstash实例简单demo
  20. windows自带w32tm实现做ntp client端,精确同步时间。

热门文章

  1. php getfullyear,getYear、getFullYear和getUTCFullYear三者的区别
  2. 系统集成项目管理工程师考试大纲第二版
  3. 深入浅出ES6教程模块化
  4. [sh]shift参数左移用法
  5. For in + 定时器
  6. .net 裁剪图片(不压缩)
  7. 排序 之 快排、归并、插入 - 时间复杂度----掌握思想和过程
  8. 在减少对内地房地产投资的同时,加快了在内地零售业的布局;并积极推动“走出去”战略,在全球52个国家投资多种业务。...
  9. 数据存储与传输---编码与解码---硬盘和内存要分清!
  10. 原生js---ajax---post方法传数据