1. 运算符
1.1. 算术运算符
void main(){
int a = 10;
int b = 3;
print(a~/b);
print(a%b);
}
1.2. 赋值运算符
void main(){
// 等于 =
// int a = 10
// 加等于 +=
// a+=1
// 减等于
// a-=1
// 乘等于
// a*=2
// 除等于
// 注意:要num、double类型的才能/=
// double b = 10
// b/=2
// print(b)
// 取余等于
// int c = 10
// c%=3
// print(c)
// 自增
// int a = 10
// // a++
// ++a
// print(c)
// 自增拓展 (重要)
// int a = 10
// //先赋值再自增; 先把a赋值给b,a再自增(就是a自己+1,再赋值给a)
// int b = a++
// print(a)
// print(b)
// //先自增再赋值; a先自增1,再把自增后的值赋值给b
// int b = ++a
// print(a)
// print(b)
// 自减
// int c = 10
// c--
// print(c)
// print('a值:${a}')
}
1.3. 比较运算符
void main(){
}
1.4. 逻辑运算符
// 逻辑运算符
void main(){
// 年龄
// int age = 33
// 工作年限
int year = 10
// 1.逻辑:与(and) 就是条件都需要满足
// 年龄大于28岁,并且工作年限大于4年
// bool ret = age>28 && year>4
// print(ret)
// 2.逻辑:或
// 年龄大于23岁,或工作年限大于2年
// bool ret = age>23 || year>20
// print(ret)
// 3.逻辑:真变假,假变真
// print(!true)
// print(!false)
// 工作年限不小于9年
// bool ret = year>=9
bool ret = !(year<9)
print(ret)
}
2. 流程控制
2.1. if分支
void main(){
// 单分支:一个if(){};
int score = 91;
if (score>=90) {
print('很好');
}
// 双分支: if () {} else {};
if (score>=90) {
print('很好');
} else {
print('加油');
}
// 多分支: if() {} else if() {} else if() {} else if() {} else {};
if (score>=90) {
print('很好');
} else if(score>=60) {
print('良好');
} else {
print('加油');
}
}
2.2. 三元运算符
void main(){
int score = 80;
// 双分支: if () {} else {};
// if (score>=90) {
// print('很好');
// } else {
// print('加油');
// }
// 用三元运算符表示
score>=90 ? print('很好') : print('加油');
// 多分支: if() {} else if() {} else if() {} else if() {} else {};
// if (score>=90) {
// print('很好');
// } else if(score>=60) {
// print('良好');
// } else {
// print('加油');
// }
// 多分支就不适合用三元运算符
}
2.3. switch case 语句
void main(){
int sta = 3;
switch(sta){
case 1:
print('待付款');
case 2:
print('待发货');
break;
case 3:
print('待收货');
break;
case 4:
print('待评价');
break;
default:
print('其他');
}
}
2.4. 循环语句
void main(){
// 1. while循环
// 写法类似与if分支,再在内容里配合 i++;
// int i = 0;
// while (i<10) {
// print('吃第${i}个苹果');
// i++;
// }
// 2. for循环
// for(var i=0 ; i<10 ; i++){
// print('吃第${i+1}个苹果');
// }
// 3. 遍历列表
// 3.1 for循环来遍历
// List category = ['首页','分类','详情','购物','我的'];
// for (var i = 0; i < category.length; i++) {
// print(category[i]);
// }
// 3.2 for ... in循环来遍历
// for (var element in category) {
// print(element);
// }
// 4. 中止循环
// 4.1 break 会中断整个循环
// for (var element in category) {
// print(element);
// if (element=='详情') {
// print('是${element},中断');
// break;
// }
// }
// 4.2 continue
for (var i = 0; i < 5; i++) {
print('吃到第${i+1}个苹果;');
if (i == 2) {
print('吃到第${i+1}个苹果;有虫,继续吃后面的苹果;');
continue;
}
}
}
3. 基础语法 - 综合案例
// 需求:计算购物车数据中,被勾选商品的总价
void main(){
// 准备购物车数据
List carts = [
{"count": 2, "price": 10.0, "selected": true},
{"count": 1, "price": 30.0, "selected": false},
{"count": 5, "price": 20.0, "selected": true}
]
double price = 0
for (var element in carts) {
if (element['selected']) {
print(element)
price += element['price']*element['count']
}
}
print('总价:${price}')
}