为什么int=int*Double会给出错误,而int*=Double不会(在Java中)?

原学程将引见为何int=int*Double会给失足误,而int*=Double没有会(在Java中)?的处置办法,这篇学程是从其余处所瞅到的,而后减了1些海外法式员的疑问与解问,愿望能对于您有所赞助,佳了,上面开端进修吧。

为什么int=int*Double会给出错误,而int*=Double不会(在Java中)? 教程 第1张

成绩描写

为何INT=INT*DOUBLE情势的赋值会失足,而INT*=Double格局的赋值没有会失足(在Java中)?

示例:

public class TestEmp {

 public static void main(String[] args) {

  double e = 一0;
  int r = 一; 
  r *= e;

  r = r * e;
  System.out.println("De uitkomst van r :" + r);

 }
}

r *= e被接收,而r = r * e没有被接收。为何?

推举谜底

r = r * e会显示毛病,由于r * e的成果是double,是以当叨教其保存在int中时,会丧失粗度。

r *= e没有会给您毛病,由于它是r = (int)(r * e)(source)的语法糖。

佳了闭于为何int=int*Double会给失足误,而int*=Double没有会(在Java中)?的学程便到这里便停止了,愿望趣模板源码网找到的这篇技巧文章能赞助到年夜野,更多技巧学程不妨在站内搜刮。