Flutter 执行入口|变量|常量|数据类型|运算符|流程控制|关键字
程序员文章站
2022-03-27 20:13:51
本章主要学习:Dart入口的方法,变量,注释,常量,数据类型Flutter 学习(一)环境搭建以及开发工具配置1. 执行入口// 无返回值入口方法void main() { // 打印 print('helloWorld');}main() { // 打印 print('helloWorld');}2. 变量2.1 String (字符串) // 未初始化,默认值null String str; print(str); // 字符串定....
本章主要学习:Dart入口的方法,变量,注释,常量,数据类型
1. 执行入口
// 无返回值入口方法
void main() {
// 打印
print('helloWorld');
}
main() {
// 打印
print('helloWorld');
}
2. 变量
2.1 String (字符串)
// 未初始化,默认值null
String str;
print(str);
// 字符串定义
String s1 = 'helloWorld';
print(s1);
String s2 = '222';
// 字符串拼接
print(s1 + s2);
//
String s3 = '''你好,
我们一起学习Dart ''';
print(s3);
2.2 int (整数)
// 未初始化,默认值null
int n1;
print(n1);
int n2 = 100;
print(n2);
2.3 double (小数)
// 未初始化,默认值null
double d1;
print(d1);
double d2 = 1.0;
print(d2);
2.4 bool (布尔)
// 未初始化,默认值null
bool b1;
print(b1);
bool b2 = false;
print(b2);
2.5 List ( 集合 )
// 未初始化,默认值null
List list;
print(list);
//创建一个int类型的list
List list1 = [1, 2, 3];
// 输出[1, 2, 3]
print(list1);
// 使用List的构造函数
List list2 = new List();
//添加单个元素
list2.add(1);
//添加多个元素
list2.addAll([2, 3, 4, 5]);
print(list2);
// 获取集合长度
print(list2.length);
// / 获取第一个元素
print(list2.first);
// 获取元素最后一个元素
print(list2.last);
// 利用索引获取元素
print(list2[0]);
// 查找某个元素的索引号
print(list2.indexOf(2));
// 删除指定位置的元素,返回删除的元素
print(list2.removeAt(0));
// 删除指定元素,成功返回true,失败返回false
// 如果集合里面有多个2, 只会删除集合中第一个改元素
list2.remove(2);
// 删除最后一个元素,返回删除的元素
list2.removeLast();
// 删除指定范围(索引)元素,含头不含尾
list2.removeRange(0, 1);
// 删除指定条件的元素(这里是数字大于2)
list2.removeWhere((item) => item > 2);
// 删除所有的元素
list2.clear();
print(list2);
// 限定list的长度添加int参数,表示List固定长度,不能进行添加 删除操作
List list3 = new List(1);
// null
print(list3[0]);
// [null]
print(list3);
2.6 Map (字典)
// 未初始化,默认值null
Map map;
print(map);
//创建一个map
Map map1 = {'key': '0', 'value': '1'};
// {key: 0, value: 1}
print(map1);
//先声明一个map,再赋值
Map map2 = new Map();
map2['key'] = '0';
map2['value'] = '1';
// {key: 0, value: 1}
print(map2);
// 指定键值对参数类型
var map3 = new Map<int, String>();
// Map的赋值,中括号中是Key,这里可不是数组
map3[1] = '123';
//Map中的键值对是唯一的Key如果存在,Value会覆盖之前的数据
map3[1] = '321';
// map里面的value可以相同
map3[2] = '123';
// map里面value可以为空字符串
map3[3] = '';
// map里面的value可以为null
map3[4] = null;
print(map3);
// 查看Map是否含有某Key
print(map3.containsKey(1));
//删除某个键值对
map3.remove(1);
print(map3);
2.7 var|Object|dynamic (动态类型)
// 定义变量,没有明确类型,编译的时候根据值明确类型
var str1 = 'helloWorld';
Object str2 = '张三';
dynamic str3 = '李四';
print(str1);
print(str2);
print(str3);
3. 常量
// 使用final 或者 const 定义时就必须初始化,并且值只能设置一次
final String str = '1';
const String str2 = '2';
//无法再次赋值 The final variable 'str' can only be set once
// str = '3';
// str2 = '3';
//flnal 或者 const 不能和 var 同时使用
// final var str3= '3';
// const var str3= '3';
4. 运算符
描述 | 操作符 | ||
---|---|---|---|
一元后置操作符 |
expr++ expr-- () [] . ?.
|
||
一元前置操作符 |
expr !expr ~expr ++expr --expr
|
||
乘除 |
* / % ~/
|
||
加减 | + - | ||
位移 |
<< >>
|
||
按位与 | & | ||
按位或 | |||
按位异或 | ^ | ||
逻辑与 | && | ||
逻辑或 | |||
关系和类型判断 |
>= > <= < as is is!
|
||
等 |
== !=
|
||
如果为空 | ?? |
||
条件表达式 | expr1 ? expr2 : expr3 |
||
赋值 |
= *= /= ~/= %= += -= <<= >>= &= ^= = ??=
|
||
级联 | .. |
5. 流程控制
- if...else
- for
- while do-whild
- break continue
- switch...case
- assert(仅在checked模式有效)
int i = 0;
// 单独一个条件
if (i == 0) {
print('i==0');
}
// 对立条件
if (i != 0) {
print('i!=0');
} else {
print('i==0');
}
// 多条件
if (i > 0) {
print('i>0');
} else if (i < 0) {
print('i<0');
} else {
print('i==0');
}
// 循环
for (int j = 0; j < i; j++) {
print(j);
}
for (int j = 1; j <= 100; j++) {
if (j == 100) {
// 退出循环
break;
}
if (j % 2 != 0) {
// 跳过接下来的操作
continue;
}
print(j);
}
// 循环
while (i == 0) {
i += 1;
}
// 不管while里的条件是否满足,都会先执行一次方法体
do {
i += 1;
print('i==0');
} while (i == 0);
//
switch (i) {
case 1:
print('我是1');
break;
case 2:
print('我是2');
break;
default:
print('我是默认');
}
注意:
break
- 在switch语句中使用流程跳出switch结构。
- 在循环语句中使流程跳出当前循环,遇到break循环终止,后面代码也不会执行。
- 如果在循环中已经执行了breck语句,就不会执行循环体中位于breck后的语句。
- 在多层循环中,一个break语句只能向外跳出一层。
- break可以用在switch case中 也可以用在for 循环中和while循环中
continue
- 只能在循环语句中使用,使本次循环结束,即跳过循环体中下面尚未执行的语句。
- continue可以用在for循环以及while循环中,但是不建议用在while循环中,容易死循环。
6. 关键字
关键字 | - | - | - |
---|---|---|---|
abstract | do | import | super |
as | dynamic | in | switch |
assert | else | interface | sync* |
enum | implements | is | this |
async* | export | library | throw |
await | external | mixin | true |
break | extends | new | try |
case | factory | null | typedef |
catch | false | operator | var |
class | final | part | void |
const | finally | rethrow | while |
continue | for | return | with |
covariant | get | set | yield* |
default | if | static | deferred |
本文地址:https://blog.csdn.net/itjavaee/article/details/109264720