Java知识点

来源:互联网 发布:中国高铁发展史 知乎 编辑:程序博客网 时间:2024/06/10 04:41
1.拆分字符串
遇到特殊字符,比如:对‘$’符号,就应该使用‘//$’,后总结可以加个方括号如 "[.]"。

2.遍历HASHMAP
Iterator itr = map.keySet().itrator();
while(itr.hasNext())
{
    Object temp1 = itr.next();
    Object temp2 = tab.get(temp1);
}

3.日历操作
Calendar c = Canlendar.getInstance();
c.get(c.YEAR);//获取年份,其他同理
c.add(c.MONTH,-1);//上个月的日期
 
4.随机数
Random random = new Random();
int ran = random.nextInt(100);
注意:范围[0,100)

5.读取配置文件
对于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")

6.遍历vector
两种方式:
//        for (Enumeration e = v.elements ();e.hasMoreElements ();)
//        {
//             System.out.println (e.nextElement ().toString ());
//        }    
       Iterator item = v.iterator ();
       while(item.hasNext ())
       {
           System.out.println (item.next ().toString ());
       }

7.JAVA在WINDOWS下调用其他程序
try
{
    Process p = Runtime.getRuntime().exec("mspaint");
    p.waitFor();
}catch ...

8.获取键盘输入
BufferedReader input = new BufferedReader(new InputStream(System.in));
String s = input.readLine();

9.子类无参构造会隐式super(),若父类没有声明无参构造函数,而且有含参数构造函数,程序编译不通过。

10.命令提示符下,编译java文件 建议使用"javac -d . xxx.java" 能自动生成程序中的包。而运行只需要"java packname.mainclass".

11.使用 "pack200 x.gz y.jar"则将jar文件压缩成gz文件,对class文件压缩率极高,解压缩使用"unpack200 x.gz y.jar".

12.代码中'@'标记符号使用,例如@ Override 在方法前面,表示此方法是覆盖父类方法,那么在编译时会自动检查父类中是否有该方法。

13.周期性事件:
private java.util.Timer timer;
timer.schedule(new java.util.TimerTask()
{
   public void run()
   {
       //……要做的事
   }
},0,5*60*1000);
timer本身是多线程同步的,不需要自己启动线程。

14.介绍下JDK5.0 新特性

1.枚举类型:
public class EnumDemo
{
 enum MyColors
 {
   red,
   black,
   blue,
   green,
   yellow
 };
 public static void main(String args[])
 {
    MyColors color = MyColors.red;
    //for 也是JDK 5中新特性
    for(MyColors option : color.values())
    {
      System.out.println(option);
    }
   switch(color)
   {
    case red:
         System.out.println("best color is "+color.red);
         break;
     default:
          System.out.println("What");
          break;
   }
 }
}
几点注意:1. enum不能写成局部变量。
      2. switch()参数为枚举常量。
      3. case 后red实际是 color.red(由于其机制强制省略color)而其他地方是不能直接用red的.

15.正则表达式:(检验邮箱)
   String check = "^([a-z0-9A-Z]+[-|//.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?//.)+[a-zA-Z]{2,}$" ;
   Pattern regex = Pattern.compile (check) ;
   Matcher matcher = regex.matcher (Emailname) ;
   boolean isMatched = matcher.matches () ;