----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------
一:进制
进制就是一种计算方式,计算机中,用的是二进制。
1).二进制表现形式:01
2).八进制表现形式:01234567
3).十六进制表现形式:0123456789ABCEF
十进制转二进制(采用除2取余数的方式)
实例: 整数9转成二进制
8/2 余0
4/2 余0
2/2 余0
1
读取方式是由下往上的,所以9的二进制表现形式为"1000"
计算机内存是以二进制体现出来的,如“0110101001010101010101010110111”
二进制转十进制(采用2的乘方计算,只加1的位数),从左往右读
实例:
010110
相当于“2的1次方+2的2次方+2的2次方+2的4次方”=16
二进制转八进制(3位表示一组,组合起来)
实例:
010 110
2 6
相当于26
二进制转十六进制(4位表示一组,位数不够的补齐,组合起来)
实例:
0001 0110
2 6
相当于26
十六进制转十进制(最好方法,先把16进制转换成2进制,再把2进制转换成10进制)
二:变量
1)变量是在程序中,不断发生变化的数据。
2)变量用来存储常量值,方便以后的运算。
3)变量在同一个范围内不能重复定义,范围就是程序中的"{}";变量
变量是在程序中,不断发生变化的数据
变量用来存储常量值,方便以后的运算
定义变量的三个要素,数据类型 变量名(标识符) 初始化值
|-- 数据类型,就是变量可以存储的数据类型
|-- 变量名,就表示了开辟内存空间的这个名字
|-- 初始化值其实是一个常量
|-- 整数默认的类型是int,小数默认的是double类型。
三:数据类型
1)数值型
|--整数
|-- byte short int long
|--byte字节型,内存中占8个二进制位,一个八位 -128--127
负的2的7次方到正的2的7次方-1
|--short短整型,内存中占有16个二进制位,2个八位 -32768-32767
负的2的15次方到正的2的15次方-1
|--int整型,内存中占有32个二进制位,4个八位 负的2的31次方到正的2的31次方-1
java中默认的整数类型就是int
|--long长整型,内存中占有64个二进制位,8个八位
负的2的63次方到正的2的63次方-1
|--浮点类型
|-- float 单精度浮点类型,内存中是32个二进制位,4个八位
|-- double 双精度浮点类型,内存中是64个二进制位,8个八位
2)字符型
3)布尔型 true false
\实例1:
byte b = 3;
b = b + 4;
System.out.println(b);//结果打印错误,原因是:第一行字节为byte类型,将3赋给b,第一二行4是int类型,
byte类型3+int类型4是不能相加,所以编译时会打印"可能损失精度"。
\实例2:
byte s1 = 3,s2 = 4;
byte s3 = s1 + s2;
byte s4 = 3 + 4;
System.out.println(s3);//编译失败,因为java虚拟机不能确定具体的数据类型
System.out.println(s4);//结果为7 编译成功:因为3和4是一个常量,
四.算数运算符
提供程序进行数学运算
+ - * / % ++ --
|-- %取模运算的特点总结
左边等于右边结果0;
左边小于右边,结果是左边。
余数是否是负数,取决于左边
|--
++ -- 相当于变量自己增加1或者自己减去1
++写在变量前边,变量自己先增加1,在和其他数据运算
++写在变量后边,变量先参与和其他数据运算,自己在增加1
五.比较运算符
比较运算符运算后的结果,只有两个值,true false
六. 逻辑运算符
用于连接两个布尔类型表达式,也就是连接两个比较运算符,运算后的结果
&:两边都为true,结果为true,一边为false,结果为false
|:两边任意一边为true,结果为true,两边都是false 结果是false
!: 真变假,假变真 !!!!!!!!!!true
^: 两边相同为false,不同为true
&&:短路效果,提高程序效率,&&一边为false,另一边不在运算了
||:短路效果,提高程序效率,||一边为true,另一边不在运算
\实例
/*需求:已知int a = 3,b = 4。改变位置 */
class A
public static void main(String[] args){
int a = 4, b =3;
a = a^b;
b = a^b;
a = a^b;
System.out.println(a+","+b);
}
七. 位运算
二进制位的运算
<< : 左移运算:移动位数越多,结果越大
8<<1 8*2的一次方 8<<2 8*2的2次方
>> : 右移运算:移动的位数越多,结果越小0
8>>1 8/2的一次方
>>>: 无论二进制最高位是0还是1 ,都将填补0
~: 负数的二进制是,整数取反+1
^ : 当一个数,异或一个数2次,结果还是原来这数
八. 三元运算符
需要3个运算条件的,运算后是要有结果出现的
(条件表达式)?表达式:表达式;
----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------