amount
variable its first value:double amount;
amount = 5.95;
You can do the same thing with just one line:
double amount = 5.95;
When you do this, you don’t say that you’re “assigning” a value to the amount variable. The line
isn’t called an “assignment statement.” Instead, this line is called a declaration with an initialization. You’re initializing the double
amount=5.95amount
variable. You can do all sorts of things with initializations, even arithmetic:
doublegasBill = 174.59;
doubleelecBill = 84.21;
double H2OBill = 22.88;
double total = gasBill + elecBill + H2OBill;
Moving Java variables from place to place
It helps to remember the difference between initializations and assignments. For one thing, you can drag a declaration with its initialization outside of a method://This is okay:
classSnitSoft {
static double amount = 5.95;
public static void main(String args[>) {
amount = amount + 25.00;
System.out.print("We will bill $");
System.out.print(amount);
System.out.println(" to your credit card.");
}
}
You can’t do the same thing with assignment statements:
//This does not compile:
classBadSnitSoftCode {
static double amount;
amount = 5.95; //Misplaced statement
public static void main(String args[>) {
amount = amount + 25.00;
System.out.print("We will bill $");
System.out.print(amount);
System.out.println(" to your credit card.");
}
}
You can’t drag statements outside of methods. (Even though a variable declaration ends with a semicolon, a variable declaration isn’t considered to be a statement. Go figure!)
Notice how the word static
was added to each declaration that was pulled out of the main
method. This was done because the main
method’s header has the word static
in it. Not all methods are static. In fact, most methods aren’t static. But whenever you pull a declaration out of a static
method, you have to add the word static
at the beginning of the declaration.
Combining variable declarations in Java
This code has only one variable (as if variables are in short supply). You can get the same effect with several variables:classSnitSoftNew {
public static void main(String args[>) {
doubleflashDrivePrice;
doubleshippingAndHandling;
double total;
flashDrivePrice = 5.95;
shippingAndHandling = 25.00;
total = flashDrivePrice + shippingAndHandling;
System.out.print("We will bill $");
System.out.print(total);
System.out.println(" to your credit card.");
}
}
The new code has three declarations — one for each of the program’s three variables. Because all three variables have the same type (the type double
), you can modify the code and declare all three variables in one fell swoop:
doubleflashDrivePrice, shippingAndHandling, total;
Which is better — one declaration or three declarations? Neither is better. It’s a matter of personal style.
You can even add initializations to a combined declaration. When you do, each initialization applies to only one variable. For example, with the line
doubleflashDrivePrice, shippingAndHandling = 25.00, total;
the value of shippingAndHandling
becomes 25.00
, but the variables flashDrivePrice
and total
get no particular value.