1. 数据类型
变量与常量
使用关键字 var 声明一个变量,可赋予不同类型的值,变量在未初始化时默认为 null
var a;
print(a); //null
a = 10;
print(a); //10
a = "Hello Dart";
print(a); //Hello Dart
使用关键字 final 声明一个只能被赋值一次的变量,必须在声明时赋值
final b = 10;
b = 11; //ERROR
final c; //ERROR
使用关键字 const 声明一个编译器常量
const d = 10;
d = 11; //ERROR
const e; //ERROR
数值型
数值型使用关键字 num 来表示,分为整数型 int 和浮点型 double
num a = 10;
print(a); //10
a = 3.14;
print(a); //3.14
int b = 10;
print(b); //10
b = 3.14; //ERROR
double c = 3.14;
c = 10;
print(c); //10.0
int a = -10;
print(a.isNaN); //false
print(a.isEven); //true
print(a.isOdd); //false
print(a.toDouble()); //-10.0
print(a.abs()); //10
double b = 3.8;
print(b.round()); //4
print(b.toInt()); //3
print(b.floor()); //3
print(b.ceil()); //4
字符串
字符串使用关键字 String 来表示,分为单行字符串、多行字符串和原始 raw 字符串
String a = 'Hello Dart'; //单引号
print(a); //Hello Dart
String b = "Hello Dart"; //双引号
print(b); //Hello Dart
String c = '''Hello Dart
Hello Flutter
''';
print(c); //换行输出
String d = """Hello Dart
Hello Flutter
""";
print(d); //换行输出
String e = "Hello\tDart";
print(e); //Hello Dart
String f = r"Hello\tDart";
print(f); //Hello\tDart
String a = "Dart";
print(a * 4); //DartDartDartDart
print(a[1]); //a
print(a.isNotEmpty); //true
int b = 6;
String c = "小明今年$b岁了,明年后就${b + 1}岁可以上小学了";
print(c); //小明今年6岁了,明年后就7岁可以上小学了
布尔型
使用关键字 bool 来表示布尔型,只有 true 和 false 两个值
bool a = true;
print(a); //true
bool b = false;
print(b); //false
List
在 Dart 语言里,用列表 List 来表示数据列表,它的元素可以是不同类型
List list1 = new List();
List list2 = List(); //关键字new可省略
list2.add(1);
list2.add('a');
list2.add(true);
print(list2); //[1, a, true]
list2[1] = '%';
print(list2); //[1, %, true]
List list3 = const [1, 'b', true]; //const关键字限制了列表元素不能修改
print(list3); //[1, b, true]
list3.forEach(print); //传入print方法,输出列表元素
Set
在 Dart 语言里,用 Set 来表示一个数据集合。与 List 不同的是,Set 集合的元素无序且不可以重复,也不能通过下标来获取元素
Set set = Set();
set.add('a');
set.add('b');
set.add('c');
print(set); //{a, b, c}
Map
在 Dart 语言里,用 Map 来表示键值对数据映射数据集,直接使用 map[key] = value 进行插入/修改
Map map1 = Map();
map1[1] = 1;
map1['a'] = 'Ahaha';
map1[true] = false;
print(map1); //{1: 1, a: Ahaha, true: false}
map1.forEach((K, V) => print('key:$K,value:$V'));
Map map2 = {'a': 'A', 'b': 'B', 3: true};
print(map2); //{a: A, b: B, 3: true}
print(map2.keys); //(a, b, 3)
print(map2.values); //(A, B, true)
print(map2.containsKey(1)); //false
print(map2.containsValue('A')); //true
动态类型
dynamic 可以理解为 Java 中的 Object 类型,var / final /const 声明的变量/常量,默认就是该类型,可以赋值任意类型的数据
枚举(后期讲解)
泛型(后期讲解)
2. 运算符
算数运算符
区别于 Java ,在 Dart 语言里
- / 表示除,得到的是 double 型数据
- ~/ 表示取整,与 Java 中的除相同
int a = 5;
int b = 2;
print(a / b); //2.5
print(a ~/ b); //2
赋值运算符
Dart 语言里新增了空赋值的概念
- ??= 如果变量为空,则赋值
int a;
a ??= 10;
a ??= 11;
print(a); //10
条件表达式
Dart 语言里新增了空表达式,类似于空赋值
- ?? 当前一个表达式的结果为空时,使用后一个表达式的结果
var result = null ?? 1 + 3;
print(result); //4
3. 控制语句
区别于 Java ,Dart 语言新增了 for ... in 控制语句,类似于 Java 中的 for ... each
- for ... in 循环遍历 Iterable 中所有元素
List list = [1, 2, 3, 4, 5];
for (int item in list) {
print(item);
}
网友评论