Dart 学习笔记 (二)内置类型 (数值/布尔值/字符串/列表)

161 阅读2分钟

数值类型:

num / int / double

运算符

1. 算术运算符(二元运算符)

    print(a + b);
    print(a - b);
    print(a * b);
    print(a / b);
    print(a ~/ b);
    print(a % b); 

2. 运算方法
    int a = 20;
    double b = 10.3;

    print(a.isEven); //- 偶
    print(a.isOdd);//- 奇

    int c = -11;
    print(c.abs()); //- 取正

    print(b.round()); //- 四舍五入
    print(b.floor()); //- 向下取整
    print(b.ceil()); //- 向下取整
    print(b.toInt()); //- 取整
    print(c.toDouble()); //- 转小数
    
3. 自增、自减运算符 / 比较运算符
   == / != / < / > / <= / >= / instanceof() 判断数据类型
   
   && / || / !/ & / |

4. 赋值运算符 / 三元运算符 
   = / += / -= / *= / /=
   
   格式:条件式 ? 表达式1 : 表达式2;
   
5. 位运算符 
6. 移位运算符
  (后续更新)

布尔值

assert 断言

注意: 断言只在检查模式下运行有效,如果在生产模式 运行,则断言不会执行。

var name = '';
assert(name.isEmpty);
assert(name.isNotEmpty);

逻辑运算符

&& 逻辑与 / || 逻辑或 / !逻辑非

关系运算符

== 等于 / != 不等于 / > 大于 / >= 大于等于 / < 小于 / <= 小于等于

字符串

创建字符串 单双引号都可以

String a = 'hello';
String b = "world";

字符串模板(插值表达式)

var a = 123;
String b = 'hello : ${a}';
print(b);

int a = 1;
int b = 2;
print("a+b = ${a + b}");

字符串连接

var a = 'hello' + ' ' + '10';
var a = 'hello'' ''20';
var a = 'hello'   ' '     '30';
var a = 'hello'
' '
'hello';
var a = '''
hello word
abc
''';
var a = """
hello word
abc
""";

转义符号

/n
var a = 'hello word \n abc';
print(a);

取消转义符
var a = r'hello word \n abc';
print(a);

运算符

String a = "This is apple";
String b = "This is banana";
print(a + "New");
print(a * 5);
print(a == b);
print(a[1]);

常用方法:

var a = 'hello world ';
print(a.contains('hello')); //- 是否包含
print(a.startsWith('he'));//- 判断开头字符是什么
print(a.endsWith('ld'));//- 判断结束字符是什么
print(a.indexOf('lo'));//- 所在字符串的位置是什么
print(a.substring(0, 5));//- 从0开始截取5位
a.split(' ');//- 字符串转数组
print(a.toLowerCase());//- 转小写
print(a.toUpperCase());//- 转大写
print('    hello word     '.trim());//- 删除开头和结尾的空格
print(''.isEmpty);//- 判断是否为空
print('hello word word!'.replaceAll('word', 'aaaa'));//- 替换全部字符

链式操作

  var sb = StringBuffer();
  sb
    ..write('hello word!')
    ..write('my')
    ..write(' ')
    ..writeAll(['apple', ' ', 'banana']);
  print(sb.toString());

列表

创建

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

属性

名称说明
isEmpty是否为空
isNotEmpty是否不为空
first第一个对象
last最后一个对象
length个数

常用方法 | 名称 | 说明 | | ---------- | ------ | | add | 添加 | | addAll | 添加多个 | | insert | 插入 | | insertAll | 插入多个 | | indexOf | 查询 | | indexWhere | 按条件查询 | | remove | 删除 | | removeAt | 按位置删除 | | fillRange | 按区间填充 | | getRange | 按区间获取 | | shuffle | 随机变换顺序 | | sort | 排序 | | sublist | 创建子 | | forEach | 循环(传入的是一个方法) |

操作符

名称说明
+连接
[]取值
[]=赋值