課程
/后端開發
/Java
/Java入門第一季(IDEA工具)升級版
float avg=(float)sum/4可以正確運行。變成4.0為什么又不行了。個人理解sum先被強轉換成float,后面/4.0又變成double,double>float,所以錯了?
2019-10-30
源自:Java入門第一季(IDEA工具)升級版 3-2
正在回答
public class HelloWorld{
? ? public static void main(String[] args) {
int age1=24;
int age2=18;
int age3=36;
int age4=27;
int sum = age1+age2+age3+age4;//四個人總和
//類型的默認轉換是byte,short,char?-- int -- long -- float -- double?
//float>int所以不用強制轉換
float avg = sum/4;//四個人的總和÷4,求平均值
int minus = age1-age2;//age1,age2的差值
int newAge = --age1;//因為要表達newAge的自減1所以:--x(要放后面)
? ? System.out.println("年齡總和:"+sum);
? ? System.out.println("平均年齡:"+avg);
System.out.println("年齡差值:"+minus);
System.out.println("自減后的年齡:"+newAge);
}
/*
有什么不懂得可以問我,我要是不懂相互討論哈
*/
float avg=(float)(sum/4);
float avg =(float)(sum/4);? ? ? ? ? ? ?就好了。
不用強制轉換 直接定義為float就行
舉報
0基礎萌新入門第一課,從Java環境搭建、工具使用、基礎語法開始
2 回答float avg=sum/4.0;
2 回答為什么int sum ; float avg = sum/4.0; 的時候有錯誤,而double avg = sum/4.0;能編譯通過呢
1 回答double avg = sum/4.0;
1 回答double avg=sum/4.0
2 回答為什么double avg=sum/4;和double avg=sum/4.0;不同????
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2020-03-02
public class HelloWorld{
? ? public static void main(String[] args) {
int age1=24;
int age2=18;
int age3=36;
int age4=27;
int sum = age1+age2+age3+age4;//四個人總和
//類型的默認轉換是byte,short,char?-- int -- long -- float -- double?
//float>int所以不用強制轉換
float avg = sum/4;//四個人的總和÷4,求平均值
int minus = age1-age2;//age1,age2的差值
int newAge = --age1;//因為要表達newAge的自減1所以:--x(要放后面)
? ? System.out.println("年齡總和:"+sum);
? ? System.out.println("平均年齡:"+avg);
System.out.println("年齡差值:"+minus);
System.out.println("自減后的年齡:"+newAge);
}
}
/*
有什么不懂得可以問我,我要是不懂相互討論哈
*/
2020-02-15
float avg=(float)(sum/4);
2020-02-10
float avg =(float)(sum/4);? ? ? ? ? ? ?就好了。
2019-11-13
不用強制轉換 直接定義為float就行
2019-10-30
float avg=(float)sum/4.0f;