java——基本数据类型和运算符号
java共有8种基本数据类型
byte 8位 -128~127
short 16位 -2^(15)~2^(15)-1
int 32位 -2^(31)~2^(31)-1
long 64位 -2^(63)~2^(63)-1
float 32位 float f1=11.5f (必须后面有f或者F作为后缀)
double 64位 long n=10L (必须有L或者l作为后缀)
char 16位 采用Unicode编码,可以表示中文
boolean 只能表示true或者false
java中所有的基本类型都是有符号的,不存在无符号的。
java采用的是unicode编码,每一个字符都使用16位2进制数进行表示,但通常的话都是用4位16进制数来表示。因此无论是char型的数据还是中文英文字符,每一个都是占用16位的空间
例如“ab”的储存为:\u0061\u0062
而“你好”的unicode为:\u60\u597d
java对unicode编码提供了很好的支持,例如国际化。因此在J2EE项目中应用非常广泛。
char c='a' char c=98 (98是b的编码) char c='\\' (使用转义字符来定义也是可以的)
byte-(short ,char)-int-long-float-double 从低级到高级转换不需要特殊说明
在java中参与计算的变量会自动向着高级转换,byte,short,char都会自动转换成int
byte a,b;
byte c=(byte)(a+b) 需要强制转换,否则为int型
强制类型转换 float f=(float)10.1;
int i=(int)f;
算数运算符
+ 可以作为单目运算符,表示正值
- 可以作为单目运算符
*
/ 在使用时注意分母不能为0
% 求余操作
y=x++; y=++x;
y=x; x=x+1;
x=x+1; y=x;
比较运算符 > , < , >=, <= , ==, !=
逻辑运算符 &&,&, ||, |, !,^(逻辑操作符,异或,操作数不同为true,操作数相同为false)
&&运算符不一定会运算所有的判断(适合编程时的短路操作)
&会运算所有的判断
位运算符 只能对整数型或者字符型数据进行操作,结果也是整数型
&(按位与),|(按位或),~(按位非),^(按位异或)
~1=-2 ~(-6)=5 正数求非,变负+1,负数求非,变正-1
1为 0000 0001
按位非 1111 1110
符号位不变求反 1000 0001
加1 1000 0010 -2
移位运算符 <<(左移) 每移动1位,相当于*2
>>(右移) 正数高位补0,负数高位补1,每移动1位,相当于/2
>>>(无符号右移) 右移之后高位都是补0, 如果是负数,会变成正数
条件运算符 c=a>b? a:b