2012-03-14 155 views
0

我在android中聲明變量時有點困惑,我知道兩種方法。聲明變量之間的區別

1. int EC, CC, PT, HC = 1; 
    2. int EC = 1, CC = 1, PT = 1, HC = 1; 

我想知道1 & 2.

都在相同的方式之間的區別?

+3

在第一個例子中,只有HC值爲1,其他值爲默認值,在這種情況下爲0. – Alex 2012-03-14 12:52:02

+0

這是一個Java事物,而不是一個特定的機器人。 – dan 2012-03-14 12:53:19

+1

有趣的是,沒有人提到這兩種方法都是一個壞主意。每個變量應該在自己的行上聲明,與其他變量無關,即'int EC = 0; int CC = 0;'等等 – Dave 2012-03-14 13:42:52

回答

2

這個問題並沒有真正涉及Android,它只依賴於Java。
無論如何,
第一種方法創建變量EC, CC, PTHCHC得到值1. 在您創建的所有變量,並給他們的價值1

第二種方法只是做了Java和變量的搜索,如果你想找到有關問題的一些信息。這裏有兩個鏈接給你:
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.html
http://www.roseindia.net/java/master-java/variables-in-java.shtml

在一個側面說明,您應該遵循Java命名約定,並保持你的變量小寫,大寫或任何後續單詞的第一個字母的變量名。

+0

感謝您的快速響應和簡要說明。 – Pari 2012-03-14 13:06:33

0

假設實例變量,第一種方式,EC,CC,PT爲零。第二種方式都是一樣的。

如果沒有分配,則將實例變量分配給默認值。

如果您將第一個定義爲局部變量(在任何方法中),您將收到編譯錯誤。

0

在第一種情況下,除EC以外,全部都未初始化。

在第二種情況下,所有都被初始化。

+0

「未初始化」的int(和其他基元)被設置爲0(或false,0f,無論適用)。 – zapl 2012-03-14 12:55:27

+0

...僅當它們是實例變量(類內聲明的變量而不是在方法中) – zapl 2012-03-14 13:04:41

1

不,這是不一樣的。

在第一種情況下,只有HC將分配值1。其他變量將保留爲未分配狀態。

如果它們是實例或靜態變量,則表示它們將獲得默認值0.如果它們是局部變量,則在使用它們之前需要先指定它們。

1
  1. 僅HC將被初始化
  2. 所有變量被初始化(具有值1)
0

在第一種情況中,第一3個變量是未初始化的,這意味着當對象被創建編譯器將在整數類型的情況下用默認值hich爲零初始化那些未初始化的變量,最後一個變量將用ONE初始化。

在第二種情況下,每個變量將被初始化爲1。你也可以做如下

首先聲明的所有變量

int EC, CC, PT, HC; 

然後分配值

EC =CC = PT = HC = 1; 
+0

假設這些是變量,而不是域,在第一種情況下EC,CC,PT是未初始化的,這比與被分配不同0。 – 2012-03-14 19:09:18

0

如果聲明int EC,CC,PT,HC=1;

The values for EC,CC and PT are Zero(0) and HC value is 1, 

如果decalre int EC=1,CC=1,PT=1,HC=1意味着所有的EC ,CC,PT和HC值是1。

0

第一個例子如下: int EC; int CC; int PT; int HC = 1; //只有hc取值爲1
第二個例子如下: int EC = 1; int CC = 1; int PT = 1; int HC = 1; //所有變量的值都是1

相關問題