討論區快速選單
知識庫快速選單
網路投保旅行平安險 網路投保旅行平安險
[ 回上頁 ] [ 討論區發言規則 ]
for迴圈的問題?
更改我的閱讀文章字型大小
作者 : joe8099x(joe8099x)
[ 貼文 13 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 8 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/3/31 下午 01:18:56
各位先進們好,
有個小問題想請教一下
假設程式部分如下
n=20;
...
for(i=0;i<n*2;i++){
.....
}
請問for裡頭的n*2是只做一次運算,還是會做40次的n*2運算?
當n很大時
是否把計算放在for之前會比較好,還是沒差?
謝謝.
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4468 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人joe8099x註記此篇回應為最佳解答 2014/3/31 下午 02:33:01

>n=20;
>...
>for(i=0;i<n*2;i++){
>.....
>}

you may compile your program under option o (optimization) or prof ( invoking java interpreter )
watch it's differences between optimization and non-optimization options.

or rewrite some codes like this
for (i=0;i<40;i++) {
/* do same things */
}

Finally , you may insert some statement into them , like this

// version 1 :
n=20;

Stopwatch timer = new Stopwatch().start(); // Start !

 for(i=0;i<n*2;i++) {

  // same codes

 }

timer.stop(); // Stop !
System.out.println(timer.getElapsedTime()); // Calculate elapsed time of above for loop


// version 2 :

Stopwatch timer = new Stopwatch().start(); // Start !

 for(i=0;i<40;i++) {

  // same codes

 }

timer.stop(); // Stop !
System.out.println(timer.getElapsedTime()); // Calculate elapsed time of above for loop


below is stopwatch class reference .
https://commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/apache/commons/lang/time/StopWatch.html

check it out ! more google , more fun :-)
作者 : joe8099x(joe8099x)
[ 貼文 13 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 8 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/3/31 下午 04:32:11
謝謝ozzy123回答

我想是不是若迴圈數很大時是看complier是否有最佳化,如果不確定最好是寫在for之前..

我有試著使用您教的程式看看兩者的時間差
但碰到The import org.apache cannot be resolved的問題
所以我到了
http://commons.apache.org/proper/commons-lang/
下載了commons-lang3-3.3.1-bin.zip
並用eclipse
project -> Build Path -> Configure Build Path -> Libraries -> Add External Jar’s
加入
但在import org.apache.commons.lang.time.StopWatch;
還是出現The import org.apache cannot be resolved
不知是那裡錯了

後來弄不好
就先用
System.currentTimeMillis();
來試

eclipse預設測出來確定是會做for裡頭的運算式,運算式放for裡頭會變慢
但那個compiler的最佳化找了很久找不倒在哪邊可以設定?
不好意思,本人能力就到此了....所以又要問了
請問:
1.org.apache 要怎麼import?
2.eclipse+java compiler要怎麼設定最佳化?
感恩咧....
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4468 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人joe8099x註記此篇回應為很有道理 2014/3/31 下午 05:13:41
>加入
>但在import org.apache.commons.lang.time.StopWatch;
>還是出現The import org.apache cannot be resolved
>不知是那裡錯了
--- http://stackoverflow.com/questions/14405244/how-to-import-org-apache-commons-lang-time-stopwatch-in-my-eclipse-java-project
try to follow its way and add jar file

>eclipse預設測出來確定是會做for裡頭的運算式,運算式放for裡頭會變慢
>但那個compiler的最佳化找了很久找不倒在哪邊可以設定?
>不好意思,本人能力就到此了....所以又要問了
>請問:

>2.eclipse+java compiler要怎麼設定最佳化?
--- http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Freference%2Fpreferences%2Fjava%2Fref-preferences-compiler.htm

first , you should find preference page , please follow steps : Window > Preferences > Java > Compiler
and find several checkboxes under heading "Classfile Generation"

check it out !
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4468 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人joe8099x註記此篇回應為很有道理 2014/3/31 下午 05:20:37
http://www.crifan.com/java_eclipse_the_import_org_apache_cannot_be_resolved/
another way for you reference about adding apache related classes
作者 : joe8099x(joe8099x)
[ 貼文 13 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 8 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/4/1 下午 02:55:49
搞定了,謝謝您無私的教導...^_^
 板主 : 風月
 > Java入門一般區 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - Java入門一般區 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
Java入門一般區
1 洋將 2410 
2 Aron 2130 
3 Aries 1510 
4 DEMO999 1310 
5 Ben 990 
6 ramb 620 
7 ozzy 570 
8 tand 460 
9 Huah 410 
10 vindy 400 
Java入門一般區
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2018 程式設計俱樂部 http://www.programmer-club.com.tw/
0.046875