Review_Java SE

来源:互联网 发布:彩票遗漏数据分析 编辑:程序博客网 时间:2024/04/30 09:33

1.右移运算符>>:右移时,被移走的最高位(最左边的位)由原来最高位的数字补充.例如,如果要移走的值为负数,
每一次右移都在左边补1,如要要移走的值为正数,每一次右移地都要在左边补0. 这路叫保留符号移动.
无符号右移运算符>>>:它总是在左边补0.
左移运算符<<:使用指定值的所有位都左移num位.每左移一个位,高阶位都被移出(并且丢弃),并用0填充右边.
注意:没用<<<运算符.

2.A&&B  表示如果A为false,不用再计算B了,结果为false
  A||B  表示如果A为true,不用再计算B了,结果为true

3.do-while物质循环体总是先执行循环体,然后再计算条件表达式,如果表达式为真,则循环继续.否则循环结束.
do-while循环体至少执行一次,而while循环体可能一次都不执行.

4.在java中,同一个类中的2个或2个以上的方法可以有同一个名字,只要它们的参数声明不同即可.在这种情况下,
该方法被称为重载(overloaded),是一个类中多态性的一种表现。
 重写Overriding是父类与子类之间多态性的一种表现,如果在子类中定义某方法与其父类有相同的名称和参数,我

们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如

同被“屏蔽”了。
很容易混淆.
5.任何含有一个或多个抽象方法的类都必须声明成抽象类,抽象类没有对象.

6.字符(character)是围绕字符型(char)的一个简单的包装器。定义了一些静态函数。
如 Character.isDigit(XX),等。

7.Runtime类封装了运行时环境,一般不实例化一个Runtime对象。但是可以通过调用静态方法
Runtime.getRuntime()而获得对当前Runtime对象的引用。
JAVA在WINDOWS下调用其他程序
try
{
    Process p = Runtime.getRuntime().exec("mspaint");
    p.waitFor();
}catch ...

8.System类中的方法:arraycopy()可以将一个任意类型的数组快速地从一个地方复制到另一个地方 。

9.使用FilenameFilter:仅抬那些与一定的文件名方式或过滤(filter)相匹配的文件。

import java.io.File;
import java.io.FilenameFilter;

public class OnlyExt implements FilenameFilter{
 String ext;
        public OnlyExt(String ext){
 this.ext="."+ext; 
}
 public boolean accept(File dir ,String name){
 return name.endsWith(ext);
}
}
调用时使用:
new File("E://study").list( new OnlyExt("txt"))

10.
  sleep() 方法:sleep() 允许指定以毫秒为单位的一段时间作为参数,它使得线程在指定的时间内进入阻塞状态

,不能得到CPU 时间,指定的时间一过,线程重新进入可执行状态。
  wait() 和 notify() 方法:两个方法配套使用,wait() 使得线程进入阻塞状态,它有两种形式,一种允许指定

以毫秒为单位的一段时间作为参数,另一种没有参数,前者当对应的 notify() 被调用或者超出指定时间时线程重

新进入可执行状态,后者则必须对应的 notify() 被调用。

 守护线程是一类特殊的线程,它和普通线程的区别在于它并不是应用程序的核心部分,当一个应用程序的所有非

守护线程终止运行时,即使仍然有守护线程在运行,应用程序也将终止,反之,只要有一个非守护线程在运行,应

用程序就不会终止。守护线程一般被用于在后台为其它线程提供服务。

11.
HashMap和Hashtable类似,不同之处在于HashMap是非同步的,并且允许null,即null value和null key。,
如果涉及到堆栈,队列等操作,应该考虑用List,对于需要快速插入,删除元素,应该使用LinkedList,如果需要

快速随机访问元素,应该使用ArrayList。
尽量返回接口而非实际的类型,如返回List而非ArrayList,这样如果以后需要将ArrayList换成LinkedList时,客

户端代码不用改变。这就是针对抽象编程。

12.读取配置文件
对于ini 文件或者 properties文件,其实只要内容是 ds=dfjh或者 kd: ksadkf这种,就可以用
Properties pro = new Properties();
//pro.load (Main.class.getResourceAsStream("/test.properties"));或者
//pro.load (new FileInputStream ("test.properties"));
pro.getProperty ("test")

13.遍历HASHMAP
Iterator itr = map.keySet().itrator();
while(itr.hasNext())
{
    Object temp1 = itr.next();
    Object temp2 = tab.get(temp1);
//或者java.util.Map.Entry entry = (java.util.Map.Entry) it.next();
   // entry.getKey() 返回与此项对应的键
   // entry.getValue() 返回与此项对应的值
   System.out.println(entry.getValue());