1.变量声明并初始化
var name='xiao hong'; var 可以声明任何类型的变量;但与javascript不同的是 一旦初始化后 再赋值其他类型的变量,就会报错;
var name;未初始化的变量的初始值为null
final 声明最终变量;final 即只能初始化一次;
const 声明常量;
2.数字类型
num shu=123;num 声明数字类型的变量 可以是整型或浮点型
int shu=1;int 只能声明整数类型
int 类型常用属性
isEven=> shu.isEven ;判断是否是偶数,如果是偶数 返回bool变量 true,如果是奇数 返回bool变量false;
isOdd=>shu.isOdd;判断是否是奇数,如果是偶数 返回bool变量 true,如果是奇数 返回bool变量false;
double shu=12.44;声明浮点数类型
注意! 用double shu=12;什么一个浮点数 系统会自动 变为12.0;
num 常用方法
abs();//取绝对值 floor();//向下取整 ceil();//向上取整 round();//四舍五入 toInt();//将浮点型舍弃小数点位转为整型 toDouble();//将整型转为浮点型
注意 ceil()//向上取整 例如 double shu=12;shu.ceil();//不会变成13 依然是12;同理shu.floor()也是一样
3.字符串类型
String str="111";声明字符串类型
若想换行打印可以用'''三引号 例如 String str='''111 ''' ;
若想直接输出转译字符 String str=''111 /n 111'' 需要 String str=r''111 /n 111";
支持${}输出;列如 int a=1;int b=1;print("a+b=${a+b}"); 也可以单独使用 例如 print("a=$a");
常用属性
length =>可以直接查看字符串长度
isEmpty =>可以获取字符串是否为空
isNotEmpty=>可以获取字符串是否不为空
String 常用方法
contains();// 是否包含 subString();//截取字符串 startsWith();//是否以字符串开始 endsWith();//是否以字符串结尾
indexOf();//是否包含字符,返回字符的下标 lastIndexOf();//检索最后一个匹配字符,返回字符的下标 toLowerCase();//将字符串转换为小写 toUpperCase();//将字符转化为大写
trim();//去除左右空字符 trimLeft();//去除左边字符
trimRight();//去除右边字符
split();//分隔字符串 replaceAll();//替换字符串
4.布尔类型
bool isTrue=true;//声明一个布尔变量
bool isFalse=false;//声明一个布尔变量
5.List列表(数组)
var list=[1,2,3];//声明一个列表
var list=const[1,2,3];//声明一个不可变的列表
var list=new list();//构造创建一个列表(长度可变) var list=new list(3);//构造创建一个列表(长度为3)
常用属性
length=>可以查看列表长度
常用方法
add();//加入列表,在列表最后插入 insert();//插入列表 remove();//移除列表中的匹配到的第一个 clear();// 清除数组
indexOf();//检索列表匹配的索引 lastIndexOf();//检索列表最后一个配置的索引 sort();//排序默认是按照ascii码从小打到大排序 sublist();//截取列表
suffle();//随机打乱列表 asMap();//将列表转为map forEach();//遍历整个列表
6.Map
var lang={'a':1,'b':2};//声明一个键值对
var lang=const{'a':1,'b':2};//声明一个不可变的Map
var lang=new Map();//声明一个Map
常用属性
length=>可以查看Map的长度
keys=>可以查看所有的keys
values=>可以查看所有的values
常用方法
isEmpty();//查看是否为空 isNotEmpty();//查看是否不为空 containsKey();//是否包含key containsValue();//是否包含value
remove();//移除 forEach();//遍历map
7.dynamic动态类型
列如 var list=new List<dynamic>();
var a="1";a=2 可以理解成dynamic a="1";a=2;
8.set
Set是没有顺序且不能重复的集合,所以不能通过索引去获取值
var testSet = new Set();
var testSet2 = new Set(2); // 错误,Set没有固定元素的定义
print(testSet.length); // 0
testSet.add(1);
testSet.add(1); // 重复元素无效
testSet.add("a");
print(testSet); // {1, "a"}
print(testSet.contains(1)); // true
testSet.addAll(['b', 'c']);
print(testSet); // (1, 'a', 'b', 'c')
testSet.remove('b');