-
变量名规则
- 数字、字母、下划线和$符号组成
- 不能是数字开头、并且变量不能是保留字和关键字
- 区分大小写
- 顾名思义
1. 变量名的定义:
void main() {
var str = '您好!';
String AA = 'hello word';
String aa = 'hello word';
int nu_m = 123456;
int nu_$m = 123456;
double num$1 = 13245;
print(str);
}
2. 声明变量的方式
var 变量声明
cosnt 常量,代码编译时就确定值
final 常量,区别,惰性初始化,即代码执行到这句时才进行初始化
const a = new DateTime.now();
final b = new DateTime.now();
String aa = '''字符串文本
可换行'''
-
常用数据类型
String 字符串类型
int 整形
double 浮点型,也可以用来定义整形
List 集合/数组
集合常用方式
var l1 = ['张三',20,true]
var l2= <String>["张三","李四"]
var l3 = [];
l3.add("王五")
var l4= List<String>.filled(2,'');
集合的常用属性和方法:
属性:
length 长度
reversed 翻转
isEmpty 是否为空
isNotEmpty 是否不为空
方法:
add()
addAll()
indexOf(元素)
remove(元素)
removeAt(下标)
fillRange(开始下标,结束下标,修改为的值)
myList.fillRange(1,3,'aaa');
[苹果, aaa, aaa, 葡萄]
insert(index,value)
insertAll(index,list)
toList()
join()
split()
map()
var newmyList = myList.map((element) {
return element * 2;
}).toList();
forEach()
myList.forEach((element) {
print(element);
});
where()
any()
every()
set 类似集合
去重
var myList = <String>["苹果", "香蕉", "桃子", "桃子"];
var s = new Set();
s.addAll(myList);
var s = new Set()
print(s.toList());
foreach 循环
var s = new Set();
s.addAll([1,2,3]);
s.forEach((element) =>print(element));
Map 对象
常用方式
var l6 = {
"name":"张三",
"age":20
};
l6["name"]
var p = new Map()
常用属性和方法:
属性:
length 长度
keys 获取键名
values 获取键值
revers
isEmpty 是否为空
isNotEmpty 是否不为空
方法:
addAll({
"work":["敲代码","跑路"]
})
containsValue 查看映射内的值,返回true/false
forEach
s.forEach((key,value)=>{
print($key $value);
}
map
where
any
erery
Bool 布尔值
-
输出
int a = 10
int b = 100
print(a)
print('$a,$b')
print('$a $b')
-
类型判断
var str = "123456";
print(str is String)
print(str is int)
print(str.isEmpty)
print(str == null);
print(str.isNaN);
-
运算符
算数运算符 + - * / %取余 ~/取整
关系运算符 == != > < <= >=
逻辑运算符 ! 取反 && 并且 || 或者
赋值运算符
int ? b
b??=23 如果b为空则为其赋值23,反之定义时的默认值
条件表达式
var score = 70;
if(){}else{}使用:
if(score>60){
print('优秀')
}else{
print("良好")
}
switch使用:
switch(score){
case "70":
print("");
break;
case "60":
print("")
break;
defaule:
print("");
break;
}
三目运算使用:
bool flag = true
String c = flag ? 'true' : 'false'
??运算符使用:
var a;
var b = a ?? 10
-
类型强转
int b = 100;
b.toString()
String str = '100'
int.parse(str)
-
循环条件语句
for循环:
for(int i = 0;i<10;i++){
if(i==4){
break;
continue;
}
print(i);
}
while循环:
int i = 1;
while(i<10){
print(i);
i++
}
do while循环:
int i = 1;
do{
print(i);
i++;
}while(i<3);
-
方法定义
- void main()
- main()
- String main()
- String 方法名(int age,String name)
- String 方法名(String name,[int age])
- String 方法名(String name,[int age,String sex='男'])
- String 方法名(String name,{int age,String sex='男'})