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

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

強制轉換類型

public class HelloWlrld{

?????public syatic void main (Sting [] args ){

????????????int m = 5;

????????????int n = 7;

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

????????????System.out.println("m:" + m );

????????? ? System.out.println("n:" + n);

????????? ? System.out.println("x:" + x);

?????}


}

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

(m * 8 / ( n +2) )沒有強制轉換類型 ? ?應該為 double類型 ? ?為什么結果為int類型 ? 不是double類型大于int類型不能自動轉換類型嗎? ? ?我有點迷糊

正在回答

2 回答

因為你定義了X是int型,所以得到的數據類型是int,計算的結果是有小數,但是X的數據類型是整形(int),所以系統舍棄了小數點。假如你定義

int x=6,y=3;

double z;

z=x/y;

System.out.println(z);

得到的就是2.0,系統自動轉換你定義的double類型

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

因為m、n都是int型,除出來也是int類型

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

慕粉1143151228 提問者

那如果m或者n有一個是double型.那么返回的是什么類型!???
2017-08-01 回復 有任何疑惑可以回復我~
#2

慕仔7678733 回復 慕粉1143151228 提問者

主要原因為你賦值給了X,而X是int型的,和計算的數據類型無關。
2017-08-01 回復 有任何疑惑可以回復我~
#3

慕粉1143151228 提問者 回復 慕仔7678733

好的 謝謝
2017-08-01 回復 有任何疑惑可以回復我~

舉報

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

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

進入課程

強制轉換類型

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

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

幫助反饋 APP下載

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

公眾號

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