字符串常量:双引号括起来的内容
整数常量:所有整数
小数常量:所有小数
字符常量:用单引号括起来的内容,里面只能方单个数字,字母或符号
布尔常量:只有false和true(都是关键字)
空常量:null
二进制:表示为0b
八进制:0开头
十进制:默认
十六进制:0x
整数类型:
byte:占一个字节,-128--127
short:占两个字节
int:占四个字节
long:占八个字节 long x = 8888888888L;长度超过数据类型,后面要加L
浮点类型:
float:占四个字节 float f =12.3F;
double:占八个字节 double d =33.4; (小数默认数据类型)
char:占两个字节 char c = 'a';
bool:boolean b1 = true;
数据类型隐式转换:
int x = 3; byte y = 4
x=x+y;
结果是int类型
数据类型强制转换:
int x = 3; byte y = 4
x=(byte)(x+y);
byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2;(有可能损失精度)
byte与byte(short,char)进行运算时会提升为int
b1与b2是两个变量,变量的存储是变化的,编译时无法判断里面具体的值,有可能超出byte取值范围
byte b4 = 3 + 4;(java编译器有常量优化机制)
单字符与数字用+连接会根据ascii码表查值得到一个数字
任何数据类型用+与字符串相连接会得到一个新的字符串
算术运算符++和--
a:单独使用,放在操作数前后一样,即 a++ = ++a = a+1
b:参与运算使用:
int a=3;
int b;
b=a++; (b=3,a=4)
b=++a;(b=4,a=4)
当++在变量后面时,会先将变量中的值取出做赋值操作,然后在自身加1
当++在变量前时,会先自身加一,然后赋值
扩展运算符:
+=:
int a=3;
a += 4(即a = a+4);
a=7,
-=,*=,/=