变量

//整数类型
int num = 10;    // 定义int类型的num
print(num);
var myNum = 200;    // 使用var自动判断类型
print(myNum);

//布尔类型
bool ok = true; // bool只有true和false
print(ok);

//字符串类型
String str = "hello"; // hello
String str2 = 'hello';  // hello
String str3 = """ // 三个双引号或单引号可以写多行字符串sayhello""";

//浮点数类型
double b = 9.99;
print(b);

数组类型

List arr = [10, 100, 50];
print(arr[0]); // 打印第一个

字典类型

// one
var m = { // key必须要加引号
"name": "panghu",
"age": 100,
"isOK": true,
"work": ["study", "code"]
};

print(m); // {name: panghu, age: 100, isOK: true, work: [study, code]}
print(m["name"]); // panghu

// two
Map m2 = {
"name": "panghu",
"age": 100
};

// two
var m3 = new Map();
m3["name"] = "admin";
m3["age"] = 1;
print(m3);

判断类型

使用is关键字判断数据类型

var n = 1;
if (n is String) {
print("String");
} else if(n is int) {
print("int");
} else {
print("Other types");
}

运算符

var a = 2;
var b = 2;

// 数学运算符
print(a * b); // 乘
print(a + b); // 加
print(a - b); // 减
print(a / b); // 除
print(a % b); // 取余
print(a ~/ b); // 取整

// 逻辑运算符
print(a == b);  // 等于
print(a != b);  // 不等于
print(a > b); // 大于
print(a >= b); // 大于等于
print(a < b); // 小于等于
print(a <= b); // 大于等于

print(true && false); // 有一个不为true返回false
print(true || false); // 有一个不为false返回true

var c = 1;
c ??= 100;  // 如果c等于空就吧100赋值给它

// 符合运算符 += -= *= /= %= ~/=
print(a += 100);

// 三元运算符
var n = 1;
n == 1 ? print("a不等于1") : print("a等于1");

逻辑运算符

var t = true;
if (t) {
print(true);
} else {
print(false);
}

var n = 10;
switch(n) {
case 1:
  print("n == 1");
  break;  // break满足条件跳出函数,防止case穿透
case 5:
  print("n == 5");
  break;
case 10:
  print("n == 10");
  break;
default:
  print("未找到符合条件");
}

三元运算符

var n = 10;
n > 5 ? print("a大于5") : print("a 不大于5"); // a大于5

是否为空

var n;
var c = n ?? 20;  // 如果n为空赋值20,否则赋值n的值给c
print(c);

类型转换

// 类型转换
var str = "100";
var num = int.parse(str); // 将String转换为int类型
print(num is int);  // true

var str2 = "9.99";
var d = double.parse(str2); // 将String转换为double
print(d is double);   // true

var str3 = "";
try {
var t = double.parse(str3); // 字符串为空会报错
} catch(err) {
str3 = "0";
}

var n = 10;
var str4 = n.toString();  // 将整数转换为字符串
print(str4 is String);  // true

判断字符串是否为空

var a = "";
if (a.isEmpty) {
print("为空");
} else {
print("不为空");
}

var b = "";
b.isNotEmpty ? print("为空") : print("不为空");  // 不为空

循环

break 跳出当前循环(只能跳出一层)。
continue 跳出当前循环,继续下次循环

var sum = 0;
for (var i = 1; i <= 100; i++) {
  sum+=i;
}
print(sum);

// two
var sum2 = 0;
var i2 = 1;
while(i2 <= 100) {
sum2+= i2;
i2++;
}
print(sum2);

// Three
var sum3 = 0;
var i3 = 1;
do{
sum3+=i3;
i3++;
} while(i3 <= 100);
print(sum3);