Dart认识

本文介绍了Dart语言的基础知识,包括Dart SDK的安装、基本语句如变量、常量、数据类型、运算符和列表的使用。还深入讲解了Dart的方法,如函数、类、抽象类、泛型和库的使用,是Dart初学者的入门指南。
摘要由CSDN通过智能技术生成

Dart

Dart SDK安装

Dart for Windows 下载安装包

vscode编辑器安装dart 和code runner插件

1.dart 的基本语句

1.入口:

 main(){
     print('hello dart')
 }
 ​
 //表示main方法没有返回值
 void main(){
      print('hello dart')
 }

2.dart 变量

1.定义变量

可以使用var关键字也可以通过类型声明变量

 var str ="this is var";
 String str = "this is String";
 int str =123;
 ​
 ​
 void main() {
 var str = "你好 dart";
 print(str);//打印
 }

数字类型:int

字符串类型:String

2.dart的命名规则

  1. 变量名称必须是数字、字母、下划线和美元符号($)组成

  2. 注意:标识符开头不能是数字

  3. 标识符不能是保留字和关键字

  4. 变量的名字是区分大小的:age和Age是不同的变量。(建议不这样用)

  5. 建议变量名使用名词,方法名使用动词

3.dart 常量

final 和 const 修饰符

  1. const 值不变一开始就需要赋值

  2. final开始可以不复制,只能赋值一次;而final不仅有const 的编译时常量的特性,最重要的是他运行时常量,并且final是惰性初始化,及运行时第一次使用前才被调用

  3. 永远不改变的量,使用final和const修饰他,而不是var或者其他变量类型。

 void main() {
   final date = new DateTime.now();
   print(date);
 }
 //此时const会报错,调用方法赋值给一个常量时,使用final。

###

4.dart中支持的数据类型

1.常用数据类型

Numbers(数值):int (整型) double(浮点型)

Strings(字符串):String

Booleans(布尔):bool

List(数组):在Dart中,数组是列表对象,也可以称为列表

Maps(字典):Map是一个键值对相关的对象。键和值可以是任何类型的对象。每个键

注意:不会进行类型转换

 ​
 // 单引号或者双引号可以多行
 String str = """ this is dart
                 this id dart """
 ​
 ​
 /*
 字符串拼接
 */
  var str = "hello ";
     var str1 = "dart";
     // print ("$str $str1");
     print (str+str1);
 ​
 /*
     数值类型
 */
     int a = 123;
     double b = 23.45;
     double c =24;
     console.log(c);//24.0
 /*
     Booleans(只有两个值,true和false)
 */
  bool flag1 = true;
  bool flag2 = flase;
 ​
 /*
     条件判断语句
 */
      bool flag = true;
     if(flag){
      print('真的');
  }else{
      print('假的');
  }
 //==============----------------------
  void main() {
    var a = 123;
    var b = "123";
    if (a == b) {
      print('a和b相等');
    } else {
      print('a和b不相等');
    }
  }
    // a和b不相等
 ​
 /*
     1.第一种定义List的方法
 */
  void main() {
    var list = ['张三', '李四', '王五'];
    print(list.length);//3
    print(list[1]);//李四
  }
 ​
 ​
 /*
     2.第二种定义List的方法
 */    
 var lo = new List();
 lo.add('张三');
 lo.add('李四');
 lo.add('王五');
 print(lo.length);
 print(lo[1]);
 ​
 /*
     1.第一种定义Maps的方式
 */
       var person = {
  "name": "张三",
  "gae": 28,
  "gender": "男",
  "job": ["程序员", "外卖员"],
 };
 print(person);
 print(person["age"]);
  print(person["name"]);
     print(person["gender"]);
  print(person["job"]);
 ​
 /*
 {name: 张三, gae: 28, gender: 男, job: [程序员, 外卖员]}
 null
 张三
 男
 [程序员, 外卖员]
 */
 ​
 /*
     2.第二种定义Maps的方式
 */    
 var p = new Map();
 p['name'] = '张三';
 p['gae'] = 24;
   p['gender'] = '男';
 p['job'] = ["程序员", "外卖员"];
   print(p);
 print(p["age"]);
  print(p["name"]);
     print(p["gender"]);
  print(p["job"]);

2.数据类型判断

is关键词判断

 var str = '1234';
 if (str is String) {
  print('对的');
 }
 //对的

5.dart 运算符

1.算数运算符

 int a =13;
 int b =5;
 ​
 print(a + b);
 print(a - b);
 print(a * b);
 print(a / b);
 print(a % b);//取余
 print(a ~/ b);//取整
 ​
 /*
 18
 8
 65
 2.6
 3
 2
 */

2.关系运算符

 int a =3;
 int b =5;
 ​
 print(a == b);
 print(a != b);
 print(a > b);
 print(a > b);
 print(a >= b);
 print(a <= b);
 ​
 /*
 false
 true
 false
 false
 false
 true
 */
 ​

3.逻辑运算符

 // ! 取反
 bool flag = true;
 print(!flag);
 ​
 /* &&并且  全为true才为true 否则false */
 bool a = true;
 bool b = false;
 ​
 print(a&&b);
 ​
 /* || 或者 全为false才为false 否则true */
 bool c = true;
 bool d = false;
 print(c||d);
 ​
 ​
 /*
 false
 true
 false
 false
 false
 true
 */

4.赋值运算符

1.基础赋值运算符

= ??==

 b??==23;
 //表示如果b的值为空的话把23赋值给b

2.复合赋值运算符

+= -= *= /= %= ~/=

 var a = 10;
 a += 10;//a=a+10;
 print(a); //20

3.条件表达式

 /*
 三目运算符
 */ 
 bool flag = true;
 String success = flag ? '成功' : '失败';
 print(success);//成功
 ​
 /*
 if else
 */ 
 var score = 80;
 if (score>90) {
 print('优秀');
 }else if(score>70){
  print('良好');//良好
 }else if(score>=60){
  print('及格');
 }else{
  print('不及格');
 }
 ​
 /*
 switch case
 */
 var sex = "男";
 switch (sex) {
  case "男":
    print('男');
    break;
  case "女":
    print('女');
    break;
  default:
    print('参数错误');
    break;
 }
 //男
 ​
 /*
 ??运算符
 */
 ​
 var a;
 var b = a ?? 10;
 print(b);//10
 ​
 ​
 var a=22;
 var b = a ?? 10;
 print(b);//22
 ​

4.类型转换

 //1.Number和String类型之间的转换
 ​
 /*
 String==>Number  parse()
 */
 String a = '10';
 var b = int.parse(a);
 print(b);//10
 ​
 ​
 String myNum = '12.32';
 var newNum = double.parse(num);
 print(newNum);//12.13
 ​
 //当出现代码出错时,可抛出另一种结果,且不会报错
  String price = '';
  try{
    var newPrice = double.parse(price);
     print(newPrice);
  }catch(err){
      print(0);//0
  }
 ​
 ​
 /*
 Number==>String  toString()
 */
 int a = 41;
 var str = a.toString();
 print(str
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值