变量与常量:
变量:
使用var声明变量,可以赋予不同数据类型的值,
未初始化时默认值是null
使用final声明的变量只能被赋值一次
void main(){
var a;
print(a);
a = 10;
print(a);
a = 'Hello World';
print(a);
var b = 20;
print(b);
final c = 20 ;
//c = 1;
const d = 50;
//d = 1;
}
知识兔控制台打印结果:
null
10
Hello World
20
知识兔View Code常量:
使用const声明常量,使用const声明的必须是编译期的常量。
注意const和final的区别。
数据类型:
内置类型:
数值型num:整型int,浮点型double
void main(){
num a = 10;
a = 12.5;
int b = 20;
//b = 20.1;
double c = 30.5;
//c = 40;
print(c);
}
知识兔View Code数值类型常见操作:+,-,*,/,~/(取整),%(取余),
数值类型常见属性:isNaN,isEven,isOdd等,
数值类型常见方法:abs(),round(),floor(),ceil(),toInt(),toDouble()
字符串:
使用单引号或者双引号创建字符串,使用三引号或者双引号创建多行字符串,使用r创建原始raw字符串
字符串运算:+,*,==,[]
插值表达式:${expression}
字符串常见属性:length,isEmpty,isNotEmpty
字符串常见方法:
void main() {
String str1 = 'Hello';
str1 = '''Hello
Dart''';
print(str1);
String str4 = 'This is My favorite language';
print(str4+'New');
print(str4*4);
print(str4[5]);
int a = 1;
int b = 3;
print('a*b = ${a*b}');
}
知识兔View Code布尔型:
列表List(数组):
创建List :var list = [1,2,3];
创建不可变的List: var list = const [1,2,3];
构造创建List: var list = new List();
列表常见操作:
Map:(键值对)
Map常用操作方法
dynamic:动态类型(泛型)可以赋予不同类型的值
运算符:
算术运算符:
void main(){
int a = 10;
int b = 2;
print(a + b);
print(a - b);
print(a * b);
print(a / b);
print(a ~/ b);
print(a % b);
print(++a);//先加加在打印
print(a++);//先打印再加加
print(a);
}
知识兔View Code打印结果:
2
8
20
5.0
5
0
11
11
12
知识兔View Code关系运算符:
void main (){
int a = 5;
int b = 3;
print(a == b);
print(a > b);
print(a < b);
print(a != b);
print(a >= b);
print(a <= b);
String strA = '123';
String strB = '321';
print(strA == strB);
}
知识兔View Code打印结果:
false
true
false
true
true
false
false
知识兔View Code逻辑运算符:
赋值运算符:
复合运算,先用左边变量和右边做运算再把值赋给左边变量
void main(){
int a = 10;
int b = 5;
b ??= a;
print(b);
a += b;
print(a);
}
知识兔打印结果:
15
知识兔条件表达式:
void main(){
int gender = 0;
String str = gender ==0 ? 'Male' : 'Female';
print(str);
String a = 'Php' ;
String b = 'Dart';
String c = a ?? b;
print(c);
}
知识兔打印结果:
Male
Php
知识兔控制语句:
if语句:
void main(){
int score = 100;
if(score >= 90){
if(score == 100){
print('完美');
} else{
print('优秀');
}
} else if(score > 60 && score < 90){
print('良好');
} else if (score == 60){
print('及格');
} else {
print('不及格');
}
}
知识兔for语句:
void main(){
var list = [1,2,3,4,5];
for(var i = 0;i < list.length;i++){
print(list[i]);
}
print('---------------');
for(var item in list){
print(item);
}
}
知识兔打印结果:
2
3
4
5
---------------
1
2
3
4
5
知识兔while语句:
void main(){
int count = 0;
while(count < 5){
print(count);
count++;
}
print('-----$count------');
do{
print(count);
count--;
}while(count>0 && count<5);
}
知识兔打印结果:
1
2
3
4
-----5------
5
4
3
2
1
知识兔continue和break:
void main(){
var list = [1,2,3];
for (var item in list){
if(item == 2){
//break;
continue;
}
print(item);
}
print('--------------');
var list2 = [4,5,6];
for(var item1 in list){
for(var item2 in list2){
if(item2 == 5){
//continue;
break;
}
print(item2);
}
}
}
知识兔打印结果:
3
--------------
4
4
4
知识兔switch..case:
void main(){
String language = 'php';
switch(language){
case 'Dart':
print('Dart is My fav');
break;
case 'php':
print('php is My fav');
break;
case 'java':
print('java is My fav');
break;
default:
print('None');
}
print('-------------');
switch(language){
D:
case 'Dart':
print('Dart is My fav');
break;
case 'php':
print('php is My fav');
continue D;
//break;
case 'java':
print('java is My fav');
break;
default:
print('None');
}
}
知识兔打印结果:
php is My fav
-------------
php is My fav
Dart is My fav
知识兔