int a = 10;
int b = 5;
print('a+b = ${a+b}');//加
print('a-b = ${a-b}');//减
print('a*b = ${a*b}');//乘
print('a/b = ${a/b}');//除
print('a~/b = ${a~/b}');//取整
print('a%b = ${a%b}');//取余
print(a++);//先执行打印a再加1赋值给a
print(++a);//先执行a加1赋值给a再打印a
print(a--);//先执行打印a再减1赋值给a
print(--a);//先执行a减1赋值给a再打印a
void main(){
int a = 10;
int b = 5;
print(a == b);//是否等于
print(a != b);//不等于
print(a > b);//大于
print(a < b);//小于
print(a >=b);//大于或者等于
print(a <= b);//小于或者等于
String str1 = "aaaa";
String str2 = 'bbbb';
print(str1 == str2);//Dart中判断字符串内容是否相等是用‘==’号,而Java中是使用equals()方法
}
void main(){
bool isTrue = true;
print(!isTrue);//取反
bool isFalse = false;
print(isTrue && isFalse);//并且,只有同时为真的时候才是真
print(isTrue || isFalse);//或,只要有一个为真就为真
}
void main(){
int a = 10;
double b = 5.0;
a ??= 5;//'??='如果a没有被赋值,则赋值5,如果已经赋值10或者其他,则‘??=’后面的值无效
print(a);
a += 2;//实际上是等同于a = a + 2;
a -= 2;//实际上是等同于a = a - 2;
a *= 2;//实际上是等同于a = a * 2;
b /= 2.0;//实际上是等同于b = b / 2.0;
a ~/= 2;//实际上是等同于a = a ~/ 2;
a %= 2;//实际上是等同于a = a % 2;
}
void main(){
int a = 0;
String str = a == 0?'Java':'Dart';//先判断a是否等于0如果为真那么str = 'Java',如果为假那么str = 'Dart'
print(str);
String str1 ;
String str2 = 'hello';
String str3 =str1 ?? str2;//先判断str1是否有值,有的话就等于str1,没有的话就取str2的值
print(str3);
}
void main(){
int score = 95;
if(score >= 90){//判断score是否大于或者等于90分
if(score == 100){//当score大于或者等于90分后再判断是否等于100分
print("满分");
}else{
print("优秀");
}
}else if(score > 60){//如果score小于90分再判断是否大于60分
print("良好");
}else if(score == 60){//如果score小于60分,判断是否等于60分
print("及格");
}else{//以上条件都不满足则不及格
print("不及格");
}
}
void main(){
var list = [1,2,3,4];
for(var index =0;index
void main(){
int count = 0;
while(count < 5){//当count小于5时就打印count,执行完打印后count自增
print(count++);
}
do{
print(count--);//先执行一次打印count,再判断while的条件
}while(count>0 && count<5);
}
void main(){
var list = [1,2,3,4,5,6,7];
for(var item in list){
if(item == 3){
continue;//跳过当前循环
}else if(item == 6){
break;//终止离它最近的循环
}
print(item);
}
}
void main(){
String language = 'Dart';
switch(language){//寻找Item中是否有和language对应的内容的Item,做相应的逻辑处理,没有默认处理为default。
case 'Java':
print('Java');
break;
case 'Dart':
print('Dart');
break;
case 'C++':
print('C++');
break;
default:
print('None');
}
}
void main(){
print(getPerson("aaaa", 18));//由于返回值是String类型我们可以直接打印
}
String getPerson(String name ,int age){//定义了一个返回类型为String的getPerson方法,参数有两个分别是String name和int age
return 'name = $name,age = $age';//这是return的值
}
void main(){
print(getPerson("aaaa", 18));//由于返回值是String类型我们可以直接打印
}
getPerson( name , age) => 'name = $name,age = $age';//省略返回值类型和参数类型,使用了箭头语法
void main(){
getPerson("aaa");
getPerson("aaa",sex: 'man');
getPerson("aaa",age: 20);
getPerson("aaa",age: 20,sex: "man");
getPerson1('bbb');
getPerson1('bbb',18);
getPerson1('bbb',18,'womem');
}
//可选命名参数
getPerson(String name,{int age,String sex}){//使用可选命名参数时需要指定字段,跟前后位置无关
print("name = $name,age = $age,sex = $sex");
}
//可选位置参数
getPerson1(String name,[int age,String sex]){//使用可选位置参数时不需要指定字段,只跟定义时的位置有关
print("name = $name,age = $age,sex = $sex");
}
void main(){
print(getPerson('aaa'));//调用时没有传入可选命名参数则会使用默认值
}
String getPerson(String name,{int age = 18 ,String sex = 'man'}){//age和sex都是可选命名参数,在定义的时候使用 = 号赋值默认值
return 'name = $name,age = $age,sex = $sex';
}
void main(){
var func = printHello;//方法作为对象赋值给其它变量
Function function = printHello;//也可以写成这样的形式
func();//通过变量名+()进行调用
function();
var list = ['h','e','l','l','o'];
print(listWord(list, getThirdWord));//listWord方法作为参数传递给print函数
}
void printHello(){
print("hello dart");
}
List listWord(List list,String func(String str)){//定义了一个返回值是List的函数,参数为List类型和一个返回值是String类型的方法
for(var index = 0;index
void main(){
var func = (String str){//可赋值给变量
print('hello $str');
};
func('dart');//通过变量进行调用
((String str){//也可以通过整体加上()调用
print('hello $str');
})('Java');
var list = ['h','e','l','l','o'];
var list1 = ['d','a','r','t'];
print(listWord(list, (String str){return str*3;}));//匿名方法作为参数进行传递
print(listWord1(list1));//通过变量进行调用
}
List listWord(List list,String func(String str)){//匿名方法作为参数进行传递
for(var index = 0;index
void main(){
var func = printCount();//printCount方法调用返回值是个方法
func();//所以再调用一次
func();//一直调用会发现count会一直自增
func();
}
printCount(){
int count = 0;
Count(){//在方法内部定义了一个闭包并持有count的状态
print(count ++ );
}
return Count;
}
原创:https://blog.csdn.net/weixin_40600325/article/details/97660269