Dart基础

变量与常量

变量:
  1. 使用 var 声明变量,默认值为 null
var a;//null
a = 10;
  1. 显示类型声明
int a;//null
a = 10;
  1. 使用 var 声明,可赋予不同类型的值
var a; //null
a = 10; //int
a = "Dart"; //string
  1. 使用 final 声明只能赋值一次的变量
final a = 30;
a = 10; //Error
常量:
使用 const 声明编译期常量

const a = 10;
数据类型
数值型

Dart中使用 num 表示数值型,子类只有两种:int 和 double,分别表示整型和浮点型。

  1. 使用 num 声明的类型既可以接收整型,也可以接收浮点型;
num a = 10; //int
a = 12.5; //double
  1. 使用 int 声明整型;
int a = 10;
  1. 使用 double 声明浮点型
double a = 10.5;
  1. 常用属性和方法(更多可查看相关api)
int a = 30;
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
...

字符串

Dart中使用 String 表示字符串。
1.使用 单引号 或 双引号 创建字符串;

String str = "Dart";

String str = 'Dart';

2.使用 三个单引号 或 三个双引号 创建多行字符串;

String str = '''Hello
             Dart''';
                  
String str = """Hello
             Dart""";

3.使用 r 创建原始字符串

String str = r'Hello \n Dart'; // "\n"不会被转义

4.插值表达式
使用 ${ } 表示插件表达式,单个变量可省略 { }。

int a = 1;
int b = 2;
print("a + b = ${a + b}");

5.常用属性和方法(更多可查看相关api)

str.length;//字符串长度
str.isEmpty;//是否为空
...

str.contains('xxx');//是否包含xxx
str.substring(0,3);//截取前三个字符
str.startsWith('xxx‘);//是否以xxx开头
str.split(",");//以,分隔字符串,返回数组
...

布尔型
Dart中使用 bool 表示布尔型。布尔型的值只有 true 和 false。

bool isTrue = true;
bool isFalse = false;
list

Dart中使用 List 表示列表,它和数组是同一概念。

1.创建List,使用 const 创建不可变的List

var list = [1, 2, 3];

//创建不可变的List
var list = const[1, 2, 3];

//使用类创建
var list = new List();

2.常用属性和方法(更多可查看相关api)

  • 获取元素个数
list.length;
  • 判断是否为空
list.isEmpty;

list.isNotEmpty;
  • 添加元素
list.add('xxx');

list.insert(index,'xxx'); //在下标位置添加元素
  • 删除元素
list.remove('xxx');

list.clear(); //清空list
  • 修改元素
list[0] = 'xxx'; //修改下标为0的元素值为xxx
  • 查询元素
list[0];//获取第一个元素,下标从0开始
  • 其它
list.indexOf('xxx');//查询元素xxx,返回下标,不存在返回-1

list.sort(); //排序(首字母)

list.subList(start,end);//获取从子列表

list.forEach(); //遍历list
...

Map

Dart中使用 Map 表示key-value键值对。

  1. 创建Map,使用 const 创建不可变的Map
var map = {'first':'Java','second':'Dart'};

//创建不可变的Map
var map = const {'first':'Java','second':'Dart'};

//使用类创建
var map = new Map();
  1. 常用属性和方法(更多可查看相关api)
  • 获取元素个数
map.length;
  • 判断是否为空
map.isEmpty;

map.isNotEmpty;
  • 添加元素
map['third'] = 'JavaScript'; //添加key为thrid,value为JavaScript的元素
  • 删除元素
map.remove('third'); //删除key为third的元素

map.clear(); //清空map
  • 修改元素
map['first'] = 'C++'; //修改key为first的value为C++
  • 查询元素
map['first'];//获取key为first的value
  • 其它
map.keys; //获取map所有的key

map.values; //获取map所有的value

map.containsKey('first'); //map是否包含key为first的元素

map.containsValue('Java'); //map是否包含value为Java的元素

map.forEach(); //遍历map
...
运算符
Dart中的很多运算符和其它语言是相似的,个别不同用法会详细说明。
算术运算符
  • 加减乘除: + , - , * , / , ~/ , %
“/” 运算符结果为浮点型;
"~/" 运算符为求整,类似Java中的"/";
"%"运算符为求余;
  • 递增递减: ++var , var++ , --var , var–
关系运算符

关系运算符包括:== , != , > , < , >= , <=

"=="运算符只是判断内容是否相同。
逻辑运算符

逻辑运算符包括:! , && , ||

赋值运算符
  • 基础运算符: = , ?., ??=
?. 运算符在左边为null的情况下会阻断右边的调用
“??=” 运算符左侧表达式为null时,为其设置默认值
int a;
a ??= 5; // a = 5

int a = 10;
a ??= 5; //a = 10
  • 复合运算符: *+= , -= , = , /= , %= , ~/=
条件运算符
  • 三目运算符: condition ? expr1 : expr2
  • ??运算符: expr1 ?? expr2
"??"运算符表示如果expr1为null,则使用expr2的结果,否则使用expr1
String a = "Dart";
String b = "Java";
String c = a ?? b; //c = "Dart"

String a;
String b = "Java";
String c = a ?? b; //c = "Java"

控制流
if语句

if语句和其它语言类似。

if(condition1){
	//...
	if(condition2){
		//...
	}
} else if(condition3){
	//...
} else {
	//...
}
for语句
var list = [1,2,3,4,5];

for(var index = 0;index < list.length;index++){
  print(list[index]);
}
for…in语句
for(var item in list){
  print(item);
}
while语句
int count = 0;

while(count < 5){
  print(count++);
} 
do…while语句
do{
  print(count--);
}while(count > 0 && count < 5);
break和continue
break:终止当前循环;
continue:跳出当前循环,继续下一次循环;
switch语句
switch语句支持num、String、编译期常量、对象和枚举。

switch(language){
  case "Dart":
    print("Dart is my favorite");
    break;
  case "Java":
    print("Java is my favorite");
    break;
  case "Python":
    print("Python is my favorite");
    break;
  default:
    print("None");
}
  • 支持使用continue跳转标签:
switch(language){
  Test:
  case "Dart":
    print("Dart is my favorite");
    break;
  case "Java":
    print("Java is my favorite");
    continue Test;
  case "Python":
    print("Python is my favorite");
    break;
  default:
    print("None");
}
assert语句

assert条件表达式为false时会抛出异常。

assert(str != null);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值