基本数据类型
整型
short(-32768~32767) int(±21开头十位) long long long
2 (2/)4 4 8
字符型
char (-128~127) (-27~27-1)
1
浮点型
float(单精度)
4
double(双精度)
8
布尔类型:bool
类型转换
显示转换:
int a=10;
//char c=a; //warning:数据截断
char c=(char)a; //强制转换
char c=10;
int a=(int)c;
隐式转换:
char c=10;
int a=c; //int a=(int)c ->隐式转换
运算符:
算术运算符:
+ - * / % ++(自增) --(自减)
前置++:++a; 后置++:a–;
单独构成一条语句时,a++; ++a;相同;
和另一个运算符结合使用:
int a=0;
int num=a++;
//先取值,再跟运算符结合,后a自增;
int num=++a;
//先取值,再自增,后跟运算符结合;
关系运算符:
> < >= <= != ==
85<=score<=100;
//error; 因为只会比较85<=score;结果只会为0或1;剩0或1与后面的比较。
bool:
逻辑与:&& 逻辑或:|| (短路运算符)
true&&true;
true&&false;
false&&true;
false&&false;
//逻辑与&&为一假则假,所以当先判断false时,&&后面的便不会执行,就发生短路。
true||true;
true||false;
false||true;
false||false;
//逻辑或||为一真则真,所以当先判断true时,||后面的便不会执行,就发生短路。
赋值: = += -=
位运算:
左移<< 右移>> 按位与& 按位或| 异或^ 取反~
左移移位补零,数<<num; 该数乘2的num次方;(移一下就是二倍)
(left+right)*32;
(left+right)<<5;
右移补符号位,数>>num; 该数乘2的num次方;
判断是奇数还是偶数的另一种方法:num&0x1==?(判断二进制末尾是不是1,1为奇,0为偶)