Chapter: Java The Complete Reference - The Java Language - Data Types, Variables, and Arrays

Study Material, Lecturing Notes, Assignment, Reference, Wiki description explanation, brief detail

Integers

Java defines four integer types: byte, short, int, and long. All of these are signed, positive and negative values.

Integers

                         

                        Java defines four integer types: byte, short, int, and long. All of these are signed, positive and negative values. Java does not support unsigned, positive-only integers. Many other computer languages support both signed and unsigned integers. However, Java’s designers felt that unsigned integers were unnecessary. Specifically, they felt that the concept of unsigned was used mostly to specify the behavior of the high-order bit, which defines the sign of an integer value. As you will see in Chapter 4, Java manages the meaning of the high-order bit differently, by adding a special “unsigned right shift” operator. Thus, the need for an unsigned integer type was eliminated.

                         

                        The width of an integer type should not be thought of as the amount of storage it consumes, but rather as the behavior it defines for variables and expressions of that type. The Java run-time environment is free to use whatever size it wants, as long as the types behave as you declared them. The width and ranges of these integer types vary widely, as shown in this table:

 



byte

 

The smallest integer type is byte. This is a signed 8-bit type that has a range from –128 to 127. Variables of type byte are especially useful when you’re working with a stream of data from a network or file. They are also useful when you’re working with raw binary data that may not be directly compatible with Java’s other built-in types.

 

Byte variables are declared by use of the byte keyword. For example, the following declares two byte variables called b and c:

 

byte b, c;

 

short

 

short is a signed 16-bit type. It has a range from –32,768 to 32,767. It is probably the least-used Java type. Here are some examples of short variable declarations:

 

short s; short t;

 

int

 

The most commonly used integer type is int. It is a signed 32-bit type that has a range from –2,147,483,648 to 2,147,483,647. In addition to other uses, variables of type int are commonly employed to control loops and to index arrays. Although you might think that using a byte or short would be more efficient than using an int in situations in which the larger range of an int is not needed, this may not be the case. The reason is that when byte and short values are used in an expression, they are promoted to int when the expression is evaluated. (Type promotion is described later in this chapter.) Therefore, int is often the best choice when an integer is needed.

 

long

 

long is a signed 64-bit type and is useful for those occasions where an int type is not large enough to hold the desired value. The range of a long is quite large. This makes it useful when big, whole numbers are needed. For example, here is a program that computes the number of miles that light will travel in a specified number of days:

 

// Compute distance light travels using long variables. class Light {

 

public static void main(String args[]) { int lightspeed;

 

long days; long seconds; long distance;

 

// approximate speed of light in miles per second lightspeed = 186000;

 

days = 1000; // specify number of days here

 

seconds = days * 24 * 60 * 60; // convert to seconds

 

distance = lightspeed * seconds; // compute distance

 

System.out.print("In " + days);

 

System.out.print(" days light will travel about ");

System.out.println(distance + " miles.");

 

}

This program generates the following output:

 

In 1000 days light will travel about 16070400000000 miles.

 

Clearly, the result could not have been held in an int variable.

 

Study Material, Lecturing Notes, Assignment, Reference, Wiki description explanation, brief detail


Copyright © 2018-2020 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.