[求助]這段JAVA的程式碼有一個地方不懂 麻煩能解說一下嗎?[已解決~感恩^^]

Home Home
引用 | 編輯 righer
2005-03-11 05:05
樓主
推文 x0
import javax.swing.JOptionPane;
public class Welcome{
public static void main(String args[])
{
String n1,n2;
int f1,f2,sum=0 ;
n1=JOptionPane.showInputDialog("請輸入一個整數");
n2=JOptionPane.showInputDialog("請輸入一個整數");
..

訪客只能看到部份內容,免費 加入會員



獻花 x0
引用 | 編輯 PeterPan
2005-03-11 12:08
1樓
  
在 main() 裡面宣告的變數稱為「自動變數」,必須設值﹝初始化﹞才能使用,如果只有單純宣告它,它並不會被分配memory address。

這題例子舉的不好,所以你會看不出來,我另外舉個小例子:
public class Test{
  public static void main(String[] args){
    int sum;
    sum++;
    System.out.println(sum);
  }
}
以上的source code無法編譯成功,會出現error message:variable sum might not have been initialized

所以自動變數一定要在宣告sum之後給它一個值﹝初始化﹞,才能使用,以下兩種方式都算是初始化↓
int sum;
sum = 0;
int sum = 0;

你的助教舉的例子等同於以下的 source code↓
import javax.swing.JOptionPane;
public class Welcome{
  public static void main(String args[]){
    String n1,n2;
    n1 = JOptionPane.showInputDialog("請輸入一個整數");
    n2 = JOptionPane.showInputDialog("請輸入一個整數");
    int sum = Integer.parseInt(n1) + Integer.parseInt(n2);
    JOptionPane.showMessageDialog(null,"sum = "+sum,"result",JOptionPane.PLAIN_MESSAGE);
  }
}
所以 sum 等於是宣告就直接初始化﹝初始化的數值等於 user 輸入的兩個數值相加﹞,也難怪會讓你弄糊塗了這個觀念。

SCJP蠻喜歡考這個觀念,我可以作證,因為我去考的時候就遇到好幾題相似的題目,然後問你編譯會不會過?

獻花 x0
引用 | 編輯 righer
2005-03-11 16:31
2樓
  
恩 感謝大大的解答 原來如此 這樣看我就懂了~
因為我們老師教半學期的C 就要我們學JAVA
C還不太懂的說 就要學JAVA...
我還要繼續加油~

SCJP這個是什麼呀?

獻花 x0
引用 | 編輯 PeterPan
2005-03-11 17:08
3樓
  
SCJP 全名是 Sun Certified Java Programmer,簡單來說就是SUN的基礎程式設計認證。
要取得本項認證的程式設計人員,必須具備的能力包括使用Java 2 Platform、Standard Edition (J2SE),展示其熟悉基礎Java程式設計語言。

你的老師也許想讓你們每種語言都會一些,再自己挑一個深造吧,加油囉。

獻花 x0
引用 | 編輯 mmpo
2005-03-13 22:52
4樓
  
java宣告不指定的話(針對的型別是int)...初使化是會自動給0

不過這個也要看版本跟設定的不同而會有所不同吧...

因為在我的電腦裡是這樣的情況,不過即然有大大說一定要人工上的初使化...我想大概是和我的電腦上的設定或版本有所不同吧

但針對選寫程式的習慣上,最好要有這個動作

sum是f1加上f2的結果......如果你不能包證sum是0的話....那相加的結果也一定會有錯誤

所以不管是不是會自動初使化成零....好的習慣應該還是一開始初使化指定其為0會比較好

獻花 x0
引用 | 編輯 ooxx123
2005-07-09 18:03
5樓
  
請問大大...
Sun Certified Java Programer
SUN是什麼意思阿   ~"~a

獻花 x0
引用 | 編輯 pbnttttt
2005-07-13 15:02
6樓
  
SUN   就是創造出java這種程式語言的公司
ㄏㄏ 吃水果要拜樹頭  這是一定要知道的唷

獻花 x0