第5行一直報錯 說要返回long 類型的值
問題1:我認為我方法中的三種情況下的返回值都是long 不知道出了什麼錯
問題2:如果我在返回值為long的方法裡寫
renturn 1 ; 這個 1 會被自動轉化為long類型嗎
問題3 : 這麼寫可不可以
return (long )1;
問題1:方法 F 中有3個 if 語句,你的返回值都建立在 if 條件成立時返回,但可能這三個條件都不成立,那就沒有返回值了,所以報錯。
問題2:return 1; 是可以的,Java會自動的將表示范圍小的數據類型 自動 提示為大的數據類,這叫做 "自動類型提升" 或 "隱式轉換"
問題3:return (long) 1; 沒有問題, 更好的寫法是 return 1L,注意 1 後面有一個大寫字母 L ,這叫做給數字加 "後綴",但在你這個方法裡不必這樣,返回 1 即可,參見問題2解答。
在Java中,整數默認是int類型,小數默認是double類型,如果你想告訴 Java虛擬機這個 1 是 long 類型,只需要在數字後面加上 字母L (不區分大小寫,但建議大寫,因為小寫的L 容易與數字 1 混淆)