写法一:
- Java code
int tag = 1;if(tag==1){ for(int i=0; i<10000; i++){ System.out.print("测试A:"+i); }}else{ for(int i=0; i<10000; i++){ System.out.print("测试B:"+i); }}
写法二:
- Java code
int tag = 1;for(int i=0; i<10000; i++){ if(tag==1){ System.out.print("测试A:"+i); }else{ System.out.print("测试B:"+i); }}
------解决方案--------------------------------------------------------
第一种好撒, 一个是不停的判断一个是至判断一次,你认为呢
------解决方案--------------------------------------------------------
实践是检验真理的唯一标准,自己测试下不就完了?
目测是方法一更快,因为if语句执行的次数少了,但实际使用中所能带来的性能提升微乎其微,基本可以忽略不计。
而且方法一代码显得太累赘,所以方法二更合适。
------解决方案--------------------------------------------------------
第一种写法好;因为第一种写法只需要判断一次;而第二种写法需要去循环的判断,这样很费时
------解决方案--------------------------------------------------------
- Java code
int tag = 1; String method = tag == 1 ? "测试A" : "测试B"; for (int i = 0; i < 10000; i++) { //循环就尽量让它只是循环 System.out.println(method + i); }
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
楼主有点钻牛角尖了
不过这个牛角尖我以前也钻过~
没什么必要在乎这种if对效率的影响 就算他很复杂 时间也只是原来的n(常数)倍
而现实中时间一般是很小的 10^6次循环 还不到0.001秒。 乘以个10, 也感觉不到。
------解决方案--------------------------------------------------------
写个程序大体测一下试试
- Java code
public static void main(String[] args) { int tag = 1; java.util.Date begin=new java.util.Date(); if(tag==1){ for(int i=0; i<10000; i++){ System.out.print("测试A:"+i); } }else{ for(int i=0; i<10000; i++){ System.out.print("测试B:"+i); } } java.util.Date end=new java.util.Date(); System.out.println(); System.out.println(end.getTime()-begin.getTime()); java.util.Date begin1=new java.util.Date(); for(int i=0; i<10000; i++){ if(tag==1){ System.out.print("测试A:"+i); }else{ System.out.print("测试B:"+i); } } java.util.Date end1=new java.util.Date(); System.out.println(); System.out.println(end1.getTime()-begin1.getTime()); }}
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
看情况而定
------解决方案--------------------------------------------------------
JVM 很聪明,这种代码会进行优化,不管你怎么写!