Dart基础知识

一、入口函数

1、main()

  • 每个 .dart 文件中所有内容都要写在 main() 方法中。
  • Dart 语法规定,每一行代码结尾必须加上英文的分号表示结束。

2、创建方法

  • main() 方法的创建方法有两种,分别是有返回值和没有返回值

  • 有返回值

    main() {print('Hello Dart');
    }
    
  • 没有返回值

    void main() {print('Hello Dart');
    }
    

3、注释

  • Dart 中的注释与 JavaScript 中相同
  • 快捷键:ctrl + /

二、定义变量

1、关键字

  • Dart 是一个强大的脚本类语言,可以不预先定义变量类型,自动会进行类型判断(类似于 JavaScript)
  • 声明变量关键字:var
  • 声明含类型变量:int(数字类型) String(字符类型)

2、var 定义变量

  • 代码

    main()
    {var num1 = 123456;var str1 = 'Hello Dart';print('数字:$num1');print('字符:$str1');
    }
    
  • 运行结果

3、定义含类型变量

  • 代码

    main()
    {String str = 'Hello Dart';int num1 = 123456;print("数字:$num1");print("字符:$str");
    }
    
  • 运行结果

4、定义特殊字符串变量

main()
{var str = '''abcdef123456''';print(str);
}

5、变量命名规则

  • 以数字、字母、下划线、$组成

  • 不能以数字开头

  • 不能使用关键字

  • 区分大小写(age和Age不是同一变量)

  • 见名思意

三、定义常量

1、const

  • const 声明的常量在声明时必须赋值。

2、final

  • final 声明的常量在声明时可以不赋值,后期代码中可以赋值,但只能赋值一次。
  • final 声明的常量在赋值时可以赋值某个变量的值。
main()
{// const time = new DateTime.now();		// 报错final time = new DateTime.now();print(time);
}

四、数据类型

1、字符串类型

  • 可通过 var 或 String 定义字符串类型变量

    main()
    {var str1 = 'Hello';String str2 = 'Dart';print(str1);print(str2);
    }
    

  • 可通过 +$ 拼接字符串

    main()
    {var str1 = 'Hello';String str2 = 'Dart';print("$str1 $str2");print(str1 + " " + str2);
    }
    

2、数值类型

  • 可通过 var int double 关键字定义数字类型的变量

  • 使用 int 声明的变量是整形数据。

  • 使用 double 声明的变量是浮点型数据。

    main()
    {int a = 10;double b = 12.5;print("$a $b");
    }
    

3、布尔型

  • 使用 var bool 定义布尔型数据。

  • 布尔值包括: true、false

  • 条件判断时,区分数据类型。

    main()
    {var a = 123;var b = '123';if(a == b){print("a = b");}else{print("a != b");}
    }
    

4、数组类型(集合类型)

  • 可使用 var List 声明数组变量。

  • 在声明时,可指定数组类型。

    main()
    {// 普通定义List arr = ['张三',20,true];print(arr);print(arr.length);print(arr[0]);print('--------------------');// 指定类型var arrStr = ['张三','李四'];print(arrStr);
    }
    

  • 给数组添加数据,add()方法相当于 JavaScript 中的 push() 方法

    main()
    {var arr = [];print(arr);print(arr.length);print('-------');arr.add(1);arr.add(2);arr.add(3);print(arr);
    }
    

  • 创建指定长度的数组。固定长度的数组只可以修改元素,不可以新增元素

    main()
    {var arr = List.filled(10, true);print(arr);arr[3] = false;print(arr);
    }
    

5、Maps 类型

  • 第一种定义方式

    main()
    {var obj = {'name': '张三','age': 20,'gender': 0};print(obj);print(obj['name']);
    }
    

  • 第二种定义方式

    main()
    {var obj = new Map();obj['name'] = '张三';obj['age'] = 20;obj['gender'] = 0;print(obj);
    }
    

6、类型判断

  • 关键字:is

    main()
    {var num = 10;var str = '张三';var arr = ['李四',20,'程序员'];var obj = {'name': '王五','age': 20,'gender': 1};print(num is int);print(str is String);print(arr is List);print(obj is Map);
    }
    

五、运算符

1、算数运算符

  • 运算符
运算符注释
+
-
*
/
%取余
~/取证
  • 代码

    main()
    {var num1 = 21;var num2 = 12;print(num1 + num2);print(num1 - num2);print(num1 * num2);print(num1 / num2);print(num1 % num2);print(num1 ~/ num2);
    }
    

2、关系运算符

  • 运算符

    运算符注释
    ==等于
    ! =不等于
    >大于
    <小于
    > =大于等于
    < =小于等于
  • 代码

    main()
    {var num1 = 21;var num2 = 12;print(num1 == num2);print(num1 != num2);print(num1 > num2);print(num1 < num2);print(num1 >= num2);print(num1 <= num2);
    }
    

3、逻辑运算符

  • 运算符

    运算符注释
    !
    &&
    ||
  • 与 JavaScript 语法一样

4、赋值运算符

  • 运算符

    运算符注释
    =普通赋值
    ??=条件赋值

5、复合赋值运算符

  • 运算符

    运算符注释
    +=加等于
    -=减等于
    *=乘等于
    /=除等于
    %=取余等于
    ~/=取整等于
  • 与 JavaScript 语法一样

6、其他

  • 运算符

    运算符注释
    ++自增
    自减
  • 与 JavaScript 语法一样

    main()
    {var a = 10,b = 10,c = 10,d = 10;print(++a);print(--b);print(c++);print(d--);print("c = $c,d = $d");
    }
    

六、条件表达式

1、if else

  • 与 JavaScript 语法一样

2、switch() case

  • 与 JavaScript 语法一样

3、三目运算符

  • 与 JavaScript 语法一样

    main()
    {var a = 10;var b = 20;var c = a < 20 ? b > 10 ? 'true' : 'false' : 'false';print(c);
    }
    

4、??

七、类型转换

1、字符转数值

  • 方法:pase()

  • 代码:

    main()
    {var str0 = '123';var num0 = int.parse(str0);print(num0 is int);var str1 = '123.1';var num1 = double.parse(str1);print(num1 is double);
    }
    

2、数值转字符

  • 方法:toString()

  • 代码

    main()
    {var num0 = 123.1;var str = num0.toString();print(num0 is double);print(str is String);
    }
    

3、转布尔型

  • 判断字符串是否为空

    main()
    {var str0 = '';var str1 = 'abc';str0.isEmpty ? print('str0: 空字符串') : print('str0: 非空字符串');str1.isEmpty ? print('str1: 空字符串') : print('str1: 非空字符串');
    }
    

八、循环语句

1、for 循环

  • 同 JavaScript

  • 与 JavaScript 不同的是,在 dart 中不支持 for in 和 for of

  • 例:利用 for 嵌套遍历二维数组

    main()
    {List subject = [{'title': '语文','list': [ '唐诗','宋词','文言文' ]},{'title': '数学','list': [ '算数','几何','函数' ]}];for(var i = 0; i < subject.length; i++){var title = subject[i]['title'];var list = subject[i]['list'];print(title);for(var j = 0; j < list.length; j++){print("--${list[j]}");}}
    }
    

2、while 循环

  • 同 JavaScript
  • 先判断条件,在执行循环体。

3、do while 循环

  • 同 JavaScript
  • 先执行循环体,在判断条件。(循环体至少执行一次—)

4、break 和 continue

  • 同 JavaScript
  • break: 跳出最近一层循环
  • continue:跳出本次循环
main()
{for(var i = 0; i < 10; i++){if(i == 2) continue;print(i);}for(var j = 0; j < 3; j++){print("外层第${j+1}次循环");for(var k = 0; k < 5; k++){if(j == 1 && k == 3) break;print("---内层第${k+1}次循环");}}
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部