Dart语言学习一:基础知识 / 语法学习

本文详细介绍了Dart语言的基础知识,包括变量定义、数据类型、字符串操作、常量使用、数组与字典、类型判断、运算符、条件表达式、循环语句及控制流程等内容,适合初学者快速入门。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Dart是一个强大的脚本语言,可以不预先定义变量类型,自动会类型推断。

Dart中定义变量可以通过var关键字,也可以通过类型来申明变量。

 

变量命名规则:

1、变量名字必须有数字、字母、下划线或美元符号$组成。

2、变量名字不能以数字开头。

3、变量不能为保留字或者是关键字。

4、变量名称区分大小写,Age和age是不同的变量。

5、建议使用驼峰命名法。

数值型:

Dart中只有int 和 double 两种数值型数据,他们的父类是num。

int a = 100;

double b = 3.45;

等价于:

var a = 100;

var b = 3.45;


字符串类型:


//可以通过空格和 + 链接字符串。

final String name = "ghjkl";
const NAME = "HHHHHHH";

String n0 = "Hello" " World";
String n1 = "$name $NAME";
String n2 = name + NAME;

常量:

常量使用final或者const修饰。

区别:

const修饰的值一开始就得赋值。

final修饰的变量可以开始不赋值,但是智能赋值一次。

final String name;
name = "hhhhhhh";
const NAME = "HHHHHHH"; //可以省略 String的声明

布尔类型:

bool flag = false;
bool flg = true;

数组/集合:

  var list = [1, 2, 3, 4, 5, 6, 7];
  print(list);
  print(list.length);
  print(list[0]);

  var lis = new List();
  lis.add("张三");
  print(lis);

//指定类型
  var ls = new List<String>();

字典Map:

  var persons = {"name": "张三", "age": 20};

  print(persons);
  print(persons["name"]);

  var pers = new Map();
  pers["name"] = "里斯";
  pers["age"] = 90;
  print(pers);

类型判断:

//类型判断关键字 is
  var i = 30;

  if (i is String) {

  } else if (i is int) {

  } else if (i is double) {
    
  }

算术运算符:

  int i = 19;
  int j = 6;

  print(i + j); //加 *** 25
  print(i - j); //减 *** 13
  print(i * j); //乘 *** 114
  print(i / j); //除 *** 3.1666666666666665
  print(i % j); //取余 *** 1
  print(i ~/ j); //取整 *** 3

关系运算符:

  int i = 8;
  int j = 6;

  print(i == j); //是否相等  (可用于 String 比较)
  print(i != j); //是否不相等
  print(i > j);  //是否大于
  print(i < j);  //是否小于
  print(i >= j); //是否大于等于
  print(i <= j); //是否小于等于

逻辑运算符:

if (!flag) {//取反

  }

  if (age == 90 && name == "搜狗") {//并且:全部为true,则为true;否则为false

  }

  if (age == 90 || name == "搜狗") {//或:只要有一个为true则为true;全部为false才是false

  }

赋值运算符:

1、基本赋值运算符

=  :赋值

??=  :如果为空,则把值赋给它

  int a = 0;
  a ??= 10;
  print(a);// 0

  int b;
  b ??= 9;
  print(b);// 9

2、符合赋值运算符:

+=:相加 之后在赋值

-=:相减 之后在赋值

*=:相乘 之后在赋值

/=:相除 之后在赋值

%=:取余 之后在赋值

~/=:取整 之后在赋值

int i =5;
int j =7;
i += j;
i -= j;
i *= j;

条件表达式:

1、if...else 语句

int i = 8;
  if (i == 9) {

  } else if (i == 10) {

  } else {

  }

2、switch语句

int i = 9;
  switch (i) {
    case 1:

      break;
    case 2:

      break;

    default:
      break;
  }

3、三目运算符

  int i = 0;
  String j = (i == 0) ? "hello" : "world";
  print(j);//hello

4、??  运算符

  int i = 0;
  int j = i ?? 10;
  print(j); //0

  int a;
  int b = a ?? 10;//a是否为空,如果为空,则把10赋值给b,否则就把a赋值给b
  print(b); //10

类型转换:

1、String转number

String str = "1234";
  var num = int.parse(str);
  print(num is int); //true
  print(num); //1234

  double d = double.parse("3.45");
  print(d);//3.45

2、number转String

  int a = 90;
  var b = a.toString();
  print(b is String); //true
  print(b); //90

 

++ 和 --运算:

++在前:先运算,再赋值;

++在后:先赋值,后运算;

  //  ++在后:先赋值后运算
  int i = 1;
  int j = i++;
  print(i); //2
  print(j); //1

  // ++在前,先运算后赋值
  int a = 1;
  int b = ++a;
  print(a); //2
  print(b); //2

循环语句:

for(){}

 // for基本语法

for (int i = 1; i<=100; i++) {   
     print(i);
 }

//第一步,声明变量int i = 1;
//第二步,判断i <=100
//第三步,print(i);
//第四步,i++
//第五步 从第二步再来,直到判断为false

while{

}

do{

}while();

 while(表达式/循环条件){			
			
}	
		
    		
do{
	语句/循环体
			
}while(表达式/循环条件);
		
				

注意: 1、最后的分号不要忘记
	 2、循环条件中使用的变量需要经过初始化
      3、循环体中,应有结束循环的条件,否则会造成死循环。




var j=10;	  
do{
   j--;
   print('执行代码');
}while(j<2);

var i=0;
while(i<10){
   i++;
   print('执行代码');
}

break语句功能:

0、跳出当前循环。

1、在switch语句中使流程跳出switch结构。

2、在循环语句中使流程跳出当前循环,遇到break 循环终止,后面代码也不会执行

强调:

1、如果在循环中已经执行了break语句,就不会执行循环体中位于break后的语句。

2、在多层循环中,一个break语句只能向外跳出一层

 

break可以用在switch case中 也可以用在 for 循环和 while循环中

continue语句的功能:

【注】只能在循环语句中使用,使本次循环结束,即跳过循环体重下面尚未执行的语句,接着进行下次的是否执行循环的判断。

 

continue可以用在for循环以及 while循环中,但是不建议用在while循环中,不小心容易死循环

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值