四个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.你-.__.-.   />用上面的正则表达式来判断是没有问题的。
小技巧也就是平时编程的经验积累吧,所以呢我还是提倡多写代码,多思考。
一时半伙儿也想不到很多的小技巧,就写这么多了。如果你还不知道,就赶快学一下吧。如果你还有神马小技巧,赶快和大家分享!!
我的Email:donglinmei@hotmail.com 964318731@qq.com、Mobile Phone :(+86)182 5196 5264、qq :964318731 转载请注明出处http://mtoou.info/java-bcjqiao/

发表评论

电子邮件地址不会被公开。 必填项已用*标注