Dart的所有东西都是对象,它们都继承自Object,默认是都是null。
一、数据类型分类
和其他语言一样,Dart也有很多数据类型。Dart中支持的数据类型有:
二、常用数据类型
1、字符串类型
通字符串使用单引号或者双引号都可以,多行的可以使用'''或"""来包裹.
var str1='this is str1';
var str2="this is str2";
String str3='this is str3';
String str4="this is str4";
//支持换行的方式
String str5='''this is str1
this is str1
this is str1
''';
String str6="""
this is str1
this is str1
this is str1
""";
通字符串使用单引号或者双引号都可以,多行的可以使用'''来包裹.//两种方式
String str1='你好';
String str2='Dart';
print("$str1 $str2");
print(str1 + str2);
print(str1 +" "+ str2);
2、数值类型
Dart中提供了两种数值类型, 分别是整型int和浮点型double。
如果是使用 num 声明的变量,那么可以在 int 和 double 之间相互转换。
但如果是直接定义了 int 或者 double , 那么就不能再赋其他类型的值。
num a = 12;
print(a); //打印a的值为12
a = 1.1; //给a赋值为1.1
print(a); // 打印a的值为1.1
int a=123;
//a=1.45;报错
double b=23.5;
b=24;
prit(b);
// + - * / %
var a = 1;
var b = 2;
var c = a+b;
print(c);
isNaN : num的属性,判断一个对象是否为非数字,是数字则返回false,否则返回true.
isEven : int 的属性,判断一个数字是否为偶数
isOdd : int 的属性,判断一个数字是否为奇数
sign : 返回该整数的符号(对于0返回0,对于小于0的值返回 -1,对于大于0的值返回 1。)
3、布尔类型
只有两个对象具有bool类型:true和false,它们都是编译时常量。
bool flag1=true;
print(flag1);
bool flag2=false;
print(flag2);
var flag=true;
if(flag){
print('真');
}else{
print('假');
}
var a=123;
var b=123;
if(a==b){
print('a=b');
}else{
print('a!=b');
}
4、List(数组/集合)
List特点:有序且可重复的
有序且可重复的.//第一种
var l1=['aaa','bbbb','cccc'];
print(l1);
print(l1.length);
print(l1[1]);
//第二种
var l2=new List();
l2.add('张三');
l2.add('李四');
l2.add('王五');
print(l2);
print(l2[2]);
print(l2.length);
//定义指定类型的List
var l3=new List();
l3.add('张三');
l3.add(123);
print(l3);
5、Maps(字典)
map是将键和值相关联的对象。键和值都可以是任何类型的对象。
每个键只出现一次,但可以多次使用相同的值
//第一种
var person={
"name":"张三",
"age":20,
"work":["程序员","送外卖"]
};
print(person);
print(person["name"]);
print(person["age"]);
print(person["work"]);
//第二种
var p=new Map();
p["name"]="李四";
p["age"]=22;
p["work"]=["程序员","送外卖"];
print(p);
print(p["age"]);
6、Dart判断数据类型
Dart中用is 关键词来判断类型
var str=123;
if(str is String){
print('是string类型');
}else if(str is int){
print('int');
}else{
print('其他类型');
}