Dart基础语法-数值与布尔

85 阅读1分钟

数值类型

  1. int 整数值
  2. double 浮点数
  3. num int和double的父类

十进制、十六进制

int a = 111;
int b = 0xF;
print(a); // 111
print(b); // 15

科学计数法

num a = 3e9;
print(a); // 3000000000.0

double b = 2e2;
print(a); // 200.0

数值转换

int a = int.parse('12'); // String -> int
double b = double.parse('1.23'); // String -> double
print(a); // 12
print(b); // 1.23

String c = 12.toString(); // int -> String
String d = 1.23.toString(); // double -> String
print(c); // 12 
print(d); // 1.23

double e = 1.8;
int f = e.toInt(); // double -> int
print(f); // 1

位运算

  1. &与运算(同时为1则为真)
var a = 3;
var b = 11;
print(a&b); // 3
  1. 或运算
var a = 3;
var b = 11;
print(a|b); // 11
  1. 非运算
var a = 3;
print(~a); // -4
  1. ^ 异或运算
var a = 3;
var b = 11;
print(a ^ b); // 8

移位运算符

  1. << 左移
var a = 2;
a = a << 1;
print(a); // 4
  1. >> 右移
var a = 2;
a = a >> 1;
print(a); // 1

布尔(bool)

只有两个对象是布尔类型的:true 和 false 所创建的对象, 这两个对象也都是编译时常量。

bool a;

assert 断言

var a = true;
assert(a);
var name = ''; 
assert(name.isEmpty); 
assert(name.isNotEmpty); 
var num = 0 / 0; 
assert(num.isNaN);

注意: 断言只在检查模式下运行有效,如果在生产模式 运行,则断言不会执行。

逻辑运算符

  1. && 逻辑与: 都为true的时候结果才为真
bool a = true; 
bool b = true; 
assert(a && b);
  1. || 逻辑或:只要有一个为true结果就为true
bool a = true; 
bool b = false; 
assert(a || b);
  1. ! 逻辑非: 就是取反,即为true的时候,结果为false,反之亦然。
bool a = true; 
bool b = !a; 
print(b);

关系运算符

  1. ==等于
if(a == b) {}
  1. !=不等于
if(a != b) {}
  1. >大于
if(a > b) {}
  1. >=大于或等于
if(a >= b) {}
  1. <小于
if(a < b) {}
  1. <=小于或等于
if(a <= b) {}