Dart基础语法入门(一)

变量

  • 使用var声明变量,可赋予不同类型的值
  • 未初始化时,默认值为null
  • 使用final声明一个只能赋值一次的变量,同时此变量可以是任意类型

例:

void main(){
  var a;
  print(a);//不赋值默认输出为Null

  a = 99;
  print(a);//输出为99

  a = "hello dart";
  print(a);//输出为“hello word”

  var b = "dart";
  print(b);//声明的同时进行赋值

  final c = "hello dart";//使用final定义一个只能赋值一次的变量
}

常量

  • 使用const声明常量
  • 使用const声明的必须是编译期常量

例:

void main(){

  const d = 20;//使用const声明一个值为20的常量
  print(d);
  
}

数值型num(是int和double的总称)

  • 使用num声明一个数值型的变量
  • 数值型numint类型double类型的总称
  • 使用num声明的变量可以是int类型也可以是double类型
  • 使用int声明的变量就只能是int类型
  • 使用double声明的变量就只能是double类型

例:

void main(){

  num a = 20;//使用num声明的变量a可以赋值为int类型也可以赋值为double类型
  print(a);

  a = 20.4;
  print(a);

  int b = 10;//使用int声明的变量b只能赋值为int类型的值
  print(b);

  double c = 10.5;//使用double声明的变量c只能赋值为double类型的值,赋值没有小数点的值打印出来还是会加上小数点
  print(c);

}

数值型操作

  • 运算符:+、-、*、/、~/、%
  • 常用属性:isNaN、isEven、isOdd等
  • 常用方法:abs()、round()、floor()、ceil()、toInt()、toDouble()

例:

void main(){

  int a = 10;
  double b = 20.5;

  print(a+b);//加
  print(a-b);//减
  print(a*b);//乘
  print(a/b);//除
  print(a~/b);//取整
  print(a%b);//求余

  print(a.isEven);//是否是偶数
  print(a.isOdd);//是否是奇数

  int c = -10;
  print(c.abs());//取绝对值
  print(b.round());//四舍五入
  print(b.floor());//取一个大于b的整数
  print(b.ceil());//取一个小于b的整数
  print(b.toInt());//double转int
  print(a.toDouble());//int转double
  
}

字符串创建

  • 使用单引号双引号创建字符串
  • 使用三个引号双引号创建多行字符串
  • 使用r创建原始raw字符串

例:

void main(){
  String str = 'hello dart';//使用单引号
  String str1 = "hello dart";//使用双引号
  String str2 = '''hello
                 dart''';//使用三个引号创建多行字符串
  String str3 = r'hello \n dart';//使用r创建原始字符串使转义字符不生效

  print(str);
  print(str1);
  print(str2);
  print(str3);
}

字符串操作

  • 运算符:+、*、==、[]
  • 插值表达式:${expression}
  • 常用属性:length、isEmpty、isNotEmpty
  • 常用方法:contains()、subString()、startsWith()、endsWith()、indexOf()、lastIndexOf()、toLowerCase()、toUpperCase()、trim()、trimLeft()、trimRight()、split()

例:

void main(){
  String str = "hello dart";
  print(str + 'new');//新增字符串
  print(str * 3);//str打印3次
  print(str == 'new ');//判断字符串是否相等
  print(str[2]);//根据下标取值从0开始数

  int a = 1;
  int b = 2;
  print("a + b = ${a + b }");//用插值表达式来显示结果

  print(str.length);//打印字符串长度
  print(str.isEmpty);//判断字符串是否为空
  print(str.isNotEmpty);//判断字符串不为空

  print(str.contains("dart"));//是否包含“dart”
  print(str.substring(0,3));//从第0个开始到第3个结束但不包括第3个元素
  print(str.startsWith("a"));//从字符串开头判断是不是a开头的
  print(str.endsWith("rt"));//从字符串最后开始判断是不是rt结尾的

  var list = str.split(" ");//以空格分割返回一个list类型
  print(list);
  
  print(str.replaceAll("dart", "world"));//把一个字段替换成另外一个字段All是代表替换字符串中所有含有“dart”的字段
}

布尔型

  • 使用bool表示布尔型
  • 布尔值只有truefalse
void main(){
bool isTrue = true;//定义一个布尔型变量布尔值为真;
bool isFalse = false;//定义一个布尔型变量布尔值为假;
}

List(数组)创建

  • 创建List:var list = [ 1, 2, 3];
  • 创建不可变的List:var list = const[ 1 , 2 , 3];
  • 构造创建:var list = new List();
  • 常用方法:add()、insert()、remove()、clear()、indexOf()、lastIndexOf()、sort()、sublist()、shuffle()、asMap()、forEach()、
void main(){

  var list = [1,2,3,'dart',true];//数组元素可以是不同类型
  print(list);

  print(list[1]);//通过下标1获取List中的第二个元素
  list[1] = false;//修改下标为1的元素值为false
  print(list[1]);

  var list1 = const [1 , 2, 3];//通过关键字const创建不可变的List
  print(list1);

  var list2 = new List();//通过构造的方法创建List

  var list3 = ["hello","dart"];
  print(list3.length);//获取list的长度

  list3.add("new");//添加一个元素
  print(list3);

  list3.insert(1, "flutter");//在第二个元素位置下标为1的地方插入一个元素
  print(list3);

  list3.remove("flutter");//移除一个内容为“flutter”的元素
  print(list3);

  print(list3.indexOf("dart"));//获取内容为“dart”的元素的下标,如果有这个元素会返回该元素的下标如果没有则返回-1

  list3.sort();//排序
  print(list3);

  print(list3.sublist(1));//下标为1的元素开始截取

  list3.forEach(print);//遍历list里面的元素将其一个一个的打印出来 

  list3.clear();//清除list里面的所有元素

}

Map创建

  • 创建Map:var language = { 'first':'Java','second':'dart'};
  • 创建不可变的Map:var language= const{'first':'Java','second':'dart'};
  • 构造创建:var language= new Map();
  • 常用方法:isEmpty()、isNotEmpty()、containsKey()、containsValue()、remove()、forEach()、
void main(){

  var map = {'first':'Dart',1:true};//理论上key-value可以是任意值
  print(map);

  print(map['first']);//获取key = ‘first’的value的值

  map[1] = false;//修改key=1的value的值为false
  print(map);

  var map1 = const{'first':'Dart',1:true};//创建一个不可变的Map变量

  var map2 = new Map();//使用构造方法创建Map

  var map3 = {'first':'Java','second':'Dart','third':'c++'};
  print(map3.length);//获取Map的长度
  map3.isEmpty;//判断是否为空
  print(map3.keys);//打印所有的Key
  print(map3.values);//打印所有的value
  
  print(map3.containsKey('first'));//判断所有的key是否含有‘first’
  print(map3.containsValue('xml'));//判断所有的value是否含有‘xml’

  map3.remove('third');//移除一个元素
  print(map3);

  map3.forEach(f);//遍历map中所有的元素将它们一一打印出来

  var list = ['1','2','3'];
  print(list.asMap());//list转换Map格式
}

void f( key, value){
  print("key = $key,value = $value");
}

原创链接:https://blog.csdn.net/weixin_40600325/article/details/97390577

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值