This week's book giveaway is in the Testing forum.We're giving away four copies of The Way of the Web Tester: A Beginner's Guide to Automating Tests and have Jonathan Rasmusson on-line!See this thread for details.
Win a copy of The Way of the Web Tester: A Beginner's Guide to Automating Tests this week in the Testing forum!

# Q> about Mala gupta's Chapter 2 exam

Winston Liek
Ranch Hand
Posts: 173
Q2-5. Which of the following options contain correct code to declare and initialize
variables to store whole numbers?
a bit a = 0;
b integer a2 = 7;
c long a3 = 0x10C;
d short a4 = 0512;
e double a5 = 10;
f byte a7 = -0;
g long a8 = 123456789;

why e is not correct? I tried it on my jdeveloper and it compiled and run well.

Roel De Nijs
Sheriff
Posts: 10619
143
The question clearly states a whole number (integer). double is not used to store whole numbers (integers), but for decimal values (floating points). So this question is not only about knowing which code fragments will compile and which don't, but also about picking the correct data type for the job

Winston Liek
Ranch Hand
Posts: 173
but isn't it in the choices, 10 is a whole number and was stored in a5??

Roel De Nijs
Sheriff
Posts: 10619
143
And what's the data type of a5? I rest my case.

Winston Liek
Ranch Hand
Posts: 173
^ a5 is of type double.

As per my analysis on the question:
Which of the following options contain correct code to declare and initialize
variables to store whole numbers

If I will replace the word 'whole numbers with 10 (since 10 is a whole number) it would be:

Which of the following options contain correct code to declare and initialize
variables to store 10?

and the following code successfully declared, was initialized and stored 10, and successfully compiled:

What I am not sure is the word 'correct'. Correct is vaguely used here (as per my understanding :p) since correct may mean syntactically correct? Programatically correct?