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 |