------- android培训、java培训、期待与您交流! ----------
一、java语言的基本数据类型
基本数据类型:
整数类型:byte short int long 浮点类型:float double
字符类型:char 布尔型:boolean
我们只介后6中比较常用的类型
1)int:
1.1)整数,4个字节,-21多亿到21个多亿
1.2)java中直接写出来的整数默认为int型,不能超范围
1.3)两个整数相除,结果还是整数
1.4)整数运算时要防止溢出,
正数过大溢出为负数,负数过小溢出来正数
2)long:
2.1)长整数,8个字节,很大很大
2.2)long型直接量在数字后加l或L
2.3)System.currentTimeMills():获取算1970年1月1日零时到此时此刻的毫秒数
3)double:
3.1)浮点型,8个字节
3.2)java中直接写出来的小数默认为double型
3.3)double型参与运算时,会有舍入误差
4)boolean:
4.1)布尔型,1个字节
4.2)只能存储true和false
5)char:
5.1)字符型,2个字节
5.2)java中的char采用Unicode编码格式
char字符为表现形式,实质上存储的是字符对应的码(int)
码称做ASCII码,'a'--97,'A'--65,'0'--48
5.3)char型直接量需放在单引号'中,有且仅有一个字符
5.4)特殊字符需通过\来转义
二、运算符号
1、算术运算符
注:进行取模运算时,如果有负数,运算结果取决于运算左边有没有负数。
字符串数据和任何数据使用 +都是相连接,最终都会变成字符串。
2、赋值运算符
符号:= += -= *= /= %=
例: int a,b,c; a=b=c =3;
int a = 3; a+=5;//等同运算a=a+5;
3、比较运算符
注:1、比较运算符的结果都是boolean型,也就是要么是true,要么是false。2、比较运算符“==”不能误写成“=”。
4、逻辑运算符
逻辑运算符用于连接boolean类型的表达式。
&:只要两边的boolean表达式结果,有一个为false,那么结果就是false。只有两边都为true,结果为true。
|:两边只要有一个为true,结果为true;只有两边都为false,结果为false。
^:两边相同结果是false,两边不同结果是true。
&和&&的区别:
单&时,左边无论真假,右边都进行运算;
双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||”的区别同理,双或时,左边为真,右边不参与运算。
5、位运算符
左移:<<;空位补0,被移除的高位丢弃,空缺位补0。
右移:>>;被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1。
无符号右移:>>>;被移位二进制最高位无论是0或者是1,空缺位都用0补。
与: &;二进制位进行&运算,只有1&1时结果是1,否则是0。
或:|;二进制位进行 |运算,只有0 | 0时结果是0,否则是1。
异或: ^;任何相同二进制位进行 ^运算,结果是0;1^1=0 , 0^0=0。
不相同二进制位 ^运算结果是1。1^0=1 , 0^1=1。
反码:~;对二进制进行取反。
运算符的优先级:
运算符优先级表
优先级 | 运算符 | 结合性 |
1 | () [] . | 从左到右 |
2 | ! +(正) -(负) ~ ++ -- | 从右向左 |
3 | * / % | 从左向右 |
4 | +(加) -(减) | 从左向右 |
5 | << >> >>> | 从左向右 |
6 | < <= > >= instanceof | 从左向右 |
7 | == != | 从左向右 |
8 | &(按位与) | 从左向右 |
9 | ^ | 从左向右 |
10 | | | 从左向右 |
11 | && | 从左向右 |
12 | || | 从左向右 |
13 | ?: | 从右向左 |
14 | = += -= *= /= %= &= |= ^= ~= <<= >>= >>>= | 从右向左 |