java程序设计与问题解决 基础篇_Java程序设计与问题解决:基础篇(英文版·第4版)...

CHAPTER 1 Introduction to Computers and Java 3

Objectives 4

Prerequisites 4

1.1 Computer Basics 5

Hardware and Memory 5

Programs 7

Programming Languages and Compilers 9

Java Byte-Code 10

Class Loader 12

1.2 Designing Programs 13

Object-Oriented Programming 13

Encapsulation 14

Polymorphism 15

Inheritance 16

If You Know Some Other Programming Language 17

Algorithms 17

Reusable Components 18

Testing and Debugging 19

1.3 A Sip of Java 21

History of the Java Language 21

Applets 22

A First Java Application Program 22

Compiling a Java Program or Class 27

Running a Java Program 29

1.4 Graphics Supplement (Optional) 29

Objects and Methods 30

A Sample Graphics Applet 30

Size and Positions of Figures 33

Drawing Arcs 36

Running an Applet 36

Chapter Summary 39

Answers to Self-Test Questions 40

Programming Projects 42

CHAPTER 2 Primitive Types, Strings, and Console I/O 45

Objectives 46

Prerequisites 46

2.1 Primitive Types and Expressions 47

Variables 47

Java Identifiers 51

Primitive Types 52

Assignment Statements 53

Specialized Assignment Operators 55

Simple Screen Output 56

Simple Input 56

Number Constants 58

Assignment Compatibilities 59

Type Casting 61

Programming Tip: Initialize Variables 63

Arithmetic Operators 66

Parentheses and Precedence Rules 67

Case Study: Vending Machine Change 69

Increment and Decrement Operators 74

More about the Increment and Decrement Operators 75

2.2 The Class String 76

String Constants and Variables 76

Concatenation of Strings 77

Classes 78

String Methods 79

String Processing 83

Escape Characters 84

The Unicode Character Set 85

2.3 Keyboard and Screen I/O 87

Screen Output 87

Keyboard Input 90

2.4 Documentation and Style 98

Programming Tip: Use Meaningful Names for Variables 99

Documentation and Comments 99

Indenting 102

Named Constants 102

2.5 Graphics Supplement (Optional) 106

Programming Example: Style Rules Applied to a Graphics Applet 106

JOptionPane 106

Inputting Other Numeric Types 115

Programming Example: Change-Making Program with

Windowing I/O 117

Chapter Summary 120

Answers to Self-Test Questions 120

Programming Projects 125

CHAPTER 3 F1ow of Contro1 129

Objectives 1:30

Prerequisites 130

3.1 Branching Statements 130

The if-eIse Statement 130

Introduction to Boolean Expressions 134

Programming Tip: Alphabetical Order 139

Nested Statements and Compound Statements 142

Multibranch if-e1se Statements 145

Programming Example: Assigning Letter Grades 146

The switch Statement 149

The Conditional Operator (Optional)153

3.2 Java Loop Statements 155

whi1e Statements 156

The do-whi1e Statement 160

Programming Example: Bug Infestation 164

The for Statement 168

The Commaint:or Statements (Optional) 172

The break Statement in Loops 175

The exit Method 177

3.3 Programming with Loops 179

The Loop Body 179

Initializing Statements 181

Ending a Loop 182

Programming Example: Nested Loops 183

Programming Tip: Avoid Declaring Variables in a Loop Body 184

Loop Bugs 184

Tracing Variables 188

3.4 The Type boolean 189

Boolean Expressions and Boolean Variables 190

Programming Tip: Naming Boolean Variables 191

Precedence Rules 192

Input and Output of Boolean Values 195

Case Study: Using a Boolean Variable to End a Loop 195

3.5 Graphics Supplement (Optional) 199

Specifying a Drawing Color 199

Programming Example: A Multiface Applet 203

The drawString Method 208

A JOpti onPane Yes/No Window 209

Chapter Summary 211

Answers to Self-Test Questions 211

Programming Projects 217

CHAPTER 4 Defining Classes and Methods 221

Objectives 222

Prerequisites 222

4.1 Class and Method Definitions 222

Class Files and Separate Compilation 224

Instance Variables 225

Using Methods 228

void Method Definitions 231

Methods That Return a Value 233

The this Parameter 238

Local Variables 240

Blocks 242

Parameters of a Primitive Type 243

Summary of Class and Method Definition Syntax 249

4.2 Information Hiding and Encapsulation 250

Information Hiding 250

Programming Tip: Parameter Names Are Local to the Method 251

Precondition and Postcondition Comments 251

The public and private Modifiers 254

Programming Tip: Instance Variables Should Be pr-irate 257

Programming Example: A Purchase Class 261

Encapsulation 265

Automatic Documentation with javadoc 268

UML Class Diagrams 268

4.3 Objects and Reference 270

Variables of a Class Type and Objects 270

Programming Example: A Species Class 279

Boolean-Valued Methods 282

Class Parameters 284

Comparing Class Parameters and Primitive-Type Parameters 287

4.4 Graphics Supplement (Optional) 291

The G raphi cs Class 291

Programming Example: Multiple Faces Redone with

a Helping Method 294

The init Method 298

Adding Labels to an Applet 298

Chapter Summary 302

Answers to Self-Test Questions 303

Programming Projects 310

CHAPTER 5 More About Objects and Methods 315

Objectives 316

Prerequisites 316

5.1 Programming with Methods 317

Methods Calling Methods 317

Programming Tip: Make Helping Methods Private 323

5.2 Static Methods and Static Variables 326

Static Methods 326

Static Variables (Optional) 332

The Math Class 334

Tnteger, Double, and Other Wrapper Classes 337

5.3 Designing Methods 343

Case Study: Formatting Output 343

Top-Down Design 348

Testing Methods 350

5.4 Overloading 352

Overloading Basics 352

Programming Example: A Pet Class 355

Programming Example: A Class for Money 363

5.5 Constructors 369

Defining Constructors 370

Programming Tip: You Can Use Other Methods in a Constructor 378

5.6 Information Hiding Revisited 380

5.7 Packages 384

Packages and Importing 384

Package Names and Directories 385

Name Clashes 388

5.8 Graphics Supplement (Optional) 389

Programming Tip: Code Appearance and Actions Separately 389

Adding Buttons 390

Event-Driven Programming 391

Programming Example: A Complete Button Applet 391

Programming Buttons 392

Icons 399

Changing Visibility 401

Programming Example: An Example of Changing

Visibility 4Ol

What's Next 405

Chapter Summary 405

Answers to Self-Test Questions 406

Programming projects 412

CHAPTER 6 Arrays 417

Objectives 418

Prerequisites 418

6.1 Array Basics 419

Creating and Accessing Arrays 419

Array Details 420

Programming Tip: Use Singular Array Names 424

The 1ength Instance Variable 425

Programming Tip: Use a fo r Loop to Step Through an Array 427

Initializing Arrays 429

6.2 Arrays in Classes and Methods 430

Case Study: Sales Report 430

Indexed Variables as Method Arguments 438

Entire Arrays as Method Arguments 440

Arguments for the Method mai n 441

Methods That Return Arrays 446

6.3 Programming with Arrays and Classes 449

Programming Example: A Specialized List Class 450

Partially Filled Arrays 457

Searching an Array 457

6.4 Sorting Arrays 460

Selection Sort 460

Other Sorting Algorithms 465

6.5 Multidimensional Arrays 465

Multidimensional-Array Basics 467

Multidimensional-Array Parameters and Returned Values 470

Implementation of Multidimensional Arrays 471

Ragged Arrays (Optional) 475

Programming Example: Employee Time Records 476

6.6 Graphics Supplement (Optional) 482

Graphics Supplement Part 1: Text Areas and Text Fields 483

Programming Example: A Question-and-Answer Applet 483

JTextArea and JTextField Objects 483

Graphics Supplement Part 2: Drawing Polygons 487

Drawing Polygons 487

Chapter Summary 491

Answers to Self-Test Questions 492

Programming Projects 4:9 7

CHAPTER 7 Inheritance 501

Objectives 502

Prerequisites 502

7.1 Inheritance Basics 502

Programming Example: A Person Class 503

Derived Classes 504

Overriding Method Definitions 507

Overriding Versus Overloading 508

The final Modifier 508

Programming Tip: Assume That Your Coworkers Are Malicious 510

UML Inheritance Diagrams 510

7.2 Programming with Inheritance 513

Constructors in Derived Classes 513

The this Method (Optional) 514

Call to an Overridden Method 515

Programming Example: Multilevel Derived Classes 516

A Subtle Point About Overloading and Overriding (Optional)521

Programming Tip: An Object Can Have More than One Type 522

Programming Tip: "Is a" and "Has a" Relations 525

The Class Object 526

Case Study: Character Graphics 528

Abstract Classes 538

Interfaces 542

7.3 Dynamic Binding and Polymorphism 544

Dynamic Binding 544

Type Checking and Dynamic Binding 546

Dynamic Binding with to String 547

Polymorphism 548

7.4 Graphics Supplement (Optional) 551

The Class J Applet 551

The Class 21 Frame 552

Window Events and Window Listeners 555

The Action kistener Interface 556

Programming Example: Happy Face as a J Frame 557

What To Do Next 558

Chapter Summary 559

Answers to Self-Test Questions 559

Programming Projects 565

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值