读书人

Java基础非一般应用

发布时间: 2012-12-24 10:43:14 作者: rapoo

Java基础特殊应用

古老的代码,java代替goto,代码没有实际的意思,测试这种功能而已。注释解释啦功能。不知道还有没人会这样用。只是测试下这个功能。

?

public class Test {public static String test1(String args){if(args.equals("a1")){if (!args.equals("a1")) {return "a other!";}return "a1";}else{if (!args.equals("b1")) {if (args.equals("b2")) {return "b2";}else{return "b other!";}}return "b1";}}public static String test2(String args){return args.equals("a1")?( args.equals("a1")?"a1":"a other!" ):( args.equals("b1")?"b1":(args.equals("b2")?"b2":"b other!") );}public static void main(String[] args) {System.out.println(test1("a1"));System.out.println(test2("a1"));System.out.println("-------------");System.out.println(test1("b1"));System.out.println(test2("b1"));System.out.println("===============");System.out.println(test1("a1d"));System.out.println(test2("a1d"));System.out.println("-------------");System.out.println(test1("b1d"));System.out.println(test2("b1d"));System.out.println("===============");System.out.println(test1("b2"));System.out.println(test2("b2"));System.out.println("-------------"); }}?

对于if(if else) else( if else)更简单

三目运算符的效率和if else差不多,一亿次的运算也相差32毫秒左右,而加强的for比普通的for效率要高很多,不到一倍,本地的测试:

?

int[] arrays = new int[10000];int[] results = new int[10000];long startTime = System.currentTimeMillis();for (int i = 0; i < arrays.length; i++) {    for (int j = 0; j < arrays.length; j++) {     results[j] = arrays[j];    }   } long  endTime = System.currentTimeMillis(); System.out.println("普通for循环:" + (endTime - startTime) + "毫秒"); startTime = System.currentTimeMillis(); for (int i : arrays) {    for (int j : arrays) {     results[j] = arrays[j];    }   } endTime = System.currentTimeMillis(); System.out.println("加强for循环:" + (endTime - startTime) + "毫秒"); 
?

?

结果如下:

普通for循环:360毫秒

加强for循环:250毫秒

?

下面的代码集中方法是同一种效果

?

public static void main(String[] args) {boolean boo1 = "415sdg".matches("\\^\\d \\$ ");// if it contains theboolean boo2 = "1515151515".matches("\\d*"); // if it not containsString a = "a";System.out.println(threetype(a));System.out.println(ifelse(a));System.out.println(ifelse(a));System.out.println(zhezhong(a));System.out.println(zhezhong2(a));a = "b";System.out.println("===================");System.out.println(threetype(a));System.out.println(ifelse(a));System.out.println(ifelse(a));System.out.println(zhezhong(a));System.out.println(zhezhong2(a));a = "c";System.out.println("===================");System.out.println(threetype(a));System.out.println(ifelse(a));System.out.println(ifelse(a));System.out.println(zhezhong(a));System.out.println(zhezhong2(a));a = "d";System.out.println("===================");System.out.println(threetype(a));System.out.println(ifelse(a));System.out.println(ifelse(a));System.out.println(zhezhong(a));System.out.println(zhezhong2(a));a = "d6%^&*(((()_++++|";System.out.println("===================");System.out.println(threetype(a));System.out.println(ifelse(a));System.out.println(ifelse(a));System.out.println(zhezhong(a));System.out.println(zhezhong2(a));}public static String threetype(String args) {return "a".equals(args) ? "a" : ("b".equals(args) ? "b" : ("c".equals(args) ? "c" : ("d".equals(args) ? "d" : "other!")));}public static String ifelse(String args) {String a = "";if ("a".equals(args)) {a = "a";} else {if ("b".equals(args)) {a = "b";} else {if ("c".equals(args)) {a = "c";} else {if ("d".equals(args)) {a = "d";} else {a = "other!";}}}}return a;}public static String zhezhong(String args) {String a = "";boolean boo = "a".equals(args) || "b".equals(args) || "c".equals(args)|| "d".equals(args);if (boo) {a = args;} else {a = "other!";}return a;}public static String zhezhong2(String args) {boolean boo = "a".equals(args) || "b".equals(args) || "c".equals(args)|| "d".equals(args);return boo ? args : "other!";}

一种是if else太多看的人头晕,一种是代码让人看着苦涩难懂。一种是代码臃肿,一种是代码简洁。?那么你更喜欢那种呢?

?

public String toman(String inrole){return  "a".equals(inrole)? "a":("b".equals(inrole)?"b":("c".equals(inrole)?"c":("d".equals(inrole)?"d":"others!")));}
1 楼 Coder211 2011-03-01 不错,文章写的很好!不过多个三元运算符,严重的降低了可读性,很不好!

读书人网 >编程

热点推荐