Dart基础语法

image.png

Hello Dart

Dart 语言与其他许多编程语言一样,以 main 函数作为程序的入口点。以下是一个简单的 "Hello Dart" 程序示例,展示了 Dart 语言的这一特点。


// 标准写法
void main(){
  print("Hello Dart");
}

// 省略写法
main(){
  print("Hello Dart");
}

// 简写
main()=>print("Hello Dart");
 

数据类型

Dart 是一种面向对象的编程语言,其中数字、布尔值、函数等均为对象。这些对象都继承自 Object 类,与 Java 有相似之处。因此,在 Dart 中,所有变量的默认值都是 null。该语言包含了多种内置数据类型,其中包括数值类型、布尔类型、字符串类型以及集合类型。

1、数字类型

在 Dart 中,数值类型用于表示整数和浮点数。Dart 提供了两种数值类型:

  1. int:

    • int 类型表示整数,它的取值范围通常与平台有关,但在 Dart VM 上,它至少可以表示 -2^63 到 2^63 - 1 范围内的值。

    • int 类型的字面量可以是十进制、十六进制或八进制表示法。例如:

      • 十进制:123

      • 十六进制:0x123 或 0X123

      • 八进制:0o123 或 0O123

  2. double:

    • double 类型表示64位双精度浮点数,符合 IEEE 754 标准。

    • double 类型的字面量可以是一个小数点表示的数字,也可以是一个指数表示的数字。例如:

      • 小数点:123.45

      • 指数:1.23e2 或 1.23E2

在 Dart 中,数值类型是强类型的,这意味着它们在编译时就会进行检查。如果你尝试将一个 int 类型的值赋给一个声明为 double 类型的变量,或者相反,你需要显式地进行类型转换。

int myInt = 42;
double myDouble = 3.14;
​
// 错误:不能直接将 int 赋值给 double
// myDouble = myInt;
​
// 正确:显式转换 int 为 double
myDouble = myInt.toDouble();
​
// 错误:不能直接将 double 赋值给 int
// myInt = myDouble;
​
// 正确:显式转换 double 为 int
myInt = myDouble.toInt();
 

在进行数值运算时,Dart 会根据操作数的类型自动进行类型提升。例如,如果一个 int 和一个 double 进行运算,结果会是一个 double。

int a = 1;
double b = 1.0;
var c = a + b; // c 是 double 类型

在 Dart 中,数值类型还可以进行常见的算术运算(如加、减、乘、除)和其他数学函数(如求平方根、取整等),这些功能主要通过 dart:math 库提供。

2、布尔类型

在 Dart 中,布尔类型(bool)用于表示逻辑值,它只有两个可能的值:true 和 false。布尔类型在条件语句、循环和其他需要逻辑判断的地方非常有用。 以下是关于 Dart 中布尔类型的一些关键点:

  1. 声明布尔变量

    • 要声明一个布尔类型的变量,你可以在变量前加上 bool 关键字。

    • 布尔变量应该只被赋值为 true 或 false。

bool isTrue = true;
bool isFalse = false;
  1. 布尔表达式

    • Dart 中的布尔表达式会产生一个布尔值,例如比较操作符(==、!=、>、< 等)、逻辑操作符(&&、||、!)和其他可以返回布尔结果的表达式。

    • 布尔表达式常用于 if、while、do-while、for 循环以及 ?: 三元操作符等结构中。

if (isTrue) {
  print('This is true.');
}
​
while (!isFalse) {
  print('This will loop until isFalse becomes true.');
}
​
  1. 布尔字面量

    • true 和 false 是 Dart 中的布尔字面量,它们是编译时常量。

    • 布尔字面量可以直接用于任何需要布尔值的地方。

  2. 类型转换

    • Dart 不会自动将非布尔值转换为布尔值,如果你需要将其他类型转换为布尔值,你需要显式地进行类型转换。

    • 使用 as bool 或 toDouble() 方法可以进行类型转换。

var myNumber = 0;
if (myNumber as bool) {
  print('This will not be printed because myNumber is not true.');
}
  1. 布尔值的使用

    • 布尔值常用于条件判断,控制程序的流程。

    • 在 Dart 中,布尔值也可以用于逻辑运算,如 &&(逻辑与)、||(逻辑或)和 !(逻辑非)。

bool isAdult = age >= 18;
bool canVote = isCitizen && isAdult;
bool canDrive = age >= 16 || hasDriverLicense;
 

3、字符串类型

在 Dart 中,字符串类型(String)用于表示一系列的字符序列。Dart 中的字符串是不可变的,这意味着一旦创建了一个字符串,你就不能更改它。如果你需要对字符串进行操作,你会得到一个新的字符串。 以下是关于 Dart 中字符串类型的一些关键点:

  1. 字符串字面量:

    • Dart 支持单引号(')、双引号(")和三引号(""")来创建字符串字面量。

    • 单引号和双引号字符串是相同的,可以互相嵌套使用。

    • 三引号字符串用于创建多行字符串,可以包含换行符和引号,而不需要转义。

var s1 = 'Single quotes work well for string literals.';
var s2 = "Double quotes work just as well.";
var s3 = 'It\'s easy to escape the string delimiter.';
var s4 = "It's even easier to use the other delimiter.";
var s5 = '''
Triple quotes allow multiline string literals.
For example, this is a Haiku:
  The old pond,
  A frog jumps in—
  Kerplunk!
''';
​
  1. 字符串拼接

    • Dart 支持使用 + 运算符来拼接字符串。

    • 使用 ${expression} 形式的模板字符串可以进行字符串插值。

var s1 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值