我是一個Java初學者,所以什麼是錯,此代碼:關於產品:開關
switch(keycode) {
case Keyboard.KEY_UP || Keyboard.KEY_DOWN:
}
我給了我以下錯誤信息:
bad operand types for binary operator '||'
first type: int
second type: int
我是一個Java初學者,所以什麼是錯,此代碼:關於產品:開關
switch(keycode) {
case Keyboard.KEY_UP || Keyboard.KEY_DOWN:
}
我給了我以下錯誤信息:
bad operand types for binary operator '||'
first type: int
second type: int
您正在將邏輯運算符或運算符||
應用於不允許的整數。您可以將邏輯運算符僅應用於布爾操作數。
既然你要當keycode
或者是Keyboard.KEY_UP
或Keyboard.KEY_DOWN
使用告吹情況下塊作爲執行相同的情況下塊:
switch(keycode) {
case Keyboard.KEY_UP: /* fall through */
case Keyboard.KEY_DOWN: /* Common code when keycode is either
KEY_UP or KEY_DOWN */
break;
}
switch(keycode)
{
case Keyboard.KEY_UP:
case Keyboard.KEY_DOWN:
// code to run...
break;
}
更改爲
switch (keycode) {
case Keyboard.KEY_UP:
case Keyboard.KEY_DOWN:
// Do something, then
break;
}
switch(keycode) {
case Keyboard.KEY_UP:
case Keyboard.KEY_DOWN:
// code here
break;
...
}
你可以用」用交換機做這件事(至少不用Java)。你必須做
switch(keycode) {
case Keyboard.KEY_UP:
case Keyboard.KEY_DOWN:
doKeyStuff();
break;
如果你想要兩個值相同的行爲,請不要使用||運算符,只是將第一個案例落入第二個案例:
switch(keycode) {
case Keyboard.KEY_UP:
case Keyboard.KEY_DOWN:
break;
您無法對數字使用邏輯操作。
你可以這樣寫
switch(keycode) {
case Keyboard.KEY_UP | Keyboard.KEY_DOWN:
}
但是這不會做你所期望的東西作爲密鑰號碼必須是這些值的組合。你想要的可能是
switch(keycode) {
case Keyboard.KEY_UP: case Keyboard.KEY_DOWN:
}
這將匹配任一值。
你明白||意思是「或」,但你沒有充分的理解。 ||是兩個布爾變量只有
東西要麼是真正之間比較 ||假。它不能是粉筆||起司。
switch語句是一個整數比較器。你可以改變
int number =3
switch(number)
case 1: one(); break;
case 2: two(); break;
case 3: three(); break;
到
if(number == 1) one();
else if(number ==2) two();
else if(number == 3) three();
它看起來像你正在嘗試做的是
if(number == 1 || number == 2)
在那裏你會發現number == 1
是真或假,number == 2
是真或假。哦,我太愚蠢
switch語句時很有用,如接受的回答,您可以前爆發的結構與break;
+1用於解釋_why_ Java在此上下文中不允許使用「||」。 – 2011-06-15 10:02:23
執行幾種情況:) – cyrianox 2011-06-15 09:51:49
這是當你繼續做錯了只有愚蠢。 ;) – 2011-06-15 09:52:25
@cyrianox:不要因爲誤解某些語法而自稱愚蠢。即使專業人士偶爾也會這樣做,並且學習編程需要很長時間。 – 2011-06-15 10:15:08