6.内置操作方法和属性

6.1.数字类型

1.isEven判断是否是偶数

int n = 10;
print(n.isEven); // true

2.isOdd判断是否是奇数

int n = 101;
print(n.isOdd); //true

3.abs()取绝对值

int n = -101;
print(n.abs()); // 101

4.round()、floor()、ceil()

double n = 18.49;
// 四舍五入
print(n.round());
// 向下取整
print(n.floor());
// 向上取整
print(n.ceil());

5.toInt()、toDouble()

double n = 18.49;
// 转成整型
print(n.toInt());
int m = 10;
// 转成浮点型
print(m.toDouble());

6.2.字符串类型

1.插值表达式

int a = 10;
int b = 20;
String s = "计算结果是: ${a + b}"; // 计算结果是:30
print(s);
String name = "小强";
int age = 18;
print("${name}的年龄是${age}"); // 小强的年龄是18

2.length取字符串长度

String s = "hello nodeing!!!";
print(s.length); // 16

3.isEmpty、isNotEmpty

String s = "hello nodeing!!!";
print(s.isEmpty); // false
print(s.isNotEmpty); // true
String s2 = "";
print(s2.isEmpty); // true
print(s2.isNotEmpty); // false

4.contains()

String s = "hello nodeing!!!";
// s 里面是否包含 nodeing这个字符串,包含返回true 没有包含返回false
print(s.contains("nodeing")); // true

5.subString()

String s = "hello nodeing!!!";
// 截取下标从0到2的字符串
print(s.substring(0, 2)); // he
// 从下标2开始截取到末尾
print(s.substring(2)); // llo nodeing!!!

6.startsWith()和endsWith()

String s = "hello nodeing!!!";
// s字符串是否以h开头
print(s.startsWith("h")); // true
// s字符串是否以h结尾
print(s.endsWith("h")); // false

7.indexOf()和lastIndexOf()

String s = "hello nodeing!!!";
//返回 字符串“o”在字符串s中首次出现的位置 如果o没有在s中,返回-1
print(s.indexOf("o"));
// 功能和indexOf一样,区别是lastIndexOf是从后面开始找
print(s.lastIndexOf('o'));

8.toLowerCase()和toUpperCase()

String s = "hello nodeing!!!";
// 转成大写
print(s.toUpperCase()); // HELLO NODEING!!!
// 转成小写
String s1 = "ABC";
print(s1.toLowerCase()); // abc

9.trim()、trimLeft()、trimRight()

String s = "  hello nodeing!!!  ";
// 去掉两边空格
print(s.trim());
// 去掉左边空格
print(s.trimLeft());
// 去掉右边空格
print(s.trimRight());

10.split()和replaceAll()

String s = "hello nodeing!!!";
// 字符串分割 返回一个list
print(s.split(" ")); // [hello, nodeing!!!]
// 把所有的e找出来替换成d
print(s.replaceAll('e', "d")); // hdllo nodding!!!

6.3.列表

1.length

var lis = [1, 2, 3];
// 求列表的长度
print(lis.length); // 3

2.add()、insert()

var lis = [1, 2, 3];
// 增加一个元素
lis.add(4);
print(lis); // [1, 2, 3, 4]
// 在下标为1的位置插入元素5
lis.insert(1, 5);
print(lis)

3.remove()、clear()

var lis = [1, 2, 3, 1];
// 删除某个值
lis.remove(1);
print(lis);
// 清空列表
lis.clear();
print(lis);

4.indexOf()、lastIndexOf()

var lis = [1, 2, 3, 1];
// 和字符串中的用法一样
print(lis.indexOf(1)); // 0
print(lis.lastIndexOf(1)); // 3

5.sort()、sublist()

var lis = [1, 2, 3, 1];
// 排序
lis.sort();
print(lis);
// 截取
print(lis.sublist(1,2));

6.4.Map

1.length

var map = {"name": "xiaoqiang", "age": 12};
print(map.length);

2.isEmpty()、isNotEmpty()

var map = {"name": "xiaoqiang", "age": 12};
// 是否为空
print(map.isEmpty); // false
// 不是空
print(map.isNotEmpty); // true

3.Keys、Values

var map = {"name": "xiaoqiang", "age": 12};
// 打印出所有的key
print(map.keys);
// 打印出所有的values
print(map.values);

4.containsKey()、containsValue()

var map = {"name": "xiaoqiang", "age": 12};
// 是否包含某个key
print(map.containsKey("name")); //true
// 是否包含某个value
print(map.containsValue("xiaoli")); // false

5.remove()

var map = {"name": "xiaoqiang", "age": 12};
map.remove("name");
print(map);

6.forEach()

var map = {"name": "xiaoqiang", "age": 12};
map.forEach((key, value){
print(key);
print(value);
});

螺钉课堂视频课程地址:http://edu.nodeing.com

dart快速入门教程 (6)的更多相关文章

  1. dart快速入门教程 (8)

    9.dart中的库 9.1.自定义库 自定义库我们在前面已经使用过了,把某些功能抽取到一个文件,使用的时候通过import引入即可 9.2.系统内置库 以math库为例: import "d ...

  2. dart快速入门教程 (7.4)

    7.12.多态 多态字面上理解就是多种状态,通俗的说,多态表现为父类定义一个方法不去实现,子类继承这个方法后实现父类的方法,这个方法有多种表现 // import 'person.dart'; voi ...

  3. dart快速入门教程 (7.3)

    7.4.抽离类为单独文件 新建一个文件,单独存放一个类,例如:Person类抽离到person.dart文件中 class Person { final String name; final num ...

  4. dart快速入门教程 (7.2)

    7.4.抽离类为单独文件 新建一个文件,单独存放一个类,例如:Person类抽离到person.dart文件中 class Person { final String name; final num ...

  5. dart快速入门教程 (7.1)

    7.面向对象 dart是一门使用类和单继承的面向对象语言,所有的对象都是类的实例,所有的类都是Object的子类,换句话说就是万物皆对象 7.1.类与对象 void main() { // 注意:ne ...

  6. dart快速入门教程 (2)

    2.变量和数据类型 2.1.变量和常量 变量通俗的说就是可以变化的量,作用就是用来存储数据,你可以把一个变量看作是一个水果篮,里面可以装苹果.梨.香蕉等,常量就是一个固定的值,和变量是相对的,变量可以 ...

  7. dart快速入门教程 (1)

    1.环境搭建 1.1.dart简介 Dart 是一种 易于学习. 易于扩展.并且可以部署到 任何地方 的 应用 编程 语言.Google 使用 Dart 来开发 大型应用.flutter使用dart语 ...

  8. dart快速入门教程 (5)

    5.函数 5.1.函数定义 语法: 返回值类型 函数名(参数类型 参数1, 参数类型 参数2,...) { // 函数体 return '返回值' } 举例: void main() { print( ...

  9. dart快速入门教程 (4)

    4.流程控制 4.1.分支结构 1.if语句 void main() { int score = 80; if (score >= 90) { print('优秀'); } else if (s ...

随机推荐

  1. 基于 abp vNext 和 .NET Core 开发博客项目 - 博客接口实战篇(二)

    系列文章 基于 abp vNext 和 .NET Core 开发博客项目 - 使用 abp cli 搭建项目 基于 abp vNext 和 .NET Core 开发博客项目 - 给项目瘦身,让它跑起来 ...

  2. Java实现 LeetCode 721 账户合并(并查集)

    721. 账户合并 给定一个列表 accounts,每个元素 accounts[i] 是一个字符串列表,其中第一个元素 accounts[i][0] 是 名称 (name),其余元素是 emails ...

  3. Java实现 蓝桥杯 算法提高 快乐司机

    算法提高 快乐司机 时间限制:1.0s 内存限制:256.0MB 问题描述 "嘟嘟嘟嘟嘟嘟 喇叭响 我是汽车小司机 我是小司机 我为祖国运输忙 运输忙" 这是儿歌"快乐的 ...

  4. Java实现 蓝桥杯VIP 算法训练 字符串逆序

    问题描述 给定一个字符串,将这个串的所有字母逆序后输出. 输入格式 输入包含一个字符串,长度不超过100,字符串中不含空格. 输出格式 输出包含一个字符串,为上面字符串的逆序. 样例输入 tsinse ...

  5. Java实现 LeetCode 352 将数据流变为多个不相交区间

    352. 将数据流变为多个不相交区间 给定一个非负整数的数据流输入 a1,a2,-,an,-,将到目前为止看到的数字总结为不相交的区间列表. 例如,假设数据流中的整数为 1,3,7,2,6,-,每次的 ...

  6. Java实现 蓝桥杯VIP 算法提高 进制转换

    算法提高 进制转换 时间限制:1.0s 内存限制:256.0MB 问题描述 程序提示用户输入三个字符,每个字符取值范围是0-9,A-F.然后程序会把这三个字符转化为相应的十六进制整数,并分别以十六进制 ...

  7. Java实现 蓝桥杯 算法提高 成绩排序2

    试题 算法提高 成绩排序2 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给出n个学生的成绩,将这些学生按成绩排序,排序规则:总分高的在前:总分相同,数学成绩高的在前:总分与数学相 ...

  8. 第六届蓝桥杯JavaC组省赛真题

    解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.隔行变色 隔行变色 Excel表的格子很多,为了避免把某行的数据和相邻行混淆,可以采用隔行变色的样式. 小明设计的样式为:第1行蓝色, ...

  9. Cacti断图、大量报错故障

    一.Cacti日志出现大量错误 最近查看Cacti日志,出现大量红色告警,并且每五分钟出现1次,虽然不影响流量的查看,但是肯定会有问题. 错误日志如下 ERROR: A DB Exec Failed! ...

  10. [html][js]视频倍速播放功能

    代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8& ...