The Java integer types are byte , short , int , and long . byte Occupies 8 bits or 1 byte, which is: -2 7 to 2 7 -1 or -128 to 127 Default value of 0 Example: -17, 123 short Occupies 16 bits or 2 bytes, which is: -2 15 to 2 15 -1 or -32,768 to 32,767 Default value of 0 Example: 31,098, -9001 int Occupies 32 bits or 4 bytes, which is: -2 31 to 2 31 -1 or -2,147,483,648 to 2,147,483,647 Default value of 0 Example: 50, 2147000000, -53000 The int is probably the most commonly used integral type in Java. That's because it is often not worth trying to save memory space by using a smaller type, such as a byte . Here's why: when you perform a comparison operation or an arithmetic operation with a byte , it gets promoted to an int anyway by the runtime, then the operation is performed, and then you have an int . So it's extra work, and a little confusing. But there are many situations where you need specifically one of those types. long Occupies 64 bits or 8 bytes, which is: -2 63 to 2 63 -1 or -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 Default value of 0 Example: 9,223,372,036,854,775,807, 0L The long takes up a good deal of memory, and so it is typically reserved for use in situations that exceed the capacity of the int , such as representing the total population of the earth, the national deficit in dollars, or the total number of hours I've spent goofing off on the Internet. You can distinguish between a long and other integral primitive types by writing a literal L after the number value, like this: 87999065L. If you don't do that, the compiler will assume that your number is an int . |