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

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

小白跪求解釋

最后那個40/9%5不是應該等于40/9嗎,而且這還有小數,不是和前面的int向矛盾了嗎

正在回答

10 回答

int m = 5;

int n = 7;

int x=(m*8/(n+2))%m;

因為之前規定的m和n是int,所以(m*8/(n+2))的結果也是int也就是4,

假如是這么寫double?x=(m*8/(n+2)),結果就是4.0,

假如是這么寫double?x=((double)m*8/(n+2)),結果就是4.444444444444445


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

40/9=4.44444444,這個結果在對5取余,得到的還是4.44444,但因為x是整型(int),所以不保留小數,也就是4。

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

1、Java中 數值運算時 /? 你可以理解為 取商;

2、無論 a/b 結果時 4.4....... or? 4.9.......? 都只取整數部分,不會按四舍五入 運算結果為int型,并非浮點型,別把????????主觀思維加進來;

3、強中轉換 一般只有在 賦值 運算時 用,賦值運算符 =? 前后數據類型不一樣時才用,否則編譯報錯,

????代碼中 int x = (m*8/(n+2)%m);? x 的數據類型為int型,(m*8/9%m) 按優先級應從左往右計算,每一步運算結果和最終結果都是 int型,和變量 x類型一樣,故不需要強制轉換。?

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

慕少1317773

就算是取整數4,那4%5 出來是多少呢
2020-03-24 回復 有任何疑惑可以回復我~
#2

Mr沐陽 回復 慕少1317773

%是取余,4除以5,商0 余4,所以結果是4,這還用專門解釋嗎,你實在不確定自己敲一下不就知道了,不動手只YY,那你編程水平很難進步
2020-04-09 回復 有任何疑惑可以回復我~

java 和 C 一樣? 用 / 這個符號就不是我們通常的除法,用這個 / 只能得到整數部分,和int定義沒關系;

如果你用float定義,那結果就是4.00也不會是4.444444

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

int 取整 后面小數都去掉的,沒矛盾

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

記錯了,是4.44444444

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

這個取整就是對的,4.75,但是前面是int啊,int后面沒有強制賦值的話,不是應該是有語病的嗎

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

老哥,我也是新手,昨晚才開始學的那種新,有興趣加個好友,一起討論學習啊

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

剛剛我再算了下,是40/9,我懷疑是它題目錯了,我也是新手,剛學,互相討論哦

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

你應該是算錯了吧,int ?x?=?( m?*?8?/?( n?+?2 ) )?%?m ;m=5;n=7;

這樣算下來,前面是35,不是40,前面的數算錯了,后面就會出錯的哦;原題算下來的話,就是一個int類型的了,你再試試看哦

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

WE_Xing

沒錯,就是40 (40 / 9) % 5
2020-02-24 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第一季(IDEA工具)升級版
  • 參與學習       1167759    人
  • 解答問題       18749    個

0基礎萌新入門第一課,從Java環境搭建、工具使用、基礎語法開始

進入課程

小白跪求解釋

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

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

幫助反饋 APP下載

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

公眾號

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