程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 四個Java編程小技巧

四個Java編程小技巧

編輯:關於JAVA
 

(1)你的判斷兩個數的奇偶性你用的方法合適嗎
     if(num%2!=0) 奇數 else 偶數
     大家都知道這個方法,其實還有更快的小方法,可能有些人就不知道了
     if(num & 1 ==1) 奇數else 偶數,用的屎位運算,肯定要快些啦。
(2)兩個數的互換,大家都可能會用
     type temp;
     temp = x;
     x = y;
     y = temp;
     也有不用臨時變量的方法
        x = x+y;    
        y = x-y;   
        x = x-y;
          或
        x = x^y;
        y = y^x;
        x = x^y;同樣可以實現兩個兩個數交換,說有什麼技術含量還真沒什麼,就是面試可能會考到。
(3)LINUX裡面的權限判斷,也可以借鑒,這裡也是用位運算
     int read = 1<<0;
     int write = 1<<1;
     int execute = 1<<2;
    定義用戶操作一個文件的權限為read | execute(權限值為5);linux裡面文件的權限是三位數如777(系統任何人都有可讀,可寫,可執行的權限),可以用ls -l命名查看,因為linux裡面的權限有組的概念,和windows的組策略差不多。
    那麼用戶操作該文件的權限就可以算出來了 (read | execute) & read>=1?可讀:不可讀; 以此類推…
(4)字符串處理最好用正則表達式,和編譯原理的神馬自動機理論有關,處理速度也是非常快,在linux下大量使用如Grep命令,例子查找文件Hello.java文件裡面是否有main關鍵字,
就可以用 find -name home\Hello.java | grep *\s+main\s+* |more
    我們要處理根據xml旳節點的命名標准來判斷字符串,XML節點命名標准如下:
 1.第一個字符必須位字符
 2.中間必須位數字和字符或.-_
 3.最後必須位數字或字符或空格或.-_
    我們就用JAVA的regex來處理,非常方便,正則表達是為:
    String regex = “^[[a-zA-Z]|[\u2E80-\u9FFF]]+[[a-zA-Z]|[0-9]|[\u2E80-\u9FFF]|[.|\\-|_]]+\\s*”; (不要看這麼長,實際上是非常簡單的,看看Java API就知道怎麼寫了)
     public class RegexTest{
 @org.junit.Test
 public void regexTest(){
  String regex = “^[[a-zA-Z]|[\u2E80-\u9FFF]]+[[a-zA-Z]|[0-9]|[\u2E80-\u9FFF]|[.|\\-|_]]+\\s*”;
  String input = “w你w好.-.553.你-.__.-.   “;
  java.util.regex.Pattern pattern = Pattern.compile(regex);
  Matcher matcher = pattern.matcher(input);
  while(!matcher.matches()){
   System.out.println(“匹配失敗”);
   break;
  }
  System.out.println(“匹配成功”);
  //也可以用這種方式判斷
  /*
        boolean isMacher = Pattern.matches(regex,input );
  System.out.println(isMacher?”匹配”:”不匹配”);
  */
 }
    }
xml文件節點<w你w好.-.553.你-.__.-.   />用上面的正則表達式來判斷是沒有問題的。
小技巧也就是平時編程的經驗積累吧,所以呢我還是提倡多寫代碼,多思考。

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved