aspose file tools*
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Doubt about a float value Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Java 8 in Action this week in the Java 8 forum!
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "Doubt about a float value" Watch "Doubt about a float value" New topic
Author

Doubt about a float value

Justen Hill
Greenhorn

Joined: Nov 07, 2007
Posts: 5
int a = 8;
int b = 3;
float c = a++/b--;
System.out.println(c);

Why does this produce 2.0? Shouldn't the result be able to handle a more accurate answer?
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 60082
    
  65

Think about at what point in the calculatiuon of your expression the implicit conversion from int to float occurs.


[Asking smart questions] [Bear's FrontMan] [About Bear] [Books by Bear]
fred rosenberger
lowercase baba
Bartender

Joined: Oct 02, 2003
Posts: 10929
    
  12

I would say that that is pretty darn accurate. In fact, I would say it is precise.

what would you get if you did this?

int a = 8;
int b = 3;
int c = a++/b--;
float d = c;
System.out.println(d);


There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors
Justen Hill
Greenhorn

Joined: Nov 07, 2007
Posts: 5
I see it now. The division of the ints occurs first, then the result is stuffed in a float.

Is it actually a float since it doesn't have an 'f' assignment or is it a double?
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Doubt about a float value
 
Similar Threads
Overloaded functions?
Primitive casting
is this a legal overriding method?
Overload
Primitive casting