---------------------- android培训、java培训、期待与您交流! ----------------------
为黑马奋斗的日子-java基础巩固下
接着昨天的继续:
1.java中的位运算符
先要补充一些数据结构的知识 :
二进制:
意思是逢2进1 是按从右到左的次序
注意事项: 二进制的最高位是符号位 :0是正数 1是负数 ;正数的原码,反码,补码都是一样的,而负数的反码是它的
原码符号位不变 (1→0,0→1) 负数的补码是反码加1 0的反码,补吗都是它本身 在计算机运算的时候 对有符号的数都是以补 码来计算的 (在java中没有无符号的数)
位运算符:
在java中有4个位运算符:&(按位与),|(按位或),^(按位异或),~(按位取反)
它们的运算规则为:&按位与:2个全为1,则取1 如2&3=2
|按位或:2个有1个为1,则取1 如2|3=3
^按位异或:2个一个为1,一个为0,则取1 如-3^3=-2
~按位取反:就是1变0,0变1 如:~-5=4
注意在上面计算完是负数 则说明这是它的补码,要再计算出它的原码
移位运算符:
在java中有3种移位运算符 :>>(算术右移),<<(算术左移),>>>(逻辑右移)
运算规则为: >>(算术右移) 符号位不变 低位溢出,用符号位补溢出的高位 如(1>>2)=0,(-1>>2)=-1
1个数右移几次也就等于除以2的几次方
<<(算术左移) 符号位不变,低位补0 如(1<<2)=4,(-1<<2)=-4
1个数左移几次也就同时等于乘以2的几次方
>>>(逻辑右移) 低位溢出,高位补0 如:(3>>>2)=0
集合与泛型:
java中常用的集合分为:vector,stack,ArrayList,HashMap,Hashtable.
java集合类主要有以下几种: List结构的集合类: ArrayList,LinkedList,vector,stack
Map结构的集合类: HashMap类,Hashtable类,
Queue结构的集合类:Queue接口
一些集合使用的方法:add(添加)/在HashMap Hashtable中用put,size表示大小,remore(删除)。
集合总结:
在LinkedList在 对象名.addFirst(对象名) 向数链前面添加(表示后添加的在数链的前面)
对象名.addLast(对象名) 向数链后面添加(表示后添加的在数链的最后)
在HashMap 和Hashtable中 数据放入是用对象.Put(键,值)
所以在可以用键来直接查找 如:对象名.containsKey("key") 这句话返回的是个boolean类型
迭代器(Iterator)
想要遍历Hashmap中所有key,value可以用Iterator
如:Iterator it=集合对象.keyset().itreator();
集合中的区别:
1.HashMap 与 Hashtable:
他们不同在与 Hashtable是同步的,这也保证了Hashtable中的对象是线程安全的
而HashMap则是异步的 因此HashMap中的对象并不是线程安全
2.ArrayList 与 Vector
和上述一样 Vector是同步的,而ArrayList不是同步的 但同步同时也会影响执行的效率
数据增长不一样,vector默认为原来的一倍,而ArrayList是原来的50%
泛型:
泛型本质就是参数化类型,也就是说所操作的数据类型被指定为一个参数,这个参数类型可以用在类,接口,方法的
创建中,分别称为泛型类,泛型接口,泛型方法
泛型提供了自动装箱和拆箱功能
泛型的好处:
泛型的好处是在编译的时候会检查类型安全,并且所有的强制转换都是自动和隐式的,也提高代码的重用率
java中的异常处理
在java中异常分为
1.检查性异常:java.lang.Exception
2.运行期异常:java.lang.RuntimException
3.错误:java.lang.Error
异常处理:
try(..)catch(Exception e){...}finally{}将异常发生点中断 并向外抛出异常
throws Exception 向外抛出异常谁接受谁处理
其中try catch中的finally中的语句无论有无发生异常都会被执行 但在4种情况中不会执行
1.finally中发生了异常 2.在前面的代码中使用了System.exit();3.程序所在线程死亡 4.关闭了cpu
嗯 我的java基本知识点就写到着(以上全部为手打,自己总结的),后面还会总结io流 线程 网路编程...等
---------------------- android培训、java培训、期待与您交流! ----------------------