亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

float賦值后加F和不加F,為何輸出不一樣

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;

float avg=sum/4f;

int minus=age1-age2;

int newAge=--age1;

? ?System.out.println("年齡總和:"+sum);

? ? System.out.println("平均年齡:"+avg);

System.out.println("年齡差值:"+minus);

System.out.println("自減后的年齡:"+newAge);


}

}

輸出的avg=26.25, ?如果把float avg=sum/4f;中的f去掉結果就變成了 avg=26。 為什么會這樣

正在回答

2 回答

536888bb0001b9f803900106.jpg沒有加f,不算是float類型

0 回復 有任何疑惑可以回復我~
#1

qq_慕仔3192846 提問者

不是很理解。沒有加F的話 那是屬于什么類型的,還要char賦值是不加‘’和加‘’出來的結果有什么不同嗎。沒搞懂
2019-04-12 回復 有任何疑惑可以回復我~

加了f相當于把分母轉換成浮點數,精度可以到達小數點后面,像是5/2.0=2.5

不加f相當于將兩個整數相除的結果轉換為float型,像是5/2=2,2*1.0=2.0

(個人想法,勿噴?。?/p>

但double就不一樣,加不加L都是2.0,不知道為什么

char加不加‘’結果是不一樣的

加了‘’后就是單個字符,單引號里是啥就是啥

不加‘’就變成了一個ASCII值了,打印出來的話是一個符號,控制臺可能識別不了,打印出一個帶問號的方框


char c=55;?

System.out.println("shuchu c="+c);

輸出 shuchu c=7 ?輸出的是55的ASCII值


char c='5';?

System.out.println("shuchu c="+c);

輸出 shuchu c=5 輸出的是字符5


1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

float賦值后加F和不加F,為何輸出不一樣

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號