Flutter 学习(二)执行入口|变量|常量|数据类型|运算符|流程控制|关键字

Dart中的类(静态成员、操作符、类的集成) Dart中的静态成员: 1、使用static 关键字来实现类级别的变量和函数 2、静态方法不能访问非静态成员,非静态方法可以访问静态成员 class Person { static String name = '张三'; static void show() { print(name); } } //静态成员无法通过 new 来访问,只能通过类来访问 print(Person.name); Person.show(); class Person { static 阅读详情

本章主要学习:Dart入口的方法,变量,注释,常量,数据类型

1. 执行入口

// 无返回值入口方法
void main() {
  // 打印
   print('helloWorld');
}

main() {
  // 打印
  print('helloWorld');
}

2. 变量

2.1 String (字符串)

  // 未初始化,默认值null
  String str;
  print(str);

  // 字符串定义
  String s1 = 'helloWorld';
  print(s1);

  String s2 = '222';
  // 字符串拼接
  print(s1 + s2);

  //
  String s3 = '''你好,
  我们一起学习Dart ''';
  print(s3);

2.2 int (整数)

  // 未初始化,默认值null
  int n1;
  print(n1);
  
  int n2 = 100;
  print(n2);

2.3 double (小数)

  // 未初始化,默认值null
  double d1;
  print(d1);

  double d2 = 1.0;
  print(d2);

2.4 bool (布尔)

  // 未初始化,默认值null
  bool b1;
  print(b1);

  bool b2 = false;
  print(b2);

2.5 List ( 集合 )

  // 未初始化,默认值null
  List list;
  print(list);
  
  //创建一个int类型的list
  List list1 = [1, 2, 3];
  // 输出[1, 2, 3]
  print(list1);

  // 使用List的构造函数
  List list2 = new List();
  //添加单个元素
  list2.add(1);
  //添加多个元素
  list2.addAll([2, 3, 4, 5]);
  print(list2);
  // 获取集合长度
  print(list2.length);
  // / 获取第一个元素
  print(list2.first);
  // 获取元素最后一个元素
  print(list2.last);
  // 利用索引获取元素
  print(list2[0]);
  // 查找某个元素的索引号
  print(list2.indexOf(2));
  // 删除指定位置的元素,返回删除的元素
  print(list2.removeAt(0));
  // 删除指定元素,成功返回true,失败返回false
  // 如果集合里面有多个2, 只会删除集合中第一个改元素
  list2.remove(2);
  // 删除最后一个元素,返回删除的元素
  list2.removeLast();
  // 删除指定范围(索引)元素,含头不含尾
  list2.removeRange(0, 1);
  // 删除指定条件的元素(这里是数字大于2)
  list2.removeWhere((item) => item > 2);
  // 删除所有的元素
  list2.clear();
  print(list2);

  // 限定list的长度添加int参数,表示List固定长度,不能进行添加 删除操作
  List list3 = new List(1);
  // null
  print(list3[0]);
  // [null]
  print(list3);

2.6 Map (字典)

  // 未初始化,默认值null
  Map map;
  print(map);

  //创建一个map
  Map map1 = {'key': '0', 'value': '1'};
  // {key: 0, value: 1}
  print(map1);

  //先声明一个map,再赋值
  Map map2 = new Map();
  map2['key'] = '0';
  map2['value'] = '1';
  // {key: 0, value: 1}
  print(map2);

  // 指定键值对参数类型
  var map3 = new Map<int, String>();
  // Map的赋值,中括号中是Key,这里可不是数组
  map3[1] = '123';
  //Map中的键值对是唯一的Key如果存在,Value会覆盖之前的数据
  map3[1] = '321';
  // map里面的value可以相同
  map3[2] = '123';
  // map里面value可以为空字符串
  map3[3] = '';
  // map里面的value可以为null
  map3[4] = null;
  print(map3);
  // 查看Map是否含有某Key
  print(map3.containsKey(1));
  //删除某个键值对
  map3.remove(1);
  print(map3);

2.7 var|Object|dynamic (动态类型)

  // 定义变量,没有明确类型,编译的时候根据值明确类型  
  var str1 = 'helloWorld';
  Object str2 = '张三';
  dynamic str3 = '李四';
  print(str1);
  print(str2);
  print(str3);

3. 常量

  // 使用final 或者 const 定义时就必须初始化,并且值只能设置一次
  final String str = '1';
  const String str2 = '2';

  //无法再次赋值 The final variable 'str' can only be set once
  // str = '3';
  // str2 = '3';

  //flnal 或者 const 不能和 var 同时使用
  // final var str3= '3';
  // const var str3= '3';

4. 运算符

描述操作符
一元后置操作符expr++ expr-- () [] . ?.
一元前置操作符expr !expr ~expr ++expr --expr
乘除* / % ~/
加减+ -
位移<< >>
按位与&
按位或  
按位异或^
逻辑与&&
逻辑或   
关系和类型判断>= > <= < as is is!
等== !=
如果为空??
条件表达式expr1 ? expr2 : expr3
赋值= *= /= ~/= %= += -= <<= >>= &= ^= = ??=
级联..

5.  流程控制

  • if...else
  • for
  • while do-whild
  • break continue
  • switch...case
  • assert(仅在checked模式有效)
int i = 0;
  // 单独一个条件
  if (i == 0) {
    print('i==0');
  }
  // 对立条件
  if (i != 0) {
    print('i!=0');
  } else {
    print('i==0');
  }
  // 多条件
  if (i > 0) {
    print('i>0');
  } else if (i < 0) {
    print('i<0');
  } else {
    print('i==0');
  }

  // 循环
  for (int j = 0; j < i; j++) {
    print(j);
  }

  for (int j = 1; j <= 100; j++) {
    if (j == 100) {
      // 退出循环
      break;
    }
    if (j % 2 != 0) {
      // 跳过接下来的操作
      continue;
    }
    print(j);
  }

  // 循环
  while (i == 0) {
    i += 1;
  }

  // 不管while里的条件是否满足,都会先执行一次方法体
  do {
    i += 1;
    print('i==0');
  } while (i == 0);

  //
  switch (i) {
    case 1:
      print('我是1');
      break;
    case 2:
      print('我是2');
      break;
    default:
      print('我是默认');
  }

注意:

break

  1. 在switch语句中使用流程跳出switch结构。
  2. 在循环语句中使流程跳出当前循环,遇到break循环终止,后面代码也不会执行。
  3. 如果在循环中已经执行了breck语句,就不会执行循环体中位于breck后的语句。
  4. 在多层循环中,一个break语句只能向外跳出一层。
  5. break可以用在switch case中 也可以用在for 循环中和while循环中

continue

  1. 只能在循环语句中使用,使本次循环结束,即跳过循环体中下面尚未执行的语句。
  2. continue可以用在for循环以及while循环中,但是不建议用在while循环中,容易死循环。

6. 关键字

关键字---
abstractdoimportsuper
asdynamicinswitch
assertelseinterfacesync*
enumimplementsisthis
async*exportlibrarythrow
awaitexternalmixintrue
breakextendsnewtry
casefactorynulltypedef
catchfalseoperatorvar
classfinalpartvoid
constfinallyrethrowwhile
continueforreturnwith
covariantgetsetyield*
defaultifstaticdeferred
第 1-2 课:Dart 语言基础 学习一门编程语言,首页要了解它的历史和特点。Dart 是 Google 公司推出的编程语言,于 2011 年就已经亮相了。Dart 也是一门面向对象的语言,语法和 Java、C、JavaScript 很像。所以会 Java 语言,学习 Dart 一般会快一些。 Dart 里所有的类都可以看成是对象,是单继承,动态类语言。可以进行多平台开发,我们的主角 Flutter 就是基于 Dart 语言编写的... 阅读详情

相关推荐

AD9361快速锁定实战:Profile寄存器配置与频率调谐算法解析

本文深入解析了AD9361射频收发器的快速锁定(Fast Lock)功能,重点阐述了其核心机制——Profile寄存器配置。通过剖析16字节Profile结构,详细讲解了频率调谐算法,包括LO_DIV、LO_INT、LO_FRAC等关键参数的计算,以及如何通过查表获取优化的环路滤波器参数。文章提供了完整的Python算法示例和FPGA实现要点,旨在帮助工程师实现毫秒级甚至微秒级的频率切换,满足跳频通信等高性能应用需求。

weixin_29196315的博客 228

Dart学习(17):静态static

静态变量 static定义 声明 class People { static String name = 'abcd'; } 调用 静态变量可以通过外部直接访问,不需要将类实例化 print(People.name); 函数内部访问 实例化后的类也可以访问该静态变量 声明 class People { static String name = 'abc'; ...

汉堡怪兽 7412

CDDT CST CDDT CSTTT

This is the second part of the SA8653 automotive CDDT configuration guide. It describes the matching rules and modification methods between CDDT and device‑tree DDTS. It explains CDT’s underlying logic and configuration in TZ, QNX and Android. It details C

qq_39257814的博客 1409

Dart 入门教程

[TOC] 一、开篇 dart 语言具有如下特性 一切变量皆是对象,每个对象都是类的实例。int、double、函数、 null 等都是对象,所有对象都继承自 Object 类 dart 是强类型语言,但由于具备类型推导功能所以类型声明是可选的 dart 支持顶级函数、静态函数、实例函数,也允许在函数中嵌套函数,即局部函数。类似的,dart 也支持顶级变量、静态变量和实例变量 dart...

大灰狼的小绵羊哥哥的博客 3699

【AI大模型】DeepSeek + Kimi 高效制作PPT实战详解

AI赋能,使用DeepSeek 高效制作PPT实战详解

congge 1万+

逆向分析顶象5代各类验证码类型的图片还原方法(附源码)

6.刷新滑块验证码图片,会进入之前的for循环断点,分析此处的代码会发现,该循环循环了处理了n字符串的值,取出n字符中的值并使用charCodeAt生成Unicode 编码,然后又调用了a函数,如果a函数返回true就会把之前生成的Unicode编码+1,a函数参数分别是c数组和Unicode取余32后的值,然后再把Unicode取余32后的值push进c数组,这里的n值为滑块碎片背景图的name。2.搜索"ranges":,会找到ranges赋值的地方,在此处代码断点,并点击跳过断点,结束此次调试。

老衲爱洗头的博客 1195

[基础] Dart - 静态属性&静态方法

静态属性&静态方法 关于Dart 语言的基础学习记录 Dart 官方网站 静态的属性和方法都是在类内 通过类名直接调用不需要实例化类 静态的方法不能直接调用类内的非静态方法 但是非静态的方法可以在类内直接调用静态方法 2019-07-17 RyccccCode ...

RyccccCode 3726

SAP-ABAP:ABAP Development Tools(ADT)安装配置学习分享教程-第一篇:ADT安装前置准备与环境校验教程

ABAP Development Tools(ADT)安装配置教程摘要 本文是ADT安装系列的第一篇,重点讲解环境准备与版本校验。ADT是基于Eclipse的现代ABAP开发工具,相比传统SAP GUI提供更智能的开发体验。安装前需确认: 推荐使用Eclipse 2026-03 + Java 21组合 操作系统需Windows 10+/macOS 14+ SAP GUI版本要求Windows≥8.00/macOS≥8.10 后端系统需NetWeaver 7.31 SP04+或S/4HANA 通过java -

baidu_35680696的博客 681

Flutter系列之项目篇:入口代码解析

dart程序入口与android MainActivity的衔接。

Android Engineer. 1718

数据库系统工程师软考备战:第三篇 - SQL语言深入解析与应用

​​创建表​​​修改表​​​删除表​。

Programming Talk 121

【GlobalMapper精品教程】001:GlobalMapper23+24+25 Pro-x64中文汉化版安装教程(附软件包下载)

Global Mapper 23+V24+V25中文汉化版安装教程及免费下载地址,是一款非常专业的地图绘制软件,功能非常的丰富,内置距离和面积计算,包括光栅混合、对比度调节、海拔高度查询、视线计算以及一些高级功能,通过地表数据观察分水岭、对3Dpoint数据转换为三角多边形和网格化等设置。本文讲解GlobalMapper23.1 Pro-x64安装过程。

智慧空间实验室 3万+

Dart 语法核心 7 讲:变量 + 常量 + 数据类型 + 空安全 + 运算符 + 流程控制 + 函数

本文主要介绍了Dart语言的基础语法知识,包括变量声明、数据类型、运算符和流程控制等内容。在变量方面,对比了var、const和final的使用场景与区别;详细讲解了数字、字符串、布尔、列表和字典等数据类型的定义与操作方法;介绍了算术、赋值、比较和逻辑等运算符的使用;最后阐述了if判断、三元运算、switch选择以及for/while循环等流程控制语句的语法特点。全文通过丰富的代码示例,系统性地展示了Dart语言的基础语法体系,为Flutter开发打下坚实基础。

CC__xy的博客 757

iqoo11如何获取root权限?

🏆本文收录于专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家!持续更新中,up!up!up!!

**My Coding Family** 5805

flutter入门教程(二):dart语法介绍

参考官方介绍https://dart.cn/language/各大语言入门之------------Hello World(主函数)每个应用都有一个顶层的main()函数(主函数)来作为运行入口。没有指定返回类型的方法的返回类型会推导为void。');变量Dart 使用varfinal和const来定义变量。// 可变变量// 只读变量(初始化后不可改变)// 编译时常量数据类型int: 整数double: 浮点数String: 字符串bool: 布尔值(true/false)List。

m0_53480384的博客 1787

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Flutter Dart语言入门一篇就够了

Dart 是一种用于开发Android、IOS、 Web和桌面应用的开源编程语言。

一条屈依的博客 2921

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

[Flutter 学习三]Dart 基本语法:

Dart 基本语法: ####一,变量和基本数据类型: 概念: 一切皆是对象,无论是变量,数字,函数等都是对象。所有对象都是类的实例。 程序指定类型不是必须的,Dart语言是弱数据类型。指定数据类型和编译时的常量,可以提高运行速度。 1,基本数据类型: Number,String,Boolean,List,Map. 2,常量和固定值: final,const 修饰。 3,关键字(56个): ab...

一条咸鱼 450

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Flutter 学习 - Dart 语言基础

Dart作为指定的语言,我们很有必要补充一下 Dart 语言的基础知识,包括它的语法特性、基本语句面向对象等知识点。Dart 重要概念与常用开发库变量与基本数据类型函数运算符流程控制语句异常处理面向对象泛型库的使用异步支持元数据注释Dart诞生于 2011年10月10 日, 谷歌 Dart 语言项目的领导人 Lars Bak 在丹麦举行的 Goto 会议上发布, Dart 是一种结构化的 Web编程语言,Dart编程语言在所有现代浏览器和环境中提供高性能。

张营的技术博客 746

Flutter学习-Dart语法

Flutter学习-Dart语法1. VSCode配置2. Main函数2.1 main函数2.2 Main函数分析3. 定义变量3.1明确声明(Explicit)3.2 类型推倒3.2.1 var3.2.1 dynamic3.2.2 final和const4 .数据类型4.1 数字类型5. 集合类型6. 函数 1. VSCode配置 首先我们是使用VSCode编辑器来学习Dart语言, 那么我们需要配置一下Dart环境,我们安装了几个插件: Dart和Flutter插件是为Flutter开发准备的 C

yong_19930826的博客 2097

Flutter 之 Dart 入门

加粗样式简介:很多移动开发者,都开始尝试了flutter开发,在开发flutter之前需要先掌握dart的基本语法。作为安卓开发转flutter的学习成本其实不大,只要看完这篇文章,进本就算是入门dart了,应对80%的开发任务没问题。 Dart基础语法 基本规则 注释及缩进 单行注释 //XXXX 多行注释。 /* XXXXX */ 文档注释。 ///或者/**开头 分号用于分隔语句,添加在语句结尾 Dart的规范是2行缩进 输出语句。print( object ) 变量 1.var 接收任何类型的变

tangjianing的博客 300

flutter学习dart笔记(一)

简单记录一下学习flutter,需要的dart 语言知识储备 一 // day0 hello world 单行注释 // ; 多行注释 /*内容,可多行*/; 文档注释 /// (/// [name] 姓名)或者 /** */ dart 语法 :面向对象,类型安全语言,支持类型推断。未赋值的变量值null 代码分区{} 分号结束 var 修饰变量 main() 入口 print()打印函数 使用“_”修饰的对象,外部不能访问 常见关键字 final const dynamic vo...

flyToSky_L的博客 473

flutter学习笔记

1.跨平台移动UI框架2.与现有的代码一起工作(可以直接嵌入到原生代码中或直接把原生代码嵌入到自己的代码中运行)3. 完全免费、开源。

haoxuhong的博客 8242

Flutter/Dart ----基础语法

Flutter/Dart ----基础语法 1.Dart中常见的基础类型: 总体来说Dart的常见类型有下面八种: 1.1.数字类型 num、int、double都是Dart中的类,也就是说它是对象级别的,所以他们可以为null,这就是不同于java的基本数据类型。 main(){ num age = 6; //num 数据类型 int height =66; //int 整型 ...

mubowen666的博客 563

Flutter之旅:Dart的基础语法

1.Dart中常见数据类型一览: 总的来看Dart的常见的数据类型有下面8种: 1.1.数字类型 num、int和double都是Dart中的类,也就是说它是对象级别的,所以他们的默认值为null。这不同于Java的基本数据类型。 main(){ num age = 18;//num数据类型 int height =180;//int整型 double weight=62.5...

张风捷特烈的博客 267

Flutter筑基——学好 Dart,才能玩转 Flutter

目录前言正文Dart 开发环境的搭建最后参考 前言 我们知道 Flutter 这个 UI 框架是使用 Dart 语言开发的,这说明要玩转 Flutter,就要先学好 Dart。 那么,怎么学好 Dart 呢? 有的同学抱着“不就是一门语言嘛”的心态,直接开始写 Flutter,然后遇到问题了,再去查看 Dart 的文档。这也是一种学习 Dart 的方式,但这种方式可能不适合大多数同学。 庆幸地是,可以去查看 Dart 官网上的示例,比如Language-tour,就讲解了 Dart 的语法。 但是,官网上的

willwaywang6 3193

Flutter Dart 基础语法

网页编程适用于语法基础。

weixin_38716347的博客 1022

【Flutter】Dart学习笔记

1 变量(Variables) var name = 'Bob'; Dart可自动推断变量的类型,也可以为变量指定类型,如果一个对象的引用不局限于单一的类型,可以将其指定为 Object(或 dynamic)类型。推荐通过 var 声明局部变量而非使用指定的类型 未初始化变量默认值为null,包括数字,因为在 Dart 中一切皆为对象,包括数字。 Final和Const 这两个关键字可以替代 var 关键字或者加在一个具体的类型前。一个 final 变量只可以被赋值一次;一个 const 变量是一个编译时

sinat_36955332的博客 592
上一篇: SpringCloud微服务小白也能搭(Hoxton.SR8)(八)Sleuth|服务链路跟踪
下一篇: 算法偶记:子集组合(给定一个元素个数为N的集合(其中元素互不相同),在其中选择M个元素组成子集,共有多少种选法。举例:输入[A,B,C] ,M=2,输出[[A,B],[A,C],[B,C]])
97牛肉面
博客等级 码龄9年 54粉丝 75原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值