When we declare a float by f = 0.0 it result in error because it defaults to Double but why float f = 1/3; does not do the same? And similarly why int i = 1/3; does not give any compile error, since 1/3 in fact is a floating number? Thanks
Hi Pretty, The dividen and divisor are both integer, so the result will be an integer as well. However, if you a assign the result to a float or double, as in f=1/3, then a widening conversion will occur. Hope this helps.
posted 17 years ago
Thanks, it helps. Now I think, I had been stupid to ask this?
No, Preeti, I wouldn't feel stupid for asking. If you're new to programming, or new to Java, you will find a thousand little rules and no beginner can expect to understand them all. Heck, most experts don't understand all of them! So, go easy on yourself while you're learning, and have some fun with it. I always look at code and math as puzzles to solve and that takes a lot of the pressure off because I've always enjoyed puzzles. Cheers, Jeff
Give a man a fish, he'll eat for one day. Teach a man to fish, he'll drink all your beer.
Cheers, Jeff (SCJP 1.4 all those years ago...)