这里写目录标题
Dart 运算符和类型转换:详细指南
在 Dart 编程语言中,了解运算符和类型转换是进行有效编程的基础。本篇博客将深入探讨 Dart 中各类运算符及基本的类型转换方法,并通过生动的例子使复杂的概念变得易于理解。
Dart 运算符
Dart 语言提供了丰富的运算符,使得算数计算、条件判断和值赋予变得异常方便。
算术运算符
算术运算符用于执行通用的数学运算。
var a = 10;
var b = 3;
print(a + b); // 输出: 13
print(a - b); // 输出: 7
print(a * b); // 输出: 30
print(a / b); // 输出: 3.333...
print(a ~/ b); // 输出: 3 (取整)
print(a % b); // 输出: 1 (取余)
关系运算符
关系运算符用于比较两个值的大小或等同性。
var x = 5;
var y = 10;
print(x > y); // 输出: false
print(x < y); // 输出: true
print(x >= y); // 输出: false
print(x <= y); // 输出: true
print(x == y); // 输出: false
print(x != y); // 输出: true
逻辑运算符
逻辑运算符用于组合多个条件判断。
var trueVal = true;
var falseVal = false;
print(!trueVal); // 输出: false
print(trueVal && falseVal); // 输出: false
print(trueVal || falseVal); // 输出: true
赋值运算符
赋值运算符用于将值赋予变量,包括简单赋值和复合赋值。
var num = 10;
num += 5; // 等同于 num = num + 5;
print(num); // 输出: 15
var nullVal;
nullVal ??= 'default value'; // 如果 nullVal 为 null,则赋值
print(nullVal); // 输出: default value
条件表达式
条件表达式用于基于条件执行不同的代码。
var age = 18;
var result = age >= 18 ? 'Adult' : 'Minor';
print(result); // 输出: Adult
var name;
var userName = name ?? 'Guest';
print(userName); // 输出: Guest
类型转换
在 Dart 中,转换不同的数据类型是很常见的需求,特别是数字与字符串之间的转换,以及其他类型到布尔类型的转换。
Number 与 String 之间的转换
var one = int.parse('1');
print(one + 2); // 输出: 3
var onePointOne = double.parse('1.1');
print(onePointOne + 0.9); // 输出: 2.0
var strOne = 1.toString();
var strPi = 3.14159.toStringAsFixed(2);
print(strOne); // 输出: "1"
print(strPi); // 输出: "3.14"
其他类型转换成 Booleans 类型
在 Dart 中,只有布尔表达式可以用在条件判断中,所有其他类型必须先转换为布尔类型。
null
被认为是false
- 非零的数字被认为是
true
- 非空的字符串被认为是
true
- 非空的列表、集合以及映射被认为是
true
var emptyString = '';
print(emptyString.isEmpty); // 输出: true
var number = 123;
print(number != 0); // 输出: true
var nullValue;
print(nullValue == null); // 输出: true
结论
通过对 Dart 中运算符和类型转换的深入探讨,你现在应该对如何在 Dart 程序中有效地使用这些基础概念有了更清晰的理解。记住,掌握这些基本概念对于编写干净、有效和高效的 Dart 代码至关重要。希望本篇博客能够帮助你在 Dart 编程的旅途中迈出坚实的一步。