Flutter系统化学习 — Day2 完整详细教程
今日目标
掌握 Dart 所有算术运算符、赋值运算符、关系运算符 吃透 if / else if / else 条件判断语法 掌握 三目运算符(开发高频简写语法) 学会基础逻辑判断,能完成数值判断、条件筛选案例 独立完成随堂练习 + 课后作业 学习时长:3小时左右 前置基础:熟练掌握 Day1 变量、五大基础数据类型、字符串插值
一、知识前置说明
本节课所有代码,继续在昨天的 dart_learn_day1 项目 bin/main.dart 文件中编写 可以注释/删除昨天旧代码,全程手写练习,禁止直接复制! Dart 逻辑语法和 JS/Java 高度通用,学会可直接复用。
二、Dart 常用运算符(核心必背)
2.1 算术运算符(数学计算)
用于数字加减乘除运算,仅支持 int、double 类型

重点难点:自增自减
后置自增 a++:先使用原值运算,运算结束后再+1 前置自增 ++a:先自身+1,再参与运算
演示代码(手动敲写)
void main() {
int a = 5;
print(a++); // 输出5,先输出再自增
print(a); // 输出6
int b = 5;
print(++b); // 输出6,先自增再输出
print(b); // 输出6
}2.2 赋值运算符
用于给变量赋值、快捷更新变量数值
| 运算符 | 作用 | 等价写法 |
|---|---|---|
= | 基础赋值 | a = 10 |
+= | 加后赋值 | a = a + 5 |
-= | 减后赋值 | a = a - 5 |
*= | 乘后赋值 | a = a * 5 |
/= | 除后赋值 | a = a / 5 |
%= | 取余后赋值 | a = a % 5 |
示例代码
void main() {
int num = 10;
num += 5;
print(num); // 15
num -= 3;
print(num); // 12
}2.3 关系运算符(返回结果永远是布尔值 true/false)
用于条件判断、数值比较,是if判断的核心
| 运算符 | 含义 |
|---|---|
> | 大于 |
>= | 大于等于 |
== | 相等(两个等于号!!单个=是赋值) |
!= | 不相等 |
核心易错点: 判断相等必须写 ==,绝对不能写单个=`,单个=是赋值操作,会直接报错!
示例代码
void main() {
int age = 18;
print(age > 16); // true
print(age == 18); // true
print(age != 20); // true
print(age< 18); // false
}2.4 逻辑运算符(多条件组合)
开发中高频用于多个条件同时判断
| 运算符 | 含义 | 规则 |
|---|---|---|
&& | 逻辑与(并且) | 所有条件都满足,才为true |
|| | 逻辑或(或者) | 任意一个条件满足,就为true |
! | 逻辑非(取反) | true变false,false变true |
通俗记忆
&&:全真才真,一假则假||:一真则真,全假才假
示例代码
void main() {
int age = 20;
// 条件:年龄大于18 并且 小于30
bool res1 = age > 18 && age < 30;
print(res1); // true
// 条件:年龄小于18 或者 大于50
bool res2 = age < 18 || age > 50;
print(res2); // false
print(!res2); // 取反 true
}三、Dart 条件判断 if / else(重中之重)
3.1 基础if语句(满足条件才执行)
语法结构
if(条件判断){
// 条件为true时,执行这里的代码
}3.2 if...else 双分支判断(二选一执行)
语法结构
if(条件){
// 条件成立执行
}else{
// 条件不成立执行
}3.3 if...else if...else 多分支判断(多选一)
适合多区间判断、多状态判断(成绩分级、年龄分级、权限判断)
语法结构
if(条件1){
// 满足条件1执行
}else if(条件2){
// 满足条件2执行
}else if(条件3){
// 满足条件3执行
}else{
// 以上条件都不满足执行
}实战案例1:年龄判断(成年/未成年)
void main() {
int age = 20;
if (age >= 18) {
print("成年人,可以上网、考驾照");
} else {
print("未成年人,禁止上网");
}
}实战案例2:学生成绩等级判定
需求:90及以上优秀、80-89良好、60-79及格、60以下不及格
void main() {
double score = 88.5;
if (score >= 90) {
print("成绩优秀");
} else if (score >= 80) {
print("成绩良好");
} else if (score >= 60) {
print("成绩及格");
} else {
print("成绩不及格");
}
}四、三目运算符(if简写,开发必用)
作用:简化简单的二元判断代码,替代简短的if else,代码更简洁
固定语法
条件 ? 条件成立执行 : 条件不成立执行;
通俗理解:条件为真取前面值,条件为假取后面值
实战案例:成年判断简写
void main() {
int age = 17;
String res = age >= 18 ? "已成年" : "未成年";
print(res);
}五、Day2 随堂练习(必手写,不复制)
练习1:奇偶数字判断
需求:输入一个整数,判断是奇数还是偶数,打印结果 提示:能被2整除(num % 2 == 0)为偶数,否则奇数
参考结构(自己补全代码)
void main() {
int num = 23;
if(){
print("偶数");
}else{
print("奇数");
}
}练习2:三目运算符实现余额判断
需求:定义钱包余额变量,余额大于100打印「余额充足」,否则打印「余额不足」
六、Day2 课后作业(独立完成,可发我批改)
作业1:性别权限判断
定义变量:性别、年龄 规则:年龄≥18 且 性别为男,打印「可进入男士专区」,否则打印「无访问权限」
作业2:体温健康判断
定义体温变量(double类型)
体温<36℃:体温偏低 36℃~37.2℃:体温正常 37.3℃~38℃:低烧 >38℃:高烧
作业3:三目运算符实战
定义两个数字a、b,使用三目运算符取出两个数中的最大值并打印
七、Day2 新手高频易错坑点
判断相等必须双等号 ==,单等号=是赋值,直接报错if 括号后不要加分号 if(){} ✅/if();{} ❌加分号会导致判断失效逻辑运算符 && ||不要写错,不能用单个&、|代码缩进统一,大括号成对出现,不能缺漏 区间判断不能连写: 18<30(JS/Dart错误写法),必须写age><30
明日预习 Day3 内容
Dart switch 多分支匹配 for 循环基础(重中之重,开发核心) while / do while 循环 循环嵌套、break/continue 终止语句
学习建议: Day2 是 Dart 逻辑基础,所有移动端业务逻辑(判断、权限、状态切换)都基于此,务必手写所有案例+作业,不要眼高手低!写完代码可发给我,免费批改纠错、规范代码风格。需要我帮你补充Day2所有作业的标准参考答案,方便你写完对照自查吗?
-
用微信 “扫一扫”
将文章分享到朋友圈。
关注公众号:xue-jiqiao
本文版权归原作者所有,转载请注明原文来源出处,学技巧网站制作感谢您的支持!
- 1 Flutter新手入门·第一天完整实操手册Windows+Android Studio
- 2 Flutter系统化学习 — Day2 完整详细教程
- 3 Flutter 多端开发新手入门指南(极简路线,从零到可上手)
- 4 2 个可直接复制运行的入门示例,基于最新 Flutter + Dart 空安全,包含注释,跟着练就能上手
- 5 AI 能否辅助 Flutter 安卓/ios开发
- 6 零基础(仅会 HTML)Flutter + Android Studio 完整入门路线(Windows 环境,循序渐进详细方案)
- 7 Flutter 系统化全天学习排课计划(总周期:42天,网页HTML转行适配版)【一】
- 8 Flutter 系统化学习 — Day1 完整详细教程



