一、常量、变量
1、变量
Dart语言中Object是所有的基类,所有未初始化的对象都是Object,不同于java的八大基本数据类型。
//声明变量时初始化,那么该变量可以是任何类型
var a;
a=1;
a="123";
//Object是基类,Object变量可以是任何类型
Object a=1;
a="as";
//显示类型声明
int a;
a=100;
//当定义变量时指定了类型,那么就不能赋值给其他类型数据
int a=1;
a="123"; error
//dynamic 和Object差不多,只是在运行时确定数据类型
2、常量
final和coast定义的常量在申明时就得初始化,且不能改变
//final运行时常量
final a=30;
a=10; //error
//const编译时常量
const a=1;
final a=1;
const b=a+1; //error,final是运行时常量,而const是编译时常量
二、数据类型
Dart语言支持的数据类型num,string,boolean,list,map,runes,symbols等数据类型
1、num表示数值型,子类只有:int(整型),double(浮点型)
(1)使用num声明的类型既可以接收整型,也可以接收浮点型
num a=10; //int
a=12.5; //double
(2)使用int声明整型
int a=10;
a=10.0; //报错error
(3)使用double声明浮点型
double f=10.0;
(4)常用属性和方法
int a=20;
a.isEven; //是否偶数
a.isOdd; //是否奇数
a.abs(); //绝对值
a.toDouble(); //转换为浮点型
...
int b = 10.5;
b.toInt();//转换为整型
b.round(); //四舍五入,11
b.floor(); //不大于b的最大整数,10
b.ceil(); //不小于b的最小整数,11
...
2、字符串String
(1)使用单引号或双引号创建字符串
String str='123'
String str1="hello"
(2)使用三个单引号或三个双引号创建多行字符创
string str1='''hello
world''' //三个双引号会换行
String str2='hello \n world' //"\n"会转义,实现换行
(3)使用r(raw)创建原始字符串,"\"不会被转义
string str=r'hell0 \n world' /"\n"不会被转义
(4)插值表达式 ,使用${ }表示插值表达式,单个变量可省略{ }
int a=1;
int b=2;
print("a+b=${a+b}");
(5)字符串的操作(+,*,==,[])
string str1='hello'
string str2='world'
print(str1+str2) //helloworld
print(str1*2) //hellohello *h后面是int类型,表示几倍的意思
print(str1==str2) //false
print(str1[0]) //h,取下标元素
(6)常用属性和方法
str.length;//字符串长度
str.isEmpty;//是否为空
...
str.contains('xxx');//是否包含xxx
str.substring(0,3);//截取前三个字符
str.startsWith('xxx‘);//是否以xxx开头
str.split(",");//以,分隔字符串,返回数组
...
3、布尔类型,使用bool表示布尔型,值为:true和false
bool isTrue=true;
bool isFalse=false;
4、列表,使用List表示列表,它和数组式同一概念
(1)创建List,可变和不可变
//可变数据类型不一样的集合
var list=[1,2,3,'dart',false] //数据类型可以不一样,可改变元素
list[0]='hello'
print(list) //1,2,3,'hello',false
//使用类创建List
var list2=new List();
list2.add(1);
list2.add('dart');
//使用const关键字修饰对象 创建不可变的List
var list2=const [1,2,3,"dart"]; //const修饰的对象不可变,但是变量可以执行其他对象
list2.add(1234); //error
list2=[1,2,3,4]; //可以
const list3=