if (amount <= balance)
balance = balance - amount;
if (amount <= balance)
balance = balance - amount;
else
balance = balance - OVERDRAFT_PENALTY;
if (amount <= balance)
{
double newBalance = balance - amount;
balance = newBalance;
}
Example:
Purpose:To execute a statement when a condition is true or false |
Example:
Purpose:To group several statements together to form a single statement |
| Java |
Math Notation |
Description |
| > |
> |
Greater than |
| >= |
≥ |
Greater than or equal |
| < |
< |
Less than |
| <= |
≤ |
Less than or equal |
| == |
= |
Equal |
| != |
≠ |
Not equal |
double r = Math.sqrt(2);
double d = r * r -2;
if (d == 0)
System.out.println(
"sqrt(2)squared minus 2 is 0");
else
System.out.println(
"sqrt(2)squared minus 2 is not 0 but " + d);
| 1 | /** |
| 2 | A class that describes the effects of an earthquake. |
| 3 | */ |
| 4 | public class Earthquake |
| 5 | { |
| 6 | /** |
| 7 | Constructs an Earthquake object. |
| 8 | @param magnitude the magnitude on the Richter scale |
| 9 | */ |
| 10 | public Earthquake(double magnitude) |
| 11 | { |
| 12 | richter = magnitude; |
| 13 | } |
| 14 | |
| 15 | /** |
| 16 | Gets a description of the effect of the earthquake. |
| 17 | @return the description of the effect |
| 18 | */ |
| 19 | public String getDescription() |
| 20 | { |
| 21 | String r; |
| 22 | if (richter >= 8.0) |
| 23 | r = "Most structures fall"; |
| 24 | else if (richter >= 7.0) |
| 25 | r = "Many buildings destroyed"; |
| 26 | else if (richter >= 6.0) |
| 27 | r = "Many buildings considerably damaged, some collapse"; |
| 28 | else if (richter >= 4.5) |
| 29 | r = "Damage to poorly constructed buildings"; |
| 30 | else if (richter >= 3.5) |
| 31 | r = "Felt by many people, no destruction"; |
| 32 | else if (richter >= 0) |
| 33 | r = "Generally not felt by people"; |
| 34 | else |
| 35 | r = "Negative numbers are not valid"; |
| 36 | return r; |
| 37 | } |
| 38 | |
| 39 | private double richter; |
| 40 | } |
| 1 | import javax.swing.JOptionPane; |
| 2 | |
| 3 | /** |
| 4 | A class to test the Earthquake class. |
| 5 | */ |
| 6 | public class EarthquakeTest |
| 7 | { |
| 8 | public static void main(String[] args) |
| 9 | { |
| 10 | String input = JOptionPane.showInputDialog( |
| 11 | "Enter a magnitude on the Richter scale:"); |
| 12 | double magnitude = Double.parseDouble(input); |
| 13 | Earthquake quake = new Earthquake(magnitude); |
| 14 | System.out.println(quake.getDescription()); |
| 15 | System.exit(0); |
| 16 | } |
| 17 | } |
if (condition1)
{
if (condition1a)
statement1a;
else
statement1b;
}
else
statement2;
If your filing status is Single
| If the taxable income is over |
But not over |
The tax is |
Of the amount over |
| $0 |
$21,450 |
15% |
$0 |
| $21,450 |
$51,900 |
$3,217.50 + 28% |
$21,450 |
| $51,900 |
$11,743.50 + 31% |
$51,900 |
If your filing status is Married
| If the taxable income is over |
But not over |
The tax is |
Of the amount over |
| $0 |
$35,800 |
15% |
$0 |
| $35,800 |
$86,500 |
$5,370.00 + 28% |
$35,800 |
| $86,500 |
$19,566.00 + 31% |
$86,500 |
| 1 | /** |
| 2 | A tax return of a taxpayer in 1992. |
| 3 | */ |
| 4 | class TaxReturn |
| 5 | { |
| 6 | /** |
| 7 | Constructs a TaxReturn object for a given income and |
| 8 | marital status. |
| 9 | @param anIncome the taxpayer income |
| 10 | @param aStatus either SINGLE or MARRIED |
| 11 | */ |
| 12 | public TaxReturn(double anIncome, int aStatus) |
| 13 | { |
| 14 | income = anIncome; |
| 15 | status = aStatus; |
| 16 | } |
| 17 | |
| 18 | public double getTax() |
| 19 | { |
| 20 | double tax = 0; |
| 21 | |
| 22 | if (status == SINGLE) |
| 23 | { |
| 24 | if (income <= SINGLE_CUTOFF1) |
| 25 | tax = RATE1 * income; |
| 26 | else if (income <= SINGLE_CUTOFF2) |
| 27 | tax = SINGLE_BASE2 |
| 28 | + RATE2 * (income - SINGLE_CUTOFF1); |
| 29 | else |
| 30 | tax = SINGLE_BASE3 |
| 31 | + RATE3 * (income - SINGLE_CUTOFF2); |
| 32 | } |
| 33 | else |
| 34 | { |
| 35 | if (income <= MARRIED_CUTOFF1) |
| 36 | tax = RATE1 * income; |
| 37 | else if (income <= MARRIED_CUTOFF2) |
| 38 | tax = MARRIED_BASE2 |
| 39 | + RATE2 * (income - MARRIED_CUTOFF1); |
| 40 | else |
| 41 | tax = MARRIED_BASE3 |
| 42 | + RATE3 * (income - MARRIED_CUTOFF2); |
| 43 | } |
| 44 | |
| 45 | return tax; |
| 46 | } |
| 47 | |
| 48 | public static final int SINGLE = 1; |
| 49 | public static final int MARRIED = 2; |
| 50 | |
| 51 | private static final double RATE1 = 0.15; |
| 52 | private static final double RATE2 = 0.28; |
| 53 | private static final double RATE3 = 0.31; |
| 54 | |
| 55 | private static final double SINGLE_CUTOFF1 = 21450; |
| 56 | private static final double SINGLE_CUTOFF2 = 51900; |
| 57 | |
| 58 | private static final double SINGLE_BASE2 = 3217.50; |
| 59 | private static final double SINGLE_BASE3 = 11743.50; |
| 60 | private static final double MARRIED_CUTOFF1 = 35800; |
| 61 | private static final double MARRIED_CUTOFF2 = 86500; |
| 62 | |
| 63 | private static final double MARRIED_BASE2 = 5370; |
| 64 | private static final double MARRIED_BASE3 = 19566; |
| 65 | |
| 66 | private double income; |
| 67 | private int status; |
| 68 | } |
| 1 | import javax.swing.JOptionPane; |
| 2 | |
| 3 | /** |
| 4 | A class to test the TaxReturn class. |
| 5 | */ |
| 6 | public class TaxReturnTest |
| 7 | { |
| 8 | public static void main(String[] args) |
| 9 | { |
| 10 | String input = JOptionPane.showInputDialog( |
| 11 | "Please enter your income:"); |
| 12 | double income = Double.parseDouble(input); |
| 13 | |
| 14 | input = JOptionPane.showInputDialog( |
| 15 | "Please enter S (single) or M (married)"); |
| 16 | int status = 0; |
| 17 | |
| 18 | if (input.equalsIgnoreCase("S")) |
| 19 | status = TaxReturn.SINGLE; |
| 20 | else if (input.equalsIgnoreCase("M")) |
| 21 | status = TaxReturn.MARRIED; |
| 22 | else |
| 23 | { |
| 24 | System.out.println("Bad input."); |
| 25 | System.exit(0); |
| 26 | } |
| 27 | |
| 28 | TaxReturn aTaxReturn = new TaxReturn(income, status); |
| 29 | |
| 30 | System.out.println("The tax is " |
| 31 | + aTaxReturn.getTax()); |
| 32 | |
| 33 | System.exit(0); |
| 34 | } |
| 35 | } |
| A |
B |
A && B |
| true |
true |
true |
| true |
false |
false |
| false |
Any |
false |
| A |
B |
A || B |
| true |
Any |
true |
| false |
true |
true |
| false |
false |
false |
| A |
! A |
| true |
false |
| false |
true |