1. Trang chủ
  2. » Công Nghệ Thông Tin

Chapter 3 Decision Structures

99 7 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Decision Structures
Định dạng
Số trang 99
Dung lượng 705,76 KB
File đính kèm Chapter 3 - Decision Structures.rar (624 KB)

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Weekly Report Chapter 3 Decision Structures 1 Contents 1 The if Statement 2 The if else Statement 3 The if else if Statement 4 Nested if Statement 5 Logical Operators 6 Comparing String Objects 7 More.

Trang 1

Chapter 3

Decision Structures

1

Trang 2

1 The if Statement

2 The if-else Statement

3 The if-else-if Statement

4 Nested if Statement

5 Logical Operators

6 Comparing String Objects

7 More about Variable Declaration and

Scope

2

Trang 3

Contents (Cont’d)

8 The Conditional Operators

9 The Switch Statement

10.Creating Objects with the

DecimalFormat Class

11.The printf Method

3

Trang 4

1 The if Statement

 Problem:

 Write a program to calculate user’s

average of 3 test scores If the average is greater than 95, the program congratulates the users on obtaining a high score.

4

Trang 5

1 The if Statement (Cont’d)

5

Trang 6

1 The if Statement (Cont’d)

6

Trang 7

1 The if Statement (Cont’d)

 Simple decision structure logic

7

Trang 8

1 The if Statement (Cont’d)

if(BooleanExpression)

statement;

The BooleanExpression must be a boolean

expression

 A boolean expression is either true or false

If the BooleanExpression is true, the very

next statement is executed Otherwise, it is

skipped.

The statement is conditionally executed because

it only executes under the condition that the

expression in the parentheses is true.

8

Trang 9

Using Relational Operators to Form Conditions

 Typically, the boolean expression is

formed with a relational operator (binary operator.

>= Greater than or equal to

<= Less than or equal to

!= Not equal to

Trang 10

Using Relational Operators to Form Conditions (Cont’d)

 Assuming that a is 4, b is 6, and c is

Trang 11

Programming Style and the if Statement

 Two important style rules

 The conditionally executed statement should appear on the line after the if statement.

 The conditionally executed statement should

be indented on level from the if statement.

if(value>32)

System.out.println(“Invalid number”);

if(value>32) System.out.println(“Invalid number”);

11

Trang 12

Be Careful with Semicolons

Trang 13

Multiple Conditionally Executed Statements

 Enclosing a group of statements by

braces

if(sales > 5000) {

Trang 14

Comparing Characters

 Using the relational operators to test

character data as well as number

 Assuming ch is a char variable:

 Compare ch to the character ‘A’:

if(ch==‘A’)

System.out.println(“The letter is A.”);

 Compare the ch is not equal to ‘A’:

if(ch!=‘A’)

System.out.println(“Not the letter is A.”);

14

Trang 15

Comparing Characters

(Cont’d)

 In Unicode, letters are arranged in

alphabetic order:

 ‘A’ comes before ‘B’, the numeric code of

‘A’ (65) is less than the code of ‘B’ (66).

 ‘A’ < ‘B’ true

 In Unicode, the uppercase letters

come before the lowercase letter

15

Trang 16

2 The if-else statement

Trang 17

2 The if-else statement

17

Trang 19

2 The if-else statement

19

Trang 20

Logic of the if-else

Statement

20

Trang 21

Logic of the if-else

Statement (Cont’d)

 The if-else statement will execute

one group of statement if its booleanexpression is true, or another group

if its boolean expression is false

Trang 22

3 The if-else-if

Statement

 Problem

 Write a program to ask the user to enter a

numeric test score Display a letter grade (A,

B, C, D, or F) for the score.

Trang 25

Logic of the if-else-if

Statement

25

Logic of the

if-else-if Statement

Trang 26

3 The if-else-if

Statement

 The if-else-if statement is a chain of if-else

statements Each statement in the chain performs its test until one of the tests is found to be true.

if(BooleanExpression)

statement or block else if(BooleanExpression)

Trang 27

4 Nested if Statement

 Write a Java program to determine

whether a bank customer qualifies for a

loan To qualify, a customer must earn at least $30,000 per year, and must have

been on his or her current job for at least two years.

27

Trang 28

4 Nested if Statement

 Input

 User’s annual salary

 Number of years at the current job

28

Trang 31

4 Nested if Statement

(Cont’d)

 An if statement appears inside

another if statement, it is considered nested

 The rule for matching else clauses

with if clauses is this:

 An else clause goes with the closet

previous if clause that doesn’t already

have its own else clause.

31

Trang 32

Alignment of if and else

clauses

32

Trang 33

5 Logical Operators

 Logical operators connect two or more

relational expressions into one or

reverse the logic of an expression

Trang 34

5 Logical Operators (Cont’d)

34

Operator Meaning Effect

&& AND Connects two boolean expression into one

Both expressions must be true for the overall expression to be true.

|| OR Connects two boolean expression into one

One or both expressions must be true for the overall expression to be true It is only necessary for one to be true, and it does not matter which one.

! NOT Reverses the truth of a boolean expression

If it is applied to an expression that is true, the operator returns false If it is applied to

an expression that is false, the operator return true.

Trang 35

5 Logical Operators (Cont’d)

Trang 36

The && Operator

 The && performs short-circuit evaluation

 If the expression on the left side of the &&

operator is false, the expression on the right side will not be checked.

36

true true true

true false false false true false false false false

Trang 37

The && Operator (Cont’d)

 A different version of the

LoanQualifier program

37

Trang 39

The || Operator

 The || performs short-circuit evaluation

 If the expression on the left side of the ||

operator is true, the expression on the right side will not be checked.

39

true true true true false true false true true

false false false

Trang 40

The || Operator

 Write a Java program to determine

whether a bank customer qualifies for a

loan To qualify, a customer must earn at least $30,000 per year, OR must have

been on his or her current job for at least two years.

40

Trang 41

The || Operator (Cont’d)

 Input

 User’s annual salary

 Number of years at the current job

41

Trang 42

A Better Solution

42

Trang 45

The Precedence and Associativity

of Logical Operators

 The logical operators have orders of

precedence and associativity.

 The precedence of the logical operators, from

Trang 46

The Precedence and Associativity

of Logical Operators (Cont’d)

 The && and || operators rank lower in precedence than

the relational operators

Trang 47

The Precedence and Associativity

of Logical Operators (Cont’d)

Trang 48

Checking Numeric Ranges

with Logical Operators

 Determining whether a numeric value

is within a specific range of values

 Using the && operator

x >= 20 && x <= 40

 Determining whether a numeric value

is outside a specific range of values

 Using the || operator

Trang 49

6 Comparing String Objects

 We cannot use relational operators to

compare String objects Instead we must use a String method

String name1 = “Marks”;

String name2 = “Mary”;

because the variables name1 and

name2 reference different objects

49

Trang 50

6 Comparing String Objects

if(name1 == name2)

50

Trang 51

6 Comparing String Objects

 To compare the contents of two

String objects correctly using the method equals of String class

if(name1.equal(name2))

 The equals method returns true if they are the same, or false if they are not the same.

51

Trang 53

6 Comparing String Objects

 Comparing String objects to string

Trang 54

6 Comparing String Objects

 The compareTo method of the

String class

 To determine whether one string is greater than, equal to, or less than another string.

StringReference is a variable that

references a String object, OtherString is

either another variable that references a String object or a string literal.

54

Trang 55

6 Comparing String Objects

 If the method’s return value

 < 0 : the string referenced by

StringReference is less than the

OtherString argument

 0 : The two strings are equal.

 > 0 : the string referenced by

StringReference is greater than the

OtherString argument

55

Trang 56

6 Comparing String Objects

56

Trang 57

6 Comparing String Objects

 String comparison of “Mary” and

“Mark”

 The character ‘y’ is greater than ‘k’, so

“Mary” is greater than “Mark”.

57

Trang 58

Ignore Case in String

Comparisons

methods perform case sensitive

comparisons In other words, “A” is

not the same as “a”

 The String class provides the

Trang 63

7 More about Variable

Declaration and Scope

 The scope of a variable is limited to the

block in which it is declared.

 It is a common practice to declare all of a

method’s local variables at the beginning

of the method, it is possible to declare

them at later points.

 Sometimes programmers declare certain

variables near the part of the program where they are used in order to make their purpose more evident.

63

Trang 64

7 More about Variable

Declaration and Scope

 A local variable’s scope always

 starts at the variable’s declaration

 ends at the closing brace of the block of code in which it is declared.

64

Trang 65

7 More about Variable

Declaration and Scope

65

Trang 66

The Conditional Operator

 The conditional operator (a ternary

operator) is used to create short

expressions that work like if-else

statements.

Expression1 ? Expression2 : Expression3

Exprerssion1 is a boolean expression

If Expression1 is true, then

Expression2 is executed Otherwise

Expression3 is executed.

66

Trang 67

The Conditional Operator

Trang 68

The Conditional Operator

Trang 69

Using the Value of a

Conditional Expression

 The conditional expression also returns

a value

If Expression1 is true, the value of

the conditional expression is the value

of Expression2 Otherwise it is the value of Expression3.

number = x > 100 ? 20 : 50;

69

Trang 70

Using the Value of a Conditional Expression (Cont’d)

Trang 71

Using the Value of a Conditional Expression (Cont’d)

System.out.println(“Your grade is: “ +

(score < 60 ? “Fail” : “Pass”));

Trang 72

7 The switch Statement

 The switch statement lets the value of

a variable or expression determine where the program will branch to.

 The if-else-if statement allows the

program to branch into one of several

possible paths It tests a series of

boolean expressions, and branches if

one of those expression is true.

72

Trang 73

7 The switch Statement

(Cont’d)

 The switch statement tests the value

of an integer or character expression and then uses that value to determine which set of statements to branch to

73

Trang 74

7 The switch Statement

Trang 75

7 The switch Statement

(Cont’d)

The SwitchExpression is an expression that

must result in a value of one of these types:

char, byte, short, or int.

The CaseExpression is a literal or a final

variable which must be of the char, byte,

short, or int types.

The CaseExpressions of each case statement

must be unique.

 The default section is optional If we leave it

out, the program will have nowhere to branch to

if the SwitchExpression doesn’t match any of

CaseExpressions.

75

Trang 76

7 The switch Statement

(Cont’d)

if(SwitchExpression == CaseExpression1)

// place statement here

else if(SwitchExpression == CaseExpression2)

// place statement here

// else if statements may be repeated

// as many times as necessary

else

// place statement here

76

Trang 77

7 The switch Statement

(Cont’d)

77

Trang 79

7 The switch Statement

(Cont’d)

 The case statements show where to start

executing in the block and the break

statements show the program where to stop

 Without break statements, the program

would execute all of the lines from the

matching case statement to the end of the block.

 The default section (or the last case

section if there is no default) does not need a break statement

79

Trang 80

Without break Statement

 Without break statement, the

program falls through all the

statements below the one with the

matching case expression

80

Trang 81

Without break Statement

81

Trang 83

Without break Statement !

 Write a program that asks the user to

select a grade of pet food The

available choices are A, B, and C The program will recognize either

uppercase or lowercase letters

83

Trang 84

Without break Statement

84

Trang 86

10 Creating Objects with the DecimalFormat class

 DecimalFormat class can be used to

format the appearance of floating-point numbers rounded to a specified number

of decimal places.

 In Java, a value of the double type can

be displayed with as many as 15 decimal places, and a value of float type can

be displayed with up to 6 decimal places.

86

Trang 87

10 Creating Objects with the

DecimalFormat class (Cont’d)

double number;

number = 10.0/6;

System.out.println(number);

1.666666666666667

 How to control the number of decimal

places that are displayed ?

87

Trang 88

10 Creating Objects with the

DecimalFormat class (Cont’d)

 Using the DecimalFormat class

perform any necessary setup operations.

88

constructor

format pattern

Trang 89

10 Creating Objects with the

DecimalFormat class (Cont’d)

 #: specifies that a digit should be displayed if

it is present If there is no digit in this

position, no digit should be displayed.

 0: specifies that a digit should be displayed in

this position if it is present If there is no digit

in this position, a 0 should be displayed.

89

Trang 90

90

Trang 91

91

Trang 92

92

Trang 93

 Formatting numbers as percentages

 Writing the % character at the last position

in the format pattern This causes a

number to be multiplied by 100, and the % character is appended to its end.

93

Trang 94

94

Trang 95

The printf Method

allows you to format output in a

variety of ways

System.out.printf(FormatString, ArgumentList)

95

contains text and/or special formatting specifiers.

is a list of zero

or more additional arguments.

Trang 96

Format Specifiers

 %d : For a decimal integer

int hours = 40;

System.out.printf(“I worked %d hours this week.\n”, hours);

I worked 40 hours this week.

int dogs = 2;

int cats = 4;

System.out.printf(“We have %d dogs and %d cats.\n”, dogs, cats);

We have 4 dogs and 2 cats.

96

Trang 97

Format Specifiers

 %nd : the number should be printed in a

field that is n places wide.

System.out.printf(“The value is %2d.\n”, number);

The value is97654.

97

Trang 99

Format Specifiers

double nunber = 1253874.92714;

System.out.printf(“The value is %,.2f.\n”, number);

The value is 1,253,874.93.

 %s : To print a string argument

String name = “Ringo”;

System.out.printf(“My name is %s.\n”, name);

My name is Ringo.

String name = “Ringo”;

System.out.printf(“My name is %10s.\n”, name);

My name is Ringo.

99

Ngày đăng: 27/09/2022, 22:14

TỪ KHÓA LIÊN QUAN