数据类型
1. 内置类型
- 数值型:Number
- 字符串:String
- 布尔型:Boolean
- 列表:List
- 键值对:Map
- Runes、Symbols
2. 数值型 (num)
- 整型:
int
- 浮点型:
double
void main() {
num a = 10;
a = 12.5;
int b = 20;
b = 20.5; //warning:A value of type "double" can't be assigned to a variable of type "int"
double c = 10.3;
}
3. 数值类型操作
- 运算符: +、-、、/、~/(取整)*、%(取余)
- 常用属性:isNaN(是否是非数字)、isEven(是否是偶数)、isOdd(是否是偶数)
- 常用方法:
abs()
,round()
,floor()
,ceil()
,toInt()
,toDouble()
void main() {
var a = 19;
var b = 23;
double c = 23.23;
print(b + c);
print(b * c);
print(b / c);
print(b ~/ c);
print(0.0 /.0.0); //只有这种情况为非数字(NaN)
//判断是否为奇数或偶数
print(b.isEven);
print(b.isOdd); //打印值为true/false
int e = -100;
print(e.abs());
double f = 10.5;
print(f.round());
print(f.cell());
print(f.floor());
print(f.roInt());
print(f.roDouble);
}
4. 字符串(String)
4.1 字符串创建
- 使用单引号,双引号创建字符串
- 使用三个引号或双引号创建多行字符串
- 使用r创建原始raw字符串
var main() {
String str1 = 'Hello'; //""
String str2 = '''Hello
dart''';
print(str2);
String str3 = 'Hello \n Dart';
print(str3); //打印出来会换行
String str4 r'Hello \n Dart';
print(str4); //打印出来不会换行,会全部打印
}
4.2 字符串操作
- 运算符:+、-、==、[](取字符串中的字符)
var main() {
String str1 = 'Hello world';
String str2 = 3;
print(str1 + str2);
String str3 = 'Hello World';
print(str3[4]); //打印出:0(下标从0开始)
}
4.3 重点
- 插值表达式:${expression}
void main() {
int a = 4;
int b = 2;
print("a + b = ${a + b}"); //打印出来:a + b = 6
print("a = $a"); //如果插入的是一个变量的值的话可以不用{}
//打印出来:a = 4
}
- 常用属性:
length
(字符串长度)、isEmpty
(是否为空)、isNotEmpty
(是否不为空) - 常用方法:
--contains()
(包含什么)、subString()
(截取一段字符串)
--strtsWith()
(以什么开始)、endWith()
(以什么结束)
--indexOf()
、lastIndexOf()
(是否包含某个字符)
--toLowerCase()
、toUpperCase()
(大小写转化)
--trim()
、trimLeft()
、trimRight()
(截取前后空格)
--split()
(分隔字符串)
--replaceXXX()
(替换)
5. 布尔型(Boolean)
- 使用
bool
表示布尔类型 - 布尔值只有
true
和false
void main() {
bool isTrue = true;
bool isFalse = false;
print("Hello".isEmpty);
}
运行结果:
false