【初见Dart】第二章:数据类型

1. 变量与常量

1.1 变量

使用var声明变量,可赋予不同类型的值
未初始化时,默认值为null
使用final声明-一个只能赋值一 次的变量

1.2 示例代码

void main() {
  //变量
  var a;
  var b = 20;
  print(a);
  print(b);

  a = 10;
  print(a);

  a = "Hello Dart!";
  print(a);

  //不可变量
  final c = 30; //相当于Kotlin中的val

  //常量
  const d = 50; //相当于Kotlin中的const val
}	
null
20
10
Hello Dart!

2. 数值型

在这里插入图片描述

2.1 内置类型

数值型-Number
字符串-String
布尔型- Boolean
列表-List
键值对-Map
Runes. Symbols

2.2 数值型操作

运算符: +、-.*. /、~/、%
常用属性: isNaN、isEven. isOdd等
常用方法: abs()、round()、 floor()、 ceil()、 toInt()、 toDouble()

2.3 示例代码

void main() {
  num a = 10;
  //a = 12.5; 可以擦除类型,重新赋值

  int b = 20; //申明具体类型,不能再赋予不同类型的数值了

  double c = 12.5;

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

  print(0.0 / 0.0); //非数字

  print(b.isEven); //奇偶数
  print(b.isOdd);

  int d = -20;
  print(d.abs()); //绝对值

  double e = 10.5;
  print(e.ceil()); //进一
  print(e.round()); //四舍五入
  print(e.floor()); //取整

  print(e.toInt()); //转化
  print(d.toDouble());
}
32.5
7.5
250.0
1.6
1
7.5
NaN
true
false
20
11
11
10
10
-20.0

3. 字符型

3.1 字符串创建

使用单引号,双引号创建字符串
使用三个引号或双引号创建多行字符串
使用r创建原始raw字符串

3.2 字符串操作

运算符:+. *. ==、0]
插值表达式: ${expression}
常用属性: length. isEmpty. isNotEmpty

3.3 常用方法

contains(), subString()
toLowerCase(), toUpperCase()
startsWith(), endsWith()
trim(), trimLeft(), trimRight()
indexOf(), lastIndexOf()
split(), replaceXXX()

3.4 示例代码

void main() {
  String str1 = 'Hello';
  String str2 = "Hello1";
  String str3 = """Hello
Dart"""; //多行显示,也可单引号表示
  print(str3);

  String str4 = 'Hello \nDart'; //转义字符串
  String str5 = r'Hello \nDart'; //非转义字符串

  //字符串运算
  String str6 = "Hello ";
  print(str6 + "Dart"); //拼接
  print(str6 * 5); //重复
  print(str6 == "Hello "); //比对
  print(str6[0]); //截取

  //插值表达式
  int a = 10, b = 10;
  print("a: $a + b: $b = ${a + b}");

  //属性
  print(
      'str3: ${str3.length} str4: ${str4.length} str5: ${str5.length}'); //可以看出,"""换行其实就是\n,所以str3和str4的长度相等
  print(str6.isEmpty);
  print(str6.isNotEmpty);

  //常用方法
  String str7 = "Hello Dart!";
  print(str7.contains("Hello"));
  print(str7.substring(0, 3));
  print(str7.startsWith("H"));
  print(str7.endsWith("!"));
  print(str7.split(" "));
  print(str7.replaceAll("Dart", "Flutter"));
}
Hello
Dart
Hello Dart
Hello Hello Hello Hello Hello 
true
H
a: 10 + b: 10 = 20
str3: 10 str4: 11 str5: 12
false
true
true
Hel
true
true
[Hello, Dart!]
Hello Flutter!

4. 布尔型

4.1 布尔

使用bool表示布尔类型
布尔值只有true和false

4.2 示例代码

void main() {
  bool isOK = false;
  print(isOK);
}
false

5. 列表List

5.1 List(数组)创建

创建List : var list = [1, 2, 3];
创建不可变的List : var list = const [1, 2, 3];
构造创建: var list = new List();

5.2 常用操作

[], length
indexOf(), lastIndexOf()
add(),insert()
sort(), sublist()
remove(), clear()
shuffle(), asMap(), forEach()

6. Map

6.1 Map创建

创建Map:var language = {first': 'Dat', second': 'Java' };
创建不可变Map:var language = const { 'first': 'Dart', 'second: 'Java' }; 
构造创建:var language = new Map();

6.2 常用操作

[], length
containsKey(), containsValue()
isEmpty(), isNotEmpty()
remove()
Keys, values
forEach()

7. Dynamic

7.1 示例代码

void main () {
	var a;
 	a = 10;
	a = "Dart";
	
	dynamic b = 20;
	b = "JavaScript" ;

	var list = new List<dynamic>();
	list .add(1);
	list .add ("hello");
	list.add (true);
	print (list);
}

猜你喜欢

转载自blog.csdn.net/weixin_42473228/article/details/123639239