100% found this document useful (1 vote)
20 views61 pages

Beginning Programming With Java For Dummies 6th Edition Barry Burd PDF Download

Beginning Programming with Java For Dummies, 6th Edition by Barry Burd is a comprehensive guide for beginners to learn Java programming. The book covers essential topics such as setting up the development environment, writing code, and understanding Java concepts like variables, loops, and object-oriented programming. It aims to equip readers with the skills needed to create their own Java programs and applications.

Uploaded by

hfxmdxb869
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
20 views61 pages

Beginning Programming With Java For Dummies 6th Edition Barry Burd PDF Download

Beginning Programming with Java For Dummies, 6th Edition by Barry Burd is a comprehensive guide for beginners to learn Java programming. The book covers essential topics such as setting up the development environment, writing code, and understanding Java concepts like variables, loops, and object-oriented programming. It aims to equip readers with the skills needed to create their own Java programs and applications.

Uploaded by

hfxmdxb869
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 61

Beginning Programming with Java For Dummies 6th

Edition Barry Burd download pdf

https://ebookmass.com/product/beginning-programming-with-java-for-
dummies-6th-edition-barry-burd/

Visit ebookmass.com today to download the complete set of


ebook or textbook!
Here are some recommended products for you. Click the link to
download, or explore more at ebookmass.com

Java For Dummies 8th Edition Barry Burd

https://ebookmass.com/product/java-for-dummies-8th-edition-barry-burd/

Learning Java: Beginning programming with java for dummies


Bach

https://ebookmass.com/product/learning-java-beginning-programming-
with-java-for-dummies-bach/

Beginning Programming with Python For Dummies 3rd Edition


John Paul Mueller

https://ebookmass.com/product/beginning-programming-with-python-for-
dummies-3rd-edition-john-paul-mueller/

Excel VBA Programming For Dummies 6th Edition Dick


Kusleika

https://ebookmass.com/product/excel-vba-programming-for-dummies-6th-
edition-dick-kusleika/
ARTHRITIS FOR DUMMIES. 3rd Edition Barry Fox

https://ebookmass.com/product/arthritis-for-dummies-3rd-edition-barry-
fox/

Java Programming 9th Edition Joyce Farrell

https://ebookmass.com/product/java-programming-9th-edition-joyce-
farrell/

Hacking For Dummies (For Dummies (Computer/Tech)) 7th


Edition Beaver

https://ebookmass.com/product/hacking-for-dummies-for-dummies-
computer-tech-7th-edition-beaver/

Introduction to Programming with Java: A Problem Solving


Approach 3rd Edition John Dean

https://ebookmass.com/product/introduction-to-programming-with-java-a-
problem-solving-approach-3rd-edition-john-dean/

(eTextbook PDF) for Murach’s Java Programming 5th Edition


by Joel Murach

https://ebookmass.com/product/etextbook-pdf-for-murachs-java-
programming-5th-edition-by-joel-murach/
1.12 in 7.375 x 9.25 in

6th Edition

Create your own programs and apps in Java ! ®

Beginning Programming with Java For Dummies gives you a step-by-step guide 6th Edition
for learning how to code in Java, one of the most popular programming
languages in the world. This friendly and straightforward guide starts
you off with beginner activities, such as setting up your computer and
Beginning Programming

Beginning Programming
walking through the development environment, but it doesn’t stop there.

with Java
It continues exploring activities like creating your first program, debugging
and compiling, and more. You’ll no longer be a Java beginner with this book!
®

with Java
• Learn the elements of a Java program Barry Burd, PhD holds an MS
in Computer Science from Rut-
• Type and run your own code gers University and a PhD in
®
• Program using IntelliJ IDEA ­Mathematics from the ­University

®
of Illinois. Barry is the author of
• Explore variables, values, and types numerous For Dummies books,
including Java For Dummies and
• Write code to make decisions and Learn basic programming
Beginning Programming with Java
run loops For Dummies. concepts and methods
• Use methods to write good code
• Create programs with objects Build a foundation of code
and classes before writing your own program
Cover Image: © Anees Alangadan/
Shutterstock; kowalskichal/Shutterstock

Explore the new features


in Java 17

Computers/Programming Languages/Java
$29.99 USA/$35.99 CAN/£21.99 UK

Barry Burd, PhD


Java Champion and author of
Burd Java For Dummies
Beginning
Programming
with Java
®

0005193789.INDD i Trim size: 7.375 in × 9.25 in August 19, 2021 4:09 PM


0005193789.INDD ii Trim size: 7.375 in × 9.25 in August 19, 2021 4:09 PM
Beginning
Programming
with Java
®

6th Edition

by Barry Burd

0005193789.INDD iii Trim size: 7.375 in × 9.25 in August 19, 2021 4:09 PM
Beginning Programming with Java® For Dummies®, 6th Edition
Published by: John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030-5774, www.wiley.com

Copyright © 2021 by John Wiley & Sons, Inc., Hoboken, New Jersey

Published simultaneously in Canada

No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any
means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections
107 or 108 of the 1976 United States Copyright Act, without the prior written permission of the Publisher. Requests to
the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River
Street, Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008, or online at http://www.wiley.com/go/permissions.

Trademarks: Wiley, For Dummies, the Dummies Man logo, Dummies.com, Making Everything Easier, and related
trade dress are trademarks or registered trademarks of John Wiley & Sons, Inc. and may not be used without written
permission. Java is a registered trademark of Oracle America, Inc. All other trademarks are the property of their
respective owners. John Wiley & Sons, Inc. is not associated with any product or vendor mentioned in this book.

LIMIT OF LIABILITY/DISCLAIMER OF WARRANTY: THE PUBLISHER AND THE AUTHOR MAKE NO


REPRESENTATIONS OR WARRANTIES WITH RESPECT TO THE ACCURACY OR COMPLETENESS OF THE CONTENTS
OF THIS WORK AND SPECIFICALLY DISCLAIM ALL WARRANTIES, INCLUDING WITHOUT LIMITATION WARRANTIES
OF FITNESS FOR A PARTICULAR PURPOSE. NO WARRANTY MAY BE CREATED OR EXTENDED BY SALES OR
PROMOTIONAL MATERIALS. THE ADVICE AND STRATEGIES CONTAINED HEREIN MAY NOT BE SUITABLE FOR
EVERY SITUATION. THIS WORK IS SOLD WITH THE UNDERSTANDING THAT THE PUBLISHER IS NOT ENGAGED
IN RENDERING LEGAL, ACCOUNTING, OR OTHER PROFESSIONAL SERVICES. IF PROFESSIONAL ASSISTANCE IS
REQUIRED, THE SERVICES OF A COMPETENT PROFESSIONAL PERSON SHOULD BE SOUGHT. NEITHER THE
PUBLISHER NOR THE AUTHOR SHALL BE LIABLE FOR DAMAGES ARISING HEREFROM. THE FACT THAT AN
ORGANIZATION OR WEBSITE IS REFERRED TO IN THIS WORK AS A CITATION AND/OR A POTENTIAL SOURCE OF
FURTHER INFORMATION DOES NOT MEAN THAT THE AUTHOR OR THE PUBLISHER ENDORSES THE INFORMATION
THE ORGANIZATION OR WEBSITE MAY PROVIDE OR RECOMMENDATIONS IT MAY MAKE. FURTHER, READERS
SHOULD BE AWARE THAT INTERNET WEBSITES LISTED IN THIS WORK MAY HAVE CHANGED OR DISAPPEARED
BETWEEN WHEN THIS WORK WAS WRITTEN AND WHEN IT IS READ.

For general information on our other products and services, please contact our Customer Care Department within
the U.S. at 877-762-2974, outside the U.S. at 317-572-3993, or fax 317-572-4002. For technical support, please visit
https://hub.wiley.com/community/support/dummies.

Wiley publishes in a variety of print and electronic formats and by print-on-demand. Some material included with
standard print versions of this book may not be included in e-books or in print-on-demand. If this book refers to
media such as a CD or DVD that is not included in the version you purchased, you may download this material at
http://booksupport.wiley.com. For more information about Wiley products, visit www.wiley.com.

Library of Congress Control Number: 2021944241

ISBN: 978-1-119-80691-2; 978-1-119-80692-9 (ebk); 978-1-119-80693-6 (ebk)

0005193789.INDD iv Trim size: 7.375 in × 9.25 in August 19, 2021 4:09 PM
Contents at a Glance
Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

Part 1: Getting Started with Java Programming . . . . . . . . . . . . . . 5


CHAPTER 1: The Big Picture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
CHAPTER 2: Setting Up Your Computer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
CHAPTER 3: Running Programs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

Part 2: Writing Your Own Java Programs. . . . . . . . . . . . . . . . . . . . . . 71


CHAPTER 4: Exploring the Parts of a Program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
CHAPTER 5: Composing a Program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
CHAPTER 6: Using the Building Blocks: Variables, Values, and Types. . . . . . . . . . . . 127
CHAPTER 7: Numbers and Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
CHAPTER 8: Numbers? Who Needs Numbers?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

Part 3: Controlling the Flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197


CHAPTER 9: Forks in the Road . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
CHAPTER 10: Which Way Did He Go?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

CHAPTER 11: Around and Around It Goes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251

CHAPTER 12: Circling Back to Java Loops. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275

Part 4: The Inside ScOOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293


CHAPTER 13: Programming with Objects and Classes. . . . . . . . . . . . . . . . . . . . . . . . . . 295
CHAPTER 14: Using Methods and Fields from a Java Class. . . . . . . . . . . . . . . . . . . . . . 315
CHAPTER 15: Creating New Java Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347

Part 5: Smart Java Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375


CHAPTER 16: Piles of Files: Dealing with Information Overload. . . . . . . . . . . . . . . . . . 377
CHAPTER 17: How to Flick a Virtual Switch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
CHAPTER 18: Creating Loops within Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423

CHAPTER 19: Out of Many, One. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443

CHAPTER 20: Oooey-GUI Was a Worm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477

Part 6: The Part of Tens. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503


CHAPTER 21: Ten Useful Classes in the Java API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
CHAPTER 22: Ten Bits of Advice for New Software Developers. . . . . . . . . . . . . . . . . . 511

Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517

TOC.indd v Trim size: 7.375 in × 9.25 in August 19, 2021 6:09 PM
TOC.indd vi Trim size: 7.375 in × 9.25 in August 19, 2021 6:09 PM
Table of Contents
INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
About This Book. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Foolish Assumptions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Icons Used in This Book. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Beyond the Book. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Where to Go from Here. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

PART 1: GETTING STARTED WITH


JAVA PROGRAMMING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
CHAPTER 1: The Big Picture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

What’s It All About?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7


Telling a computer what to do. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Pick your poison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
From Your Mind to the Computer’s Processor. . . . . . . . . . . . . . . . . . . . 10
Translating your code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Running code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Code you can use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Your Java Programming Toolset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
A tool for creating code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
What’s already on your hard drive? . . . . . . . . . . . . . . . . . . . . . . . . . . 19

CHAPTER 2: Setting Up Your Computer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21


Let’s Get Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Firing up IntelliJ IDEA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Installing Java. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
If You Need More Details . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Shining light on filename extensions. . . . . . . . . . . . . . . . . . . . . . . . . 31
Dealing with a Mac’s security features. . . . . . . . . . . . . . . . . . . . . . . . 32
Using IntelliJ IDEA with finesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Help! My course instructor doesn’t want me to use
IntelliJ IDEA! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Downloading Java without IntelliJ IDEA . . . . . . . . . . . . . . . . . . . . . . . 35
A bit of news about bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
The Java smorgasbord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Getting the documentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
What’s Next?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Table of Contents vii

TOC.indd vii Trim size: 7.375 in × 9.25 in August 19, 2021 6:09 PM
CHAPTER 3: Running Programs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Running a Canned Java Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Getting the code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Adding the code to IntelliJ IDEA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Running the code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52
Some Programs Don’t Come in Cans. . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
What’s All That Stuff in the IntelliJ IDEA Window?. . . . . . . . . . . . . . . . . . 61
Starting up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
The main window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

PART 2: WRITING YOUR OWN JAVA PROGRAMS. . . . . . . . . . . . 71


CHAPTER 4: Exploring the Parts of a Program. . . . . . . . . . . . . . . . . . . . . . 73

Checking Out Java Code for the First Time . . . . . . . . . . . . . . . . . . . . . . . 73


Behold! A program!. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
What the program’s lines say. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
The Elements in a Java Program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Keywords and their close cousins. . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Identifiers that you or I can define. . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Identifiers with agreed-upon meanings. . . . . . . . . . . . . . . . . . . . . . . 80
Literals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Punctuation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Understanding a Simple Java Program . . . . . . . . . . . . . . . . . . . . . . . . . . 85
What is a method?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
The main method in a program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
At Last! Tell the computer to do something!. . . . . . . . . . . . . . . . . . . 89
Methods, methods everywhere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
The Java class. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

CHAPTER 5: Composing a Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95


Computers Are Stupid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Building an Echo Chamber. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Typing and running a program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
How the EchoLine program works. . . . . . . . . . . . . . . . . . . . . . . . . . 100
Getting numbers, words, and other things. . . . . . . . . . . . . . . . . . . 102
Make IntelliJ Do All the Work. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Expecting the Unexpected. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Diagnosing a problem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Misspelling words (and other missteps) . . . . . . . . . . . . . . . . . . . . . 118
Runtime error messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
What problem? I don’t see a problem . . . . . . . . . . . . . . . . . . . . . . . 121

viii Beginning Programming with Java For Dummies

TOC.indd viii Trim size: 7.375 in × 9.25 in August 19, 2021 6:09 PM
CHAPTER 6: Using the Building Blocks: Variables, Values,
and Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Various Variables and Ways in Which They Vary . . . . . . . . . . . . . . . . . 128
Using a variable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Understanding assignment statements. . . . . . . . . . . . . . . . . . . . . . 130
To wrap or not to wrap?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
What Do All Those Zeros and Ones Mean?. . . . . . . . . . . . . . . . . . . . . . 132
Types and declarations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
What’s the point?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Reading Decimal Numbers from the Keyboard. . . . . . . . . . . . . . . . . . 135
Though these be methods, yet there is madness in’t . . . . . . . . . . 136
Methods and assignments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Variations on a Theme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
If it looks like a double and smells like a double . . .. . . . . . . . . . . . 139
Moving variables from place to place. . . . . . . . . . . . . . . . . . . . . . . . 141
Combining variable declarations. . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Experimenting with JShell. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

CHAPTER 7: Numbers and Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149


Using Whole Numbers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Reading whole numbers from the keyboard . . . . . . . . . . . . . . . . . 151
What you read is what you get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Creating New Values by Applying Operators . . . . . . . . . . . . . . . . . . . . 154
Finding a remainder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Take control of your program’s output . . . . . . . . . . . . . . . . . . . . . . 157
The increment and decrement operators. . . . . . . . . . . . . . . . . . . . 162
Assignment operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Size Matters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

CHAPTER 8: Numbers? Who Needs Numbers? . . . . . . . . . . . . . . . . . . . 173


A Brief Character Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
I digress . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
One character only, please. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177
Variables and recycling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
When not to reuse a variable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Reading characters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
The Moment of Truth (and Falsehood) . . . . . . . . . . . . . . . . . . . . . . . . . 185
Expressions and conditions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Comparing numbers; comparing characters . . . . . . . . . . . . . . . . . 187
The Remaining Primitive Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

Table of Contents ix

TOC.indd ix Trim size: 7.375 in × 9.25 in August 19, 2021 6:09 PM
Visit https://ebookmass.com today to explore
a vast collection of ebooks across various
genres, available in popular formats like
PDF, EPUB, and MOBI, fully compatible with
all devices. Enjoy a seamless reading
experience and effortlessly download high-
quality materials in just a few simple steps.
Plus, don’t miss out on exciting offers that
let you access a wealth of knowledge at the
best prices!
PART 3: CONTROLLING THE FLOW. . . . . . . . . . . . . . . . . . . . . . . . . . . 197
CHAPTER 9: Forks in the Road. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199

Decisions, Decisions!. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200


Making Decisions (Java if Statements). . . . . . . . . . . . . . . . . . . . . . . . . . 201
A careful look at if statements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
A complete program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
A treatise on the importance of helpful indentation. . . . . . . . . . . 209
Variations on the Theme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
. . . or else what? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Packing more stuff into an if statement. . . . . . . . . . . . . . . . . . . . . . 213
Some handy import declarations. . . . . . . . . . . . . . . . . . . . . . . . . . . 215

CHAPTER 10: Which Way Did He Go?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219


Forming Bigger and Better Conditions. . . . . . . . . . . . . . . . . . . . . . . . . . 219
Combining conditions: An example . . . . . . . . . . . . . . . . . . . . . . . . . 222
When to initialize?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
More and more conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
A condition always reveals its secrets . . . . . . . . . . . . . . . . . . . . . . . 227
Mixing different logical operators together. . . . . . . . . . . . . . . . . . . 229
The mating calls of left and right parentheses. . . . . . . . . . . . . . . . 231
Building a Nest. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
The best of the nest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Cascading if statements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Enumerating the Possibilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Creating an enum type. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Using an enum type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
When One Line Isn’t Enough. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Escape to the \next li\ne o\n the scree\n. . . . . . . . . . . . . . . . . . . . . 244
More escapism. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246

CHAPTER 11: Around and Around It Goes. . . . . . . . . . . . . . . . . . . . . . . . . . . 251


Repeating Instructions Again and Again and Again and Again. . . . . . 252
Following the action in a loop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
No early bailout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Where Does Each Statement Belong? . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Finding some pieces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Assembling the pieces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Getting values for variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
From infinity to affinity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Priming the Pump. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Working on the problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Fixing the problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271

x Beginning Programming with Java For Dummies

TOC.indd x Trim size: 7.375 in × 9.25 in August 19, 2021 6:09 PM
CHAPTER 12: Circling Back to Java Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Repeating Statements a Certain Number of Times (Java for
Statements) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Esprit de for. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Initializing a for loop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Shut up and chew!. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Repeating Until You Get What You Need (Java do Statements). . . . . 284
Holding out for a trustworthy response . . . . . . . . . . . . . . . . . . . . . 285
Deleting a file. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Taming of the do. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Repeat performance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290

PART 4: THE INSIDE SCOOP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293


CHAPTER 13: Programming with Objects and Classes. . . . . . . . . . . . 295

The Class Is Always Cleaner. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296


Reference types and Java classes. . . . . . . . . . . . . . . . . . . . . . . . . . . 297
How to use a newly defined class. . . . . . . . . . . . . . . . . . . . . . . . . . . 298
What’s going on here?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Why bother?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
From Classes Come Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Understanding (or ignoring) the subtleties. . . . . . . . . . . . . . . . . . . 303
Making reference to an object’s parts . . . . . . . . . . . . . . . . . . . . . . . 304
Creating several objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
If it looks like a Purchase and smells like a Purchase . . .. . . . . . . . 307
Another Way to Think about Classes. . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Classes, objects, and tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Some questions and answers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
What’s Next?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311

CHAPTER 14: Using Methods and Fields from a Java Class. . . . . . . 315
Long Live the String!. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
A simple example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Putting String variables to good use. . . . . . . . . . . . . . . . . . . . . . . . . 317
Reading and writing strings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Using an Object’s Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Comparing strings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
The truth about classes and methods. . . . . . . . . . . . . . . . . . . . . . . 324
Calling an object’s methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Combining and using data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
How to Achieve Static Equilibrium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Calling static and nonstatic methods. . . . . . . . . . . . . . . . . . . . . . . . 328
Turning strings into numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Turning numbers into strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332

Table of Contents xi

TOC.indd xi Trim size: 7.375 in × 9.25 in August 19, 2021 6:09 PM
Turning numbers into nice looking strings. . . . . . . . . . . . . . . . . . . 334
Your country; your currency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
The View from On High. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .335
Unravelling Java’s import declarations. . . . . . . . . . . . . . . . . . . . . . . 336
Shedding light on the static darkness . . . . . . . . . . . . . . . . . . . . . . . 338
Barry makes good on an age-old promise. . . . . . . . . . . . . . . . . . . . 339

CHAPTER 15: Creating New Java Methods. . . . . . . . . . . . . . . . . . . . . . . . . . 347


Defining a Method within a Class. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Making a method. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Examining the method’s header. . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
Examining the method’s body. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
Calling the method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
Following the flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Using punctuation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Combining characters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Let the Objects Do the Work. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Passing the Buck. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Handing off a value. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Working with a method header. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Using each object’s field values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Passing more than one parameter. . . . . . . . . . . . . . . . . . . . . . . . . . 364
Getting a Value from a Method. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Return on an investment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
How return types and return values work. . . . . . . . . . . . . . . . . . . . 368
Working with the method header (again) . . . . . . . . . . . . . . . . . . . . 370
What Next?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373

PART 5: SMART JAVA TECHNIQUES . . . . . . . . . . . . . . . . . . . . . . . . . . 375


CHAPTER 16: Piles of Files: Dealing with Information

Overload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Running a Disk-Oriented Program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Reading and writing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Messing with files on your hard drive . . . . . . . . . . . . . . . . . . . . . . . 382
Running disk-oriented code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
File and error. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
Writing a Disk-Oriented Program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
Reading from a file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Writing to a file. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Writing, Rewriting, and Re-Rewriting . . . . . . . . . . . . . . . . . . . . . . . . . . . 397

xii Beginning Programming with Java For Dummies

TOC.indd xii Trim size: 7.375 in × 9.25 in August 19, 2021 6:09 PM
CHAPTER 17: How to Flick a Virtual Switch. . . . . . . . . . . . . . . . . . . . . . . . . 401
Meet the switch Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
Anatomy of a switch statement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
Picky details about the switch statement . . . . . . . . . . . . . . . . . . . . 405
A Switch in Time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
Dissecting the switch expression . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
Can you switch between two kinds of switch? . . . . . . . . . . . . . . . . 411
Your Grandparents’ switch Statement. . . . . . . . . . . . . . . . . . . . . . . . . . 416
Using a Conditional Operator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420

CHAPTER 18: Creating Loops within Loops . . . . . . . . . . . . . . . . . . . . . . . . . 423


Paying Your Old Code a Little Visit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
Reworking some existing code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
Running your code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
Nested Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
Checking for the end of a file. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
How it feels to be a computer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
Why the computer accidentally pushes past the
end of the file. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
Loop therapy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
Using Nested for Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437

CHAPTER 19: Out of Many, One. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443


Some Loops in Action. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
Deciding on a loop’s limit at runtime. . . . . . . . . . . . . . . . . . . . . . . . 445
Using all kinds of conditions in a for loop. . . . . . . . . . . . . . . . . . . . 448
Reader, Meet Arrays; Arrays, Meet the Reader. . . . . . . . . . . . . . . . . . . 450
Storing values in an array. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
Creating a report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
Stuffing values into an array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
Working with Arrays. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
Looping in Style. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
When Good Arrays Go Bad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468
What to Do When Arrays Go Awry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
Using an ArrayList. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
Java’s many collection classes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474

CHAPTER 20: Oooey-GUI Was a Worm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477


Put Some Swing in Your Step. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
The merry window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .479
A class act. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
Constructor calls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
A division of labor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
Frame changer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487

Table of Contents xiii

TOC.indd xiii Trim size: 7.375 in × 9.25 in August 19, 2021 6:09 PM
Drag-and-Drop for GUI Greatness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
Hello, GUI Designer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
Window dressing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
Taking action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498

PART 6: THE PART OF TENS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503


CHAPTER 21: Ten Useful Classes in the Java API. . . . . . . . . . . . . . . . . . . 505

ArrayList. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
Integer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
JFrame. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
JOptionPane. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
Math . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
NumberFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
Scanner. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
String. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
System. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509

CHAPTER 22: Ten Bits of Advice for New


Software Developers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
How Long Does It Take to Learn Java?. . . . . . . . . . . . . . . . . . . . . . . . . . 512
Which of Barry’s Books Should I Read? . . . . . . . . . . . . . . . . . . . . . . . . . 512
Are Books Other than Barry’s Good for Learning Java and
Android Development?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
Which Computer Programming Language(s) Should I Learn? . . . . . . 513
What Skills Other than Computer Coding Should I Learn?. . . . . . . . . 513
How Should I Continue My Learning as a Software Developer?. . . . .514
How Else Should I Continue My Learning as a Developer?. . . . . . . . . 514
How Can I Get a Job Developing Software?. . . . . . . . . . . . . . . . . . . . . . 515
I Still Don’t Know What to Do with My Life. . . . . . . . . . . . . . . . . . . . . . . 515
If I Have Other Questions, How Can I Contact Barry Burd? . . . . . . . . 516

INDEX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517

xiv Beginning Programming with Java For Dummies

TOC.indd xiv Trim size: 7.375 in × 9.25 in August 19, 2021 6:09 PM
Introduction
W hat’s your story?

»» Are you a working stiff, interested in knowing more about the way your
company’s computers work?

»» Are you a student who needs to complete some extra reading in order to
survive a beginning computer course?

»» Are you a typical computer user — you’ve done lots of word processing and
you want to do something more interesting with your computer?

»» Are you a job seeker with an interest in entering the fast-paced, glamorous,
high-profile world of computer programming (or, at least, the decent-paying
world of computer programming)?

Well, if you want to write computer programs, this book is for you. This book
avoids the snobby of-course-you-already-know assumptions and describes com-
puter programming from scratch.

About This Book


The book uses Java — a powerful, general-purpose computer programming
language. But Java’s subtleties and eccentricities aren’t the book’s main focus.
Instead, this book emphasizes a process — the process of creating instructions for
a computer to follow. Many highfalutin books describe the mechanics of this
process — the rules, the conventions, and the formalisms. But those other books
aren’t written for real people. Those books don’t take you from where you are to
where you want to be.

In this book, I assume very little about your experience with computers. As you
read each section, you get to see inside my mind. You see the problems that I face,
the things that I think, and the solutions that I find. Some problems are the kind
that I remember facing when I was a novice; other problems are the kind that I
face as an expert. I help you understand, I help you visualize, and I help you create
solutions on your own. I even get to tell a few funny stories.

Introduction 1

Introduction.indd 1 Trim size: 7.375 in × 9.25 in August 19, 2021 6:10 PM
Foolish Assumptions
In this book, I make a few assumptions about you, the reader. If one of these
assumptions is incorrect, you’re probably okay. If all these assumptions are incor-
rect . . . well, buy the book anyway.

»» I assume that you have access to a computer. Here’s good news. You can
run the code in this book on almost any computer. The only computers you
can’t use to run this code are ancient things that are more than eight years old
(give or take a few years). You can run the latest version of Java on Windows,
Macintosh, and Linux computers.

»» I assume that you can navigate your computer’s common menus and
dialog boxes. You don’t have to be a Windows, Linux, or Macintosh power
user, but you should be able to start a program, find a file, put a file into a
certain directory — that sort of thing. Most of the time, when you practice the
stuff in this book, you’re typing code on your keyboard, not pointing and
clicking the mouse.

On those rare occasions when you need to drag and drop, cut and paste, or
plug and play, I guide you carefully through the steps. But your computer may
be configured in any of several billion ways, and my instructions may not quite
fit your special situation. So, when you reach one of these platform-specific
tasks, try following the steps in this book. If the steps don’t quite fit, send me
an email message or consult a book with instructions tailored to your system.

»» I assume that you can think logically. That’s all there is to computer
programming — thinking logically. If you can think logically, you have it made.
If you don’t believe that you can think logically, read on. You may be pleasantly
surprised.

»» I assume that you know little or nothing about computer programming.


This isn’t one of those all-things-to-all-people books. I don’t please the novice
while I tease the expert. I aim this book specifically toward the novice — the
person who has never programmed a computer or has never felt comfortable
programming a computer. If you’re one of these people, you’re reading the
right book.

Icons Used in This Book


If you could watch me write this book, you’d see me sitting at my computer, talk-
ing to myself. I say each sentence several times in my head. When I have an extra
thought, a side comment, or something that doesn’t belong in the regular stream,

2 Beginning Programming with Java For Dummies

Introduction.indd 2 Trim size: 7.375 in × 9.25 in August 19, 2021 6:10 PM
I twist my head a little bit. That way, whoever’s listening to me (usually nobody)
knows that I’m off on a momentary tangent.

Of course, in print, you can’t see me twisting my head. I need some other way of
setting a side thought in a corner by itself. I do it with icons. When you see a Tip
icon or a Remember icon, you know that I’m taking a quick detour.

Here’s a list of icons that I use in this book:

A tip is an extra piece of information — something helpful that the other books
may forget to tell you.

Everyone makes mistakes. Heaven knows that I’ve made a few in my time. Any-
way, when I think of a mistake that people are especially prone to make, I write
about the mistake in a Warning icon.

Sometimes I want to hire a skywriting airplane crew. “Barry,” says the white
smoky cloud, “if you want to compare two numbers, use the double equal sign.
Please don’t forget to do this.” Because I can’t afford skywriting, I have to settle
for something more modest. I create a paragraph with the Remember icon.

Writing computer code is an activity, and the best way to learn an activity is to
practice it. That’s why I’ve created things for you to try in order to reinforce your
knowledge. Many of these are confidence-builders, but some are a bit more chal-
lenging. When you first start putting things into practice, you discover all kinds of
issues, quandaries, and roadblocks that didn’t occur to you when you started
reading about the material. But that’s a good thing. Keep at it! Don’t become
frustrated. Or, if you do become frustrated, visit this book’s website (http://
beginprog.allmycode.com) for hints and solutions.

Occasionally, I run across a technical tidbit. The tidbit may help you understand
what the people behind the scenes (the people who developed Java) were thinking.
You don’t have to read it, but you may find it useful. You may also find the tidbit
helpful if you plan to read other (more geeky) books about Java.

This icon calls attention to useful material that you can find online. (You don’t
have to wait long to see one of these icons. I use one at the end of this
introduction!)

“If you don’t remember what such-and-such means, see blah-blah-blah,” or


“For more information, read blahbity-blah-blah.”

Introduction 3

Introduction.indd 3 Trim size: 7.375 in × 9.25 in August 19, 2021 6:10 PM
Beyond the Book
In addition to what you’re reading right now, this book comes with a free access-
anywhere Cheat Sheet containing code that you can copy and paste into your own
Java program. To get this Cheat Sheet, simply go to www.dummies.com and type
Beginning Programming with Java For Dummies Cheat Sheet in the Search box.

Where to Go from Here


If you’ve gotten this far, you’re ready to start reading about computer program-
ming. Think of me (the author) as your guide, your host, your personal assistant.
I do everything I can to keep things interesting and, most importantly, help you
understand.

If you like what you read, send me an email, post on my Facebook wall, or give me
a tweet. My email address, which I created just for comments and questions about
this book, is [email protected]. My Facebook page is /allmycode, and
my Twitter handle is @allmycode. And don’t forget: To get the latest information,
visit this book’s support website: http://beginprog.allmycode.com.

4 Beginning Programming with Java For Dummies

Introduction.indd 4 Trim size: 7.375 in × 9.25 in August 19, 2021 6:10 PM
1 Getting
Started
with Java
Programming

Part1.indd 5 Trim size: 7.375 in × 9.25 in August 19, 2021 6:10 PM


Visit https://ebookmass.com today to explore
a vast collection of ebooks across various
genres, available in popular formats like
PDF, EPUB, and MOBI, fully compatible with
all devices. Enjoy a seamless reading
experience and effortlessly download high-
quality materials in just a few simple steps.
Plus, don’t miss out on exciting offers that
let you access a wealth of knowledge at the
best prices!
Exploring the Variety of Random
Documents with Different Content
En ymmärrä Judithia. Se ei paljoa merkitse. On olemassa niin
monta seikkaa, joita minä en ymmärrä; niinpä en ymmärrä sellaisen
älykkään ilveilijän henkistä kantaa, joka kohdistaa elämänsä koko
tarmon nenälle asetetun sauvan tasapainossa pitämiseen. Mutta
minä tiedän, että Judith ymmärtää minut, ja siinäpä tuttavuutemme
viehätys onkin. Hän mittailee ystävyydentunteeni syvyyttä
suorastaan naurettavan tarkasti. Hän on todella verraton nainen. On
monta, jotka tahtovat pitää rauhallista mieltymystä polttavana
intohimona. Judithissa ei ole mitään teatterimaisuutta.

Tänään hän kuitenkin tuntui olevan hiukan kärttyisä ja


hermostunut. Hän keskeytti miellyttävän hiljaisuuden, joka oli
seurannut minulle myönnettyä anteeksiantoa, huutamalla minua
äkkiä nimeltä.

"No?" sanoin minä kysyvästi.

"Minä tahtoisin kertoa sinulle jotakin. Ole hyvä, lupaa minulle,


ettet suutu!"

"Hyvä Judith", sanoin minä, "suuri keisarillinen kaimani, jonka


mietelmät aina ovat suoneet minulle sanomatonta lohdutusta, sanoo
näin: 'Jos jotkut ulkonaiset seikat harmittavat sinua, niin huomaa,
ettei itse asia sinua suututa, vaan sinun käsityksesi siitä, ja tästä voit
heti vapautua, jos tahdot!' Lupaan siis vapautua kaikista niistä
käsityksistä, jotka harmilliset tiedonantosi voivat minussa herättää,
enkä suuttua."

"Ei kukaan ole sanonut niin typeriä asioita kuin Marcus Aurelius",
sanoi Judith suuttuneena.
Minä nauroin. Oli hyvin hauskaa istua tässä tulen edessä, joka
iloisella tavallaan pani vastalauseen pimeän ulkomaailman synkkyyttä
vastaan, ja hiukan kiusata Judithia.

"Sen minä ymmärrän", minä sanoin. "Mies käyttää hyväkseen


filosofian tarjoamaa lohdutusta; nainen turvautuu uskonnon
lohdutukseen."

"Minä en voi tehdä kumpaakaan", vastasi hän ja muutti


asentoaan, tarmokkaasti vetäen hameensa suoraksi. "Jos voisin, niin
en tahtoisi matkustaa tieheni."

"Matkustaa tiehesi?" minä toistin.

"Niin. Et saa suuttua minuun. Minulla ei ole mitään keittäjätärtä


—."

"Ei, sen kyllä saattoi huomata aamiaisesta, jonka tarjosit, rakas


ystävä."

Alkohoolia rakastava keittäjätär oli nimittäin edellisenä iltana


saanut pätkiä tiehensä kimpsuineen, kampsuineen, niin pian kuin
hän oli selvinnyt sen verran, että saattoi pysytellä pystyssä.

"Ja sentähden sopisi matka niin hyvin", jatkoi Judith kiinnittämättä


mitään huomiota kohteliaisuuteeni — ja siinä hän teki aivan oikein;
tuskin olin lausunut sen, kun tulin ajatelleeksi, että hän luultavasti
itse oli käynyt häiritsemässä Tottenham Court Roadin
ruokatavarakauppiaiden sunnuntailepoa hankkiakseen minulle
ruokaa.

"Minä voin ilman muuta sulkea huoneuston. En koskaan ole


onnellinen lontoolaisen sesongin alussa. Tiedän, että olen tyhmä",
jatkoi hän kiireisesti. "Jos voisin sietää kauheaa Marcus Aureliustasi,
olisin kyllä järkevämpi — vuoden muina aikoina en välitä koko
asiasta, mutta sesongin aikana kaikki ihmiset ovat kaupungissa —
sellaiset ihmiset, jotka ennen tunsin ja joiden kanssa seurustelin;
minä tulen heitä vastaan kaduilla, ja he välttelevät minua ja se —
loukkaa minua — ja siksi tahdon matkustaa pois jonnekin, missä
saan olla yksin. Kun väsyn yksinäisyyteen, tulen takaisin."

Omituisen sulavin liikkein, kuten hänen oli tapana, hän laskeutui


polvilleen viereeni ja tarttui käteeni.

"Ole armelias, Marcus, sano, että ymmärrät minua!"

Minä sanoin: "Olen koko iltapäivän käyttäytynyt inhottavan


itsekkäästi,
Judith. Enhän aavistanutkaan. Tietysti ymmärrän."

"Ellet sinä sitä tekisi, olisivat meidän asiamme mahdottomalla


kannalla."

"Ole rauhallinen", sanoin hiljaa ja suutelin hänen kättään.

Minä astuin hänen elämäänsä, kun hän katsoi sen olevan ohitse —
hän oli silloin kaksikymmentäkahdeksan vuotta vanha — ja
kärsivällisesti tyytyi elämään haudattuna pieneen roomalaiseen
täyshoitolaan. Kuinka kauan tätä kärsivällisyyttä olisi kestänyt, sitä
en voi sanoa. Jos olosuhteet olisivat olleet toisenlaiset, mitä silloin
olisi tapahtunut? sellainen kysymys on kaikista kysymyksistä turhin.
Se mikä todella tapahtui oli, että me molemmat tuuliajolla olevat
ihmisraukat jouduimme yhteen ja sitten jatkoimme yhdessäoloa, siitä
yksinkertaisesta syystä, ettei ollut mitään voimia meitä erottamassa.
Hän ei enää välittänyt hitustakaan yhteiskunnan hyväksymisestä;
hyvän maineensa hän jo aikoja sitten oli katsonut olleeksi ja
menneeksi; ja minä, joka olin yksin ja ilman ystäviä harmaassa
maailmassa, miksi minä olisin hylännyt ainoan ystävällisen käden,
joka minulle tarjottiin? Niinkuin iltapäivällä sanoin hänelle:
Minkätähden hyvä Jumala ei meitä hyväksyisi? Sen kohteliaisuuden
olen valmis suomaan hänelle, että luulen häntä jalomieliseksi
Jumalaksi.

Kun minusta yhtäkkiä tuli rikas, huomautti Judith: "Minä olen


iloinen, etten ole vapaa. Jos olisin vapaa, tahtoisit sinä mennä
naimisiin minun kanssani, ja siitä seuraisi vain onnettomuutta."

Miten viisaasti ja järkevästi tuo rakas pieni olento asioita


punnitsee! Kuka olisi pakottanut minua tarjoamaan hänelle avioliittoa
— mutta jos hän olisi suostunut tarjoukseeni, olisi koko juttu vain
johtanut kurjuuteen.

Avioliitossa on kaksi puolta. Toiselta puolen se voi olla


yhteiskunnallinen sopimus, jonka mukaan toinen asianosainen saa
tukea ja turvaa, elatuksen, yhteiskunnallisen aseman ja kaikenlaista
muuta, toinen taas toisenlaisia etuja. Tai sitten avioliitto voi olla
kahden olennon ainoa mahdollinen olemusmuoto, joiden
intohimoinen keskinäinen rakkaus vaatii, että molempien elämät
täydellisesti sulavat yhteen yhdeksi yhteiseksi elämäksi. No — niin
pitkälle minä en koskaan ole joutunut, ja koska minulta puuttuu
temperamenttia (Jumalan kiitos) en luultavasti koskaan joudukaan.
Sitä myrskytuulta, jota sellainen edellyttää, minä pelkään yhtä
suuresti kuin lontoolaista sesonkia tai kuohuavaa merta. Luin kerran
saksalaisella hautausmaalla seuraavan hautakirjoituksen: "Minä
herään, oi Kristus, kun Sinä kutsut minua; mutta anna minun nukkua
kotvasen aikaa, sillä minä olen hyvin väsynyt!" Minusta tuntuu, että
minun itseni ja tuon kuolleen miehen välillä olisi voinut syntyä harras
ystävyys. Hän rakasti niinkuin minäkin viileää hiljaista siimestä,
mutta ei saanut nauttia sitä täällä maan päällä. Minä en ehkä
koskaan saavuta kaihoamaani rauhaa, mutta missään tapauksessa ei
mikään nainen saa mullistaa koko elämääni. Mitä nyt taas sellaiseen
avioliittoon tulee, joka on yhteiskunnallinen sopimus, niin en pyydä
parempaa emännöitsijää kuin Antoinette, ja koska päivällispöytäni
ääressä ei koskaan ole vieraita, ei siinä myöskään tarvita emäntää;
enkä minä tunne mitään erityistä halua kartuttaa ihmiskuntaa. "Jos
lasten hankkiminen maailmaan olisi pelkkä järjen toimitus", sanoo
Schopenhauer, "tokkohan ihmiskunta kauankaan eläisi? Eiköhän
ihminen pikemmin tuntisi niin paljon myötätuntoa tulevaa
sukupolvea kohtaan, että hän säästäisi siltä olemassaolon taakan?
Tai ettei hän ainakaan ottaisi vastuulleen sitä, että kylmäverisesti
laskisi tämän taakan sen hartioille." Jos sovinnaisavioliiton kautta
hankkisin lapsia maailmaan, laskisin kylmäverisesti elämäntaakan
heidän hartioilleen. Olen samaa mieltä kuin Schopenhauer.

Ja miten hirveästi sellainen avioliitto kahlehtisi vapauttani!


Lähimmässä läheisyydessäni — sekä ruumiillisesti että henkisesti —
minulla sadankahdeksankymmenenkuuden tunnin aikana viikossa (ja
jokainen tunti olisi täynnä pakollista velvollisuuksienvaihtoa ja
kaikenlaisia uhrauksia) pitäisi olla olento, joka ei olisi ajatusteni tosi
veli eikä unelmieni sisar — ei, ei koskaan! Ei koskaan maailmassa!

Judith on verraton nainen, mutta hän ei ole minun ajatusteni veli


eikä minun unelmieni sisar; enkä minä hänen.

Mutta se toveruus, jonka hän minulle tarjoaa, on minulle kuin


ruoka ja juoma, ja minun ystävyyteni taas tyydyttää jotakin hänen
luonteensa tarvetta. Ja näin suhteemme tuottaa meille
kumpaisellekin hyötyä.

Avioliitto — jos se yleensä olisi mahdollinen — toisi mukanaan vain


onnettomuutta. Miellyttävää, vapaata, kaikilta myrskyiltä säästyvää
suhdettamme pidämme molemmatkin ihanteellisena.

Minkähän vuoksi hän luuli, että hänen ehdotuksensa matkustaa


pois joksikin aikaa suututtaisi minua.

Siihen ajatukseen sisältyy, että minulla olisi jonkinlainen oikeus


kieltää häntä lähtemästä, ja sellainen käsitys ei minua miellytä.
Kaikista inhottavista tavoista, millä mies voi kohdella naista, on
turkkilaisen pashan tapa inhottavin. Mutta naiset uskovat harvoin,
että miehet pitävät sitä niin vastenmielisenä.

Minä suutelin Judithin valkoista kättä ja pyysin häntä luottamaan


ymmärrykseeni. Silloin hän itki hiukkasen.

"Enhän minä tee elämäsi tietä hankalammaksi, Judith?" minä


kuiskasin.

Hän hillitsi itkunsa, ja hänen silmänsä loistivat ihmeellisesti.

"Sinä? Sinä et muuta tee kuin tasottelet sitä."

"Aivan kuin höyryjyrä", sanoin minä.

Hän nauroi, hypähti seisomaan ja veti minut mukanaan keittiöön


teetä laittamaan. Minä avustin siten, että sytytin kaasukeittiön, jonka
päällä oli kastrulli, missä ei ollut vettä. Sitten sysäsin keittiön pöytää
ja katselin sydän kurkussa, miten Judith leikkasi ohuita leipäviipaleita
naisten tavalliseen kömpelöön tapaan. Kerran, kun kiiltävä terä oli
vaarallisen likellä hänen kättään, pidätin kauhuissani henkeäni.

"Mies ei koskaan menettelisi tuolla tavalla!" huudahdin nuhdellen.

"Tee se sitten omalla tavallasi, ole hyvä", sanoi hän tyynesti ja


ojensi minulle leivän sekä veitsen.

Minä tein sen omalla tavallani ja leikkasin haavan sormeeni.

"Hemmetin veitsi!" minä huudahdin. "Mutta niin se joka


tapauksessa on tehtävä."

Judith ei sanonut mitään, sitoi vain haavani ja alkoi jälleen leikata


leipää. Mutta hänen hymynsä oli kiusoittelevaa.

"Ja koko tällä ajalla", sanoin puoli tuntia myöhemmin, "et ole
maininnut, minne aiot lähteä."

"Parisiin. Aion mennä tervehtimään Delphine Carrèrea."

"Minä olin kuulevinani, että tahdoit olla yksin."

Olen tavannut Delphine Carrèren — kunnon nainen, jos kukaan, ja


maailman uskollisin sielu, ainoa Judithin entisistä ystävättäristä, joka
ei hitustakaan ole välittänyt siitä, että Judith on menettänyt hyvän
maineensa (kuka tiesi, eikö rakas, kultasydäminen Delphine ehkä ole
saman kohtalon alainen!), mutta ei päähäni juuri ole pälkähtänyt,
että Delphinen koti olisi oikea paikka sille, joka haki luostarimaista
yksinäisyyttä ja rauhaa. Mutta Judith selitti asian.

"Delphine maalaa aamusta iltaan ja huvittelee illasta aamuun.


Minä en mitenkään voi häiritä häntä hänen atelierissaan, hänenhän
täytyy olla hyvin ankarassa työssä — enkä taas millään muotoa aio
ottaa osaa hänen huveihinsa. Siten saan olla yöt päivät rauhassa ja
kenenkään häiritsemättä."

En sanonut mitään, mutta olen kuitenkin jokseenkin varma, että


Judith, koska hän on Judith, on ottava osaa iloisen Parisin
huvituksiin. Hän puhuu aivan teeskentelemättä, suoraluontoisempaa
naista ei ole olemassa maan päällä — mutta hän pettää itsensä.
Hänen mietiskeleväinen ja yksinäisyyttä janoava minänsä istui tällä
hetkellä tuolin käsipuulla ja poltti paperossia nauttien
silminnähtävästi niistä antimista, joita tämä maailma tarjoo. Sininen
savu, joka kiemurteli hänen vaaleassa tukassaan, muistutti — sanoin
sen hänelle tyytyväisen miehen veltosti mietiskeleväiseen tapaan —
suitsutusta, joka kohoaa pyhimyksen sädekehän läpi. Hän kysyi
muka levottomana, eivätkö henkilöt kykenisi mahdollisesti
vuotamaan kuiviin veren mukana, jota tuli haavottuneesta
sormestani. Ei, minä olen vakuutettu siitä, että se rauhallinen
yksinäisyys, jonka Delphinen koti tarjoo, on onnellisin
itsensäpettäminen, minkä alaiseksi Judith milloinkaan on antautunut.
Olen iloinen, tavattoman iloinen. Hänen temperamenttinsa vaatii
huvittelua ja iloa, eikä Lontoo sitä hänelle suo.

"Ja milloin sinä matkustat?"

"Huomenna."

"Huomenna?"

"Miksei? Minä sähkötin Delphinelle tänä aamuna. Minun täytyi


mennä ulos ostamaan ruokaa aamiaiseksi (otaksumiseni oli siis
oikea) ja silloin ajattelin, että oli parasta mennä raitiovaunulla
Charing Crossiin lähettämään sähkösanoma."
"Mutta milloin aiot laittaa matkalaukkusi kuntoon?"

"Sen tein eilen illalla. Panin maata kello neljä tänä aamuna. Päätin
matkustaa vasta sen jälkeen, kuin sinä olit mennyt", hän lisäsi
arvaten, mikä seuraava kysymykseni olisi ollut.

Parasta on, ettemme ole naimisissa. Tuollaiset äkilliset päätökset


saattaisivat elämäni kokonaan oikealta tolaltaan. Minun henkinen
ryhtini olisi samanlainen kuin automobiilin tiellä seisovan kanan. Kun
matkustan ulkomaille, tahdon ruveta ajattelemaan sitä ainakin pari
viikkoa aikaisemmin. Täytyy sovittaa mielensä uusiin olosuhteisiin,
tehdä suunnitelmia, miettiä iloja, jotka odottavat, totuttaa
ajatuksensa siihen salaperäisyyteen, joka ympäröi kaikkea
tuntematonta. Sellainen ihminen, joka muutamana kauniina aamuna
herää huoneistossaan Lontoossa, raapii päätään ja sanoo: "Mitä
minä tänään tekisin? Hemmetissä! Minä matkustan Timbuktuun!" on
minun mielestäni selittämätön, käsittämätön olento. Häneltä puuttuu
esteettinen tajunta.

En uskaltanut sanoa Judithille, että häneltä puuttui esteettistä


tajuntaa. Aivan yhtä hyvin olisin voinut syyttää häntä
hopealusikoiden varastamisesta. Sanoin, että olin kaipaava häntä
(kuten epäilemättä olenkin tekevä) ja lupasin kirjoittaa hänelle
kerran viikossa.

"Ja sinulla", minä sanoin, "on varmaankin hyvää aikaa kirjoittaa


minulle: Yksinäisen ja mietteisiin vaipuneen sielun tarina — mutta
menkäämme nyt jonnekin päivällistä syömään."

Kun tulin kotiin, löysin pöydältäni nimikortin. "Sebastian Pasquale."


Olen pahoillani, etten tavannut Pasqualea. En ole nähnyt häntä
pariin kolmeen vuoteen. Hän on miellyttävä nuori mies, jota on
mielenkiintoista tutkia. Minun pitää pian kutsua hänet tänne kotiin
päivälliselle. Täällä on rauhallisempaa kuin klubissa.
III LUKU.

Toukok. 24 p.

Jotakin on tapahtunut. Jotakin tarumaista, käsittämätöntä. Minä


olen sellaisessa mielentilassa, ettei mikään hämmästyttäisi minua.
Jos noita-akka tulisi ratsastaen luudalla avoimen ikkunani kautta ja
pitäisi minulle esitelmän, olisi hänen käyntinsä minun mielestäni
varsin luonnollinen tapahtuma.

Tuntikausia olen kulkenut edestakaisin täällä kirjastossani kysyen


itseltäni, kumpi oli hullu, minä itsekö vai koko maailma. Toisinaan
nauroin, sillä asia on suorastaan naurettava. Toisinaan kirosin ja
sadattelin koko tapahtumaa. Kerran kompastuin muutamaan
Muratorin kirjaan, joka oli lattialla, ja potkasin sen huoneen toiseen
päähän. Sitten otin ylös sen ja itkin turmeltuneita kansia.

Nyt on kysymys: Mitä maailmassa minun pitää tehdä? Miksi Judith


valitsi juuri tämän ajan sulkeakseen huoneistonsa ja mennäkseen
hautautumaan Pariisiin? Miksi asianajajani määräsivät, että minun
juuri tänä aamuna piti kirjottaa nimeni heidän typeriin papereihinsa?
Miksi tulin sinne kolme tuntia liian myöhään? Miksi kävelin pitkin
Thames joen rantaa? Ja miksi, oi miksi istuuduin puutarhapenkille
Kansallis-vapaamielisen Klubin pengermän alapuolelle?

Eilinen päivä oli elämäni rauhallisimpia ja onnellisimpia päiviä.


Kirjotin hyvällä tuulella kirjaani; puhelin Antoinetten kanssa, joka tuli
sisään pyytämään lupaa, että saisi hankkia itselleen kissan.

"Minkälaisen kissan?" minä kysyin.

"Ehkä herra ei pidä kissoista?" kysyi hän levottomana.

"Vanhat egyptiläiset palvelivat kissaa jumalana", huomautin minä.

"Mutta tällä on vain yksi silmä", sanoi hän kiivaasti.

Antoinetten kanssa on turha keskustella.

Iltapäivällä kävelin Regent's Parkissa; siellä tapasin Mc Murrayn


yhdeksänvuotisen pojan, joka oli uskottu sisäkön huostaan. Sisäköllä
oli kavaljeerina pöllöpäinen henkilö, jolla oli päässä kova hattu. Vein
pojan mukanani Zoologiseen puutarhaan. Tiellä hän riemuiten kertoi
minulle, että hänen saksalaisella kotiopettajallaan oli kaula hyvin
kipeänä, niin että hän oli vuoteen omana; ettei hänellä (pojalla) nyt
ollut mitään oppitunteja; että pöllöpäinen kovahattuinen henkilö oli
Millyn sulhanen, ja että saattoi voida aivan pahoin, kun katseli heitä.
Kun poika oli syönyt kaiken, mikä vain oli syötävää, ja ratsastanut
kaikella, minkä selässä vain saattoi ratsastaa, kyyditsin hänet
kotiinsa ja jätin hänet vanhempiensa turviin. Olen mielelläni lapsen
seurassa pari tuntia, kun lapsi on oikein tyytyväinen ja oikein kiltti.
Ja nautintoa lisää kiitollisuus, jota tunnen siitä syystä, ettei lapsi ole
minun, vaan jonkun toisen.
Illalla lueskelin ja mietin onnellista kohtaloani. Kouluvuosien orjuus
oli jo niin kaukana menneisyydessä, että toisinaan ihmettelin, olinko
minä todella ne elänyt. Minulla ei ollut ainoatakaan huolta, ei
ainoatakaan toivomusta, jota en voinut täyttää. Ajattelin Judithia.
Ajattelin Sebastian Pasqualea. Koetin huvikseni keksiä, minkä
renessanssityypin kaltainen Pasquale oli. Tulin siihen päätökseen,
että sellainen tyyppi oli nuori Olgiati, yksi Gian Galeazzo Sforzan
murhaajista. Niistä sadoista englantilaisista nuorukaisista, joiden
kanssa orjuuteni aikana tulin tekemisiin, on hän ainoa, joka mieheksi
tultuaan on hakenut minun seuraani. Ja omituista kyllä me olimme
yhdessä ainoastaan muutaman kuukauden ajan ensimäisenä
opetusvuotenani, hän oli nimittäin kuudennella luokalla ja vain kolme
neljä vuotta minua nuorempi. Hän oli koulun hulluin, omituisin,
pirullisin ja vähitellen suosittu poika. Opettajakunta, joka tietysti ei
voi ihailla mitään muuta kuin sitä, joka on sääntöjen mukaista, inhosi
häntä. Minä yksin tunsin mieltymystä häneen. Luulen nyt, että se
johtui omituisesta rakkaudestani Italian renessanssiaikaan. Mitä
hänen ulkonaisiin olosuhteisiinsa tulee, on hän yhtä englantilainen
kuin minäkin, englantilaisen äidin kasvattama kuten minäkin, mutta
on olemassa tuhansia hindulaisia, jotka ovat enemmän englantilaisia
kuin hän. Herra ja rouva Mc Murray kertoivat minulle kauheita
hänestä tänä iltapäivänä. Hän oli ihastunut kovasydämiseen
wieniläiseen tanssijattareen, houkutellut hänen kuskinsa juomaan
itsensä täysihumalaan, pukeutunut kuskin vaatteisiin ja pimeässä
näytännön jälkeen kyydinnyt kaunottaren jonnekin laitakaupungille.
Mitä siellä oli tapahtunut, sitä ei herrasväki Mc Murray oikein
tietänyt, mutta tietysti se oli synnyttänyt kauhean skandaalin
Wienissä.

Ja kuitenkin: kuulkaapa vain, miten tämä epäjohdonmukainen


elostelija menetteli minun omien silmieni edessä! Me kävelimme
yhdessä pitkin Piccadillyä muutamana iltapäivänä vuonna 1894,
tuona kylmänä talvena. Oli pureva, inhottava pakkanen. Kylmästä
värisevä raukka kaupitteli meille tulitikkuja. Hänen kauheat punaiset
varpaansa pistivät esiin saappaiden rei'istä. "Hyvä Jumala! Hyvä
Jumala!" huudahti Pasquale. "Tätä minä en voi nähdä!" Sitten hän
hypähti ohi menevän ajurin rattaisiin, veti nopeasti jalastaan omat
kenkänsä, heitti ne hämmästyneelle kerjäläiselle ja ajoi kotiin
sukkasillaan. Minä seisoin katukäytävällä ja katselin sekavin tuntein,
miten mies, hartaan katselijajoukon ympäröimänä, mittaili pientä
hienokuosista kengänanturaa isoon jalkaansa, virnistellen pisti
kengät kainaloonsa ja läksi marssimaan lähimpään
panttilainakonttoriin. Jos Pasquale olisi ollut yhtä sääliväinen
englantilainen, olisi hän hiukan harkinnut asiaa ja heittänyt miehelle
rahakolikon. Mutta hänellä ei koskaan ollut aikaa harkita asioita. Hän
on kuudennentoista vuosisadan lapsi, Pasquale. Ja siksi minä pidän
hänestä.

Olin siis eilen maata pannessani onnellisin kaikista luoduista


olennoista. Kun heräsin tänä aamuna, ei omaatuntoani rasittanut
mikään muu taakka kuin käynti asianajajani luona. Aurinko paistoi.
Rastas lauloi iloisesti isossa jalavassa, joka oli vastapäätä
makuuhuoneeni ikkunoita. Puu nauroi ja ravisteli oksiaan aivan kuin
kiemaileva nainen ja sanoi: 'Kas, miten viheriäksi minä olen
muuttunut sunnuntain sateen jälkeen!' Antoinetten silmäpuoli musta
kissa (inhoittava otus) tuli minua vastaan arkihuoneessa, köyristi
selkäänsä ja lausui minut rakastettavasti tervetulleeksi uuteen
kotiinsa. Ja aamiaispöydällä oli yksi kappale Cristofore da Costan
Elogi della Donne Illustri nimisen teoksen ensimäistä painosta. Olin
aivan vaatimattomasti pyytänyt lordi Carnforthilta, jota en ollenkaan
tunne, että saisin silmäillä tätä kirjaa hänen kirjastossaan, ja lordi
Carnforth oli nyt — suurenmoisen kohteliaasti, kuten oppineiden on
tapana — lähettänyt sen minulle vapaasti käytettäväkseni.

Täynnä rauhaa ja hyvää tahtoa koko ihmiskuntaa kohtaan, aivan


kuin olennoitu joulu keskellä toukokuuta, minä tänä aamuna läksin
asianajajani luo. Saavuin sinne noin kolmen aikaan — viivyteltyäni
tiellä useissa kirjakaupoissa ja syötyäni sitä paitsi murkinan. Kirjotin
nimeni heidän käsittämättömiin papereihinsa ja kävelin sitten Temple
Gardensin läpi ja pitkin rantaa. Tultuani Hungerford Bridgen yli
huomasin, että olin väsynyt ja että minulla oli kuuma, ja Victoria
Embankment Gardens houkutteli minua lepäämään. Kävelin pitkin
siimeksistä käytävää, joka on Kansallis-vapaamielisen Klubin
pengermän alapuolella, ja istuuduin mukavalle penkille.
Mustapukuinen nainen istui siinä jo ennestään. Koska mustapukuiset
naiset eivät herätä minussa erikoista mielenkiintoa, en välittänyt sen
enempää tämän naisen läsnäolosta ja vaivuin katselemaan sieviä
kukkassaarekkeita, nurmikkoja, vihreitä puita, jotka estivät
näkemästä joen rumaa Surrey-puolta, sekä Sir Bartle Freren
kuvapatsasta, jonka näin takaapäin. Koska tämä viimeksimainittu ei
ollut mikään erikoisen huvittava näky (kuvapatsas, joka on meihin
selin, on ikävimpiä ilmiöitä, mitä voi ajatella), otin taskustani pienen
ruskeisiin nahkakansiin sidotun kirjan, jonka omistajaksi olin päässyt
maksamalla yhden pennyn: "Uskokien historia, Amsterdamissa
1705." Unohdetun kansan koko historia yhden pennyn hinnasta!

Istuin aivan syventyneenä lukemiseen, kun tunsin, että


käsivarttani nykäistiin — suunnilleen kuin jos huomaamatta jäänyt
koiranpentu raapii käpälällään — ja siten jouduin takaisin
proosalliseen todellisuuteen. Käänsin kiivaasti päätäni ja kohtasin
sulavien, ruskeiden, rukoilevien koiransilmien katseen, mutta ne
silmät eivät olleet minkään koiranpenikan silmät, vaan
mustapukuisen naisen, josta en ollut välittänyt.

"Tahdotteko olla hyvä, sir, ja sanoa minulle, mitä minun pitää


tehdä!"

Minä katsoa tuijotin häneen. Hän ei ollut lainkaan sellainen kuin


miksi hajamielinen katseeni hänet ensin oli arvioinut. Hän oli hyvin
nuori ja hyvin kaunis. Heti ensi hetkellä huomasin hänen silmänsä,
hänen runsaat ruskeat hiuksensa ja lapsellisen, sievän suun. Mutta
hän oli resuisen, ränstyneen ja rappeutuneen näköinen. Se riippui
luultavasti hänen surkeasta puvustaan. Hänen kätensä — hänellä ei
ollut mitään hansikkaita — olivat pesemisen tarpeessa.

"Ainakin voin sanoa teille, mitä niin nuoren tytön kuin teidän ei
pidä tehdä", minä sanoin. "Hänen ei pidä ruveta keskustelemaan
herrojen kanssa julkisissa paikoissa."

"Silloin minun täytyy kuolla", sanoi hän toivottomasti ja siirtyi


minusta jonkun verran loitommaksi.

Hänellä oli sangen pikantti ulkomaalainen ääntämistapa. Katselin


häntä uudelleen tarkemmin ja huomasin, mikä se teki hänet niin
kauhean näköiseksi. Hänellä oli yllään vanha musta puku, joka oli
monin verroin liian iso hänelle. Siellä täällä — mitä
mahdottomimmissa kohdin — se oli kiinnitetty nuppineuloilla, joten
esimerkiksi koristeet — mustaa samettia ja pillihelmiä — olivat
sykerretyt kokoon ihmeelliseksi sekasorroksi. Vaistomaisesti
ymmärsin, että joku keski-ikäinen lihava juutalaisnainen aikoinaan oli
prameillut sillä sunnuntaisin. Solakan tytönvartalon yllä se oli
suorastaan hirvittävän näköinen. Hirvittävä oli myöskin hänen
päähineensä, iso musta hattu, jossa oli kauhea musta taittunut
sulka.

Hänen silmänsä katsoivat minuun soimaavasti ja sitten ne


kääntyivät pois. Sitten hän kohautti olkapäitään ja minä kuulin
pienen päristyksen. Äidilläni oli kerran sisäkkö, joka aina päristi noin,
ennenkuin hän alkoi itkeä. Asemani oli pulmallinen. En voinut istua
liikahtamatta tässä penkillä tuon omituisesti pyntätyn mamsselin
itkiessä; enkä kuolemaksenikaan voinut nousta paikaltani ja mennä
hänen luotaan. Hän katsoi minuun uudestaan. Nuo kyyneliset,
rukoilevat silmät olivat tuskin kuin ihmisen silmät.

Minä antauduin!

"Älkää itkekö! Sanokaa, mitä minä voin tehdä puolestanne",


sanoin minä.

Hän siirtyi pari tuumaa lähemmäs.

"Minä tahtoisin saada käsiini Harryn", hän sanoi. "Minä olen


kadottanut hänet."

"Kuka Harry on?" minä luonnollisesti kysyin.

"Minun tuleva mieheni."

"Mikä muu nimi hänellä on kuin Harry?"

"Sen minä olen unohtanut", sanoi hän ja levitti kaikki sormensa


haralleen.

"Ettekö tunne ketään muuta Lontoossa?" minä kysyin.

Hän pudisti surullisesti päätään. "Ja minun alkaa olla niin nälkä."
Minä huomautin, että Lontoossa on ravintoloita.

"Mutta minulla ei ole yhtään rahaa", lausui hän. "Ei yhtään rahaa
eikä mitään muutakaan paitsi tämä." Hän osoitti pukuaan. "Eikö se
ole ruma?"

"Kaunis se ei suinkaan ole", minä myönsin.

"No, mitä minun pitää tehdä? Sanokaa minulle se, niin minä teen
sen.
Jos ette sano sitä, pitää minun kuolla."

Laskettuaan näin minun hartioilleni koko vastuun


olemassaolostaan, hän tyynesti nojautui taaksepäin. En tiennyt,
kumpaako minun eniten tuli ihailla, hänen erinomaista varmuuttaan
vai sitä järkähtämätöntä tyyneyttä, millä hän odotti kuolemaansa.

"Voin antaa teille vähän rahoja, niin että tulette toimeen pari
päivää", minä sanoin, "mutta miten voin saada käsiini Harryn
tietämättä hänen nimeään, sitä —."

"En minä muuten juuri erikoisesti halua häntä löytääkään", sanoi


hämmästyttävä nuori nainen. "Hän antoi minun olla hytissä koko
ajan, kun olimme laivassa. Ensin minä olin iloinen siitä, sillä laiva
kiikkui ylös ja alas ja toiselta puolelta toiselle, ja minä olin niin kipeä,
että luulin kuolevani; mutta sitten aloin voida paremmin —"

"Mutta mistä te tulitte?" minä keskeytin.

"Alexandrettasta."

"Mitä te siellä teitte?"


"Minä istuin usein puussa ja tirkistelin muurin yli —"

"Minkä muurin?"

"Pihan muurin — kotona isäni luona. Hän ei ollut minun isäni,


mutta hän meni naimisiin äitini kanssa. Minä olen englantilainen."
Tämän hän ilmoitti jonkun verran ylpeästi.

"Todellako?" sanoin minä.

"Kyllä. Isä ja äiti — molemmat englantilaisia. Isä oli varakonsuli.


Hän kuoli, ennenkuin minä synnyin. Silloin hänen ystävänsä Hamdi
Efendi meni naimisiin äitini kanssa. Ymmärrättehän?"

Tunnustin, etten ymmärtänyt.

"Ja missä ja milloin Harry ilmestyy elämäänne?"

Hän katsoi minuun kummastellen. "Missä hän ilmestyy?"

Minä kysyin hiukan toisin sanoin.

"Ahaa", huudahti hän vilkkaammin. "Hän käveli usein muurin


ohitse, ja minä puhelin hänen kanssaan, kun ei kukaan nähnyt. Hän
oli niin kaunis — kauniimpi kuin te", lisäsi hän.

"Onko mahdollista?" sanoin minä pilkallisesti.

"On", vastasi hän vakavasti. "Hänellä oli viikset, mutta hän ei ollut
niin pitkä kuin te."

"No? Te puhelitte Harryn kanssa? Entä sitten?"


Teeskentelemättömään tapaansa hän kertoi. Virkistävä kertomus,
yhtä vanha kuin ristiretket; eurooppalainen valepuku, jonka tuo
kallisarvoinen Harry oli ostanut jostakin romukaupasta, köysi,
yöllinen pako, matkustajaliput englantilaiseen laivaan; ankkuri
nostetaan; ja rakastavaiset ovat vapaina laivan rajotetulla alalla.
Sangen virkistävä juttu! Minä rupesin yhtäkkiä ankaran näköiseksi ja
ammuin häneen kysymyksen aivan kuin kuulan.

"Keksittekö koko tuon jutun — nuori nainen?"

Hän säpsähti aivan pelästyneen näköisenä.

"Te tarkotatte, että minä valehtelen? En suinkaan. Se on aivan


totta.
Miksei se olisi totta? Miten minä muuten olisin tullut tänne?"

Kysymykseen oli mahdoton vastata. Hänen kertomuksensa oli yhtä


kauhea kuin hänen pukunsakin.

Mutta se oli epäilemättä tosi. Katselin häntä kauan suuriin,


viattomiin silmiin. Hän puhui totta. — Hetken ajan hän vielä jatkoi
puheluaan. Ymmärsin, että hänen isäpuolensa, Hamdi Efendi, oli
turkkilainen virkamies. Tyttö oli viettänyt koko elämänsä haaremissa,
josta hän oli paennut kauniin nuoren englantilaisen kanssa.

— "Ja mitä minun nyt pitää tehdä?" kysyi hän toistamiseen.

Minä pyysin, että hän antaisi minun miettiä asiaa. Ei ole tavallista,
että tapaa ryöstettyjä haaremikaunottaria Kansallis-vapaamielisen
klubin terassin alapuolella. Tilanne oli todella pulmallinen. Katselin
ympärilleni. Viimeisten kymmenen minuutin aikana ei näyttänyt
tapahtuneen mitään. Kalpea nuorukainen, joka jo tullessani istui
viereisellä penkillä, istui siinä yhä vieläkin lukien likaista
vaaleanpunaista sanomalehteä. Kyyhkyset ja varpuset hyppelivät
hilpeästi ympärillämme. Rattaillaan, jotka näkyivät lehvistön läpi,
istuivat ajurit vaipuneina hajamieliseen toimettomuuteen.

Minkä ihmeen neuvon minä antaisin hänelle? Parasta olisi, jos


voisimme saada käsiimme kirotun Harryn. Kysyin tytöltä, miten hän
oli kadottanut Harryn näkyvistä. Sain selville, että Harry, joka koko
matkan kestäessä tuskin oli välittänyt hänestä ollenkaan, oli vienyt
hänet maihin Southamptonissa, asettanut hänet istumaan
rautatievaunuun, antanut hänelle ankaran käskyn pysyä paikallaan,
kunnes hän, Harry, tuli häntä noutamaan, ja sitten kadonnut
avaruuteen.

"Antoiko hän teille lipun?"

"Ei."

"Millainen konna!" minä huudahdin.

"Niin, minä en ollenkaan pidä hänestä", sanoi hän.

Miten tytön oli onnistunut päästä pilettientarkastajasta


suoriutumaan, sitä en oikein saanut selville. Epäilemättä hän
uskottavalla tavallaan kertoi miehelle, että lippu oli Harryllä, ja kun
mies ei löytänyt Harrya junasta ja takaisin tullessaan sanoi sen
hänelle, hän varmaankin katseli kyynelisine, rukoilevine silmineen
herkkämielistä nuorukaista, jonka sydän siitä pehmeni. Waterloon
asemalla joku oli sanonut hänelle, että hänen piti nousta junasta —
hän oli ollut yksin vaunussa — ja hän oli nöyrästi totellut. Sitten hän
oli mennyt pois asemalta, kävellyt sillan yli ja tullut tänne puistoon.
Sitten hän oli pyytänyt minua hankkimaan käsiini Harryn. Ja
naurettavinta kaikesta oli, ettei hän tiennyt miehen sukunimeä.

"Nimestä puhuttaessa", sanoin minä, "mikä on teidän nimenne?"

"Carlotta."

"Carlotta mikä?" kysyin minä.

"Ei minulla ole mitään muuta nimeä."

"Oli kai isällänne — varakonsulilla — joku nimi?"

Hän rypisti otsaansa hyvin miettiväisen näköisenä.

"Ramsbotham", sanoi hän vihdoin voitonriemuisena.

"Kuulkaa nyt, neiti Ramsbotham — ei", keskeytin puheeni,


"sellainen puhuttelu on mahdoton, suorastaan naurettava. Minä en
voi käyttää sitä. Minun täytyy nimittää teitä Carlottaksi."

"Mutta minähän olen jo sanonut teille, että nimeni on Carlotta",


hän sanoi viattomasti ja mitään käsittämättä.

"Ja minun nimeni on Sir Marcus Ordeyne. Kun minua puhutellaan,


sanotaan
'Sir Marcus'."

"Seer Marcous", sanoi Carlotta. Paroonillinen arvonimeni


nähtävästi ei tehnyt häneen mitään vaikutusta.

"Aivan niin", minä sanoin. "Nyt, Carlotta, on ensi tehtävämme


etsiä käsiimme Harry. Hän on ehkä tullut liian myöhään junalle ja
saapunut myöhemmässä junassa ja juoksentelee nyt ehkä sinne
tänne Waterloon asemalla etsien teitä. Ellemme näe häntä siellä,
ajan teidän kanssanne turkkilaiseen konsulinvirastoon, jätän teidät
sinne, ja he saavat toimittaa teidät takaisin Alexandrettaan. Kunnon
Hamdi Efendi on epäilemättä aivan suunniltaan ja ottaa teidät
vastaan avosylin."

Aikomukseni oli olla ystävällinen ja auttavainen.

Hän nousi seisomaan, hänen kasvonsa muuttuivat kalman


kalpeiksi, hänen suuret silmänsä lensivät selkoselälleen, hän aukaisi
lapsensuunsa, ja keskellä puistoa hän lankesi polvilleen minun eteeni
ja liitti kätensä ristiin päänsä ylitse.

"Herran tähden, nouskaa seisomaan!" huusin minä ja koetin vetää


hänet ylös penkille takaisin. "Ette saa käyttäytyä noin. Jos teette
sen, alkaa pian koko Lontoo töllistellä meitä."

Kalpea nuori mies oli todella tytön käytöksen vaikutuksesta


herännyt velttoudentilastaan sen verran, että oli laskenut likaisen
vaaleanpunaisen sanomalehtensä polvilleen. Tartuin Carlottan
ranteisiin. Tyttö alotti sekavan valitusvirren.

"Ette saa lähettää minua takaisin — Hamdi tappaa minut — voi,


olkaa hyvä älkääkä lähettäkö minua kotiin — hän pakottaa minut
menemään naimisiin ystävänsä Mustaphan kanssa — Mustaphalla on
vain kaksi hammasta — ja hän on seitsemänkymmentä vuotta vanha
— ja hänellä on jo yksi vaimo — minä seurasin Harrya vain
päästäkseni Mustaphasta. Hamdi tappaisi minut, hän löisi minua,
hän naittaisi minut Mustaphalle."

Sen verran ymmärsin hänen puheestaan. Hän oli pelosta aivan


suunniltaan.
"Mutta Turkin konsuli on teidän luonnollinen suojelijanne", sanoin
minä.

"Te ette voi olla niin hirveän julma", hän nyyhkytti, ja hän pyöritteli
"r"-äännettä niin sulosointuisesti kurkussaan, että hänen
syytöksensä tuntui kahta järkyttävämmältä. Hän käänsi onnettomat
silmänsä minuun.

Lieneeköhän koskaan ollut olemassa niin hullua ihmistä kuin minä?

Minä vannon kunniani kautta, etten jättäisi häntä Turkin


konsulinviraston huostaan.

Otin ajurin ja ajoin hänen kanssaan Waterloon asemalle. Tiellä hän


muistutti minulle, että hänen oli nälkä. Annoin hänen syödä aseman
ravintolassa. Hän antautui innokkaasti syömään kovaksi keitettyjä
munia ja juomaan limonaadia. Näytti siltä, kuin ei hän olisi
paljoakaan välittänyt Harrystä, hän jutteli vain minun kanssani
ravintolan sisustuksesta. Oluthana näytti huvittavan häntä
tavattomasti. Minun täytyi tilata lasillinen, jotta hän saisi nähdä,
miten hana toimi, ja hän purskahti äänekkääseen nauruun. Siistin
näköinen, mutta mielikuvitusta vailla oleva tyttö, joka seisoi tiskin
takana, tuijotti häneen hämmästyneenä. Muut läsnäolijat tuijottivat
myöskin.

Olin iloinen, kun sain pelastautua asemasillalle.

Sinne seurasi meitä kuitenkin joukko tyhjäntoimittajia, jotka


asettuivat piiriin ympärillemme, kun pysähdyimme puhumaan erään
rautatienvirkamiehen kanssa. Kaunis pronssitukkainen
kirkassilmäinen nuori nainen kauheassa puvussaan — en milloinkaan
ole nähnyt taitetun mustan sulan kiikkuvan kamalammalla tavalla —
oli todella hämmästyttävä näky. Ja minun läsnäoloni lisäsi ehkä
kummastusta. Minä olen pitkä, laiha ja ruma, sen minä tiedän; mutta
lohdutukseni on, että olen moitteettoman ja kunnioitettavan
näköinen. Meistä molemmista minä ehdottomasti olin se, jota yleinen
huomio enemmän kiusasi. Rauhallisesti ja välinpitämättömästi tyttö
vastasi kansanjoukon katseisiin ja näytti olevan hiukan harmissaan
siitä, että niin innokkaasti koetin saada Harryn käsiini. Juuri kun
vakavasti neuvottelin asemapäällikön kanssa, pyysi Carlotta minulta
pennyn, jonka hän voisi pistää karamelliautomaattiin, niinkuin hän oli
nähnyt erään pojan menestyksellisesti tekevän. Minä kielsin lyhyesti
ja käännyin taas asemapäällikön puoleen. Kaikuva naurunrähähdys
keskeytti minut. Carlotta oli ojennetuin käsin ja rukoilevin silmin
pyytänyt poikaa luopumaan tahmeasta karamellipalasesta ja oli nyt
juuri pistämäisillään sen omaan suuhunsa.

"Tulen takaisin huomisaamuna", sanoin kiireisesti asemapäällikölle.


"Jos kyseessä oleva herra saapuisi sillä aikaa, niin pyytäkää häntä
ilmottamaan nimensä ja osotteensa!"

Sitten otin Carlottaa käsivarresta, ja henkivartijajoukkoni


ympäröimänä vein hänet pois ja viskasin hänet ensimäisiin
ajurinrattaisiin, jotka tapasin.

Harrystä ei ollut jälkeä, ei merkkiä. Ei mikään ihana nuori mies


tallustellut alakuloisena asemalla. Ei kukaan ollut epätoivoisena
kysynyt virkamiehiltä eksynyttä naista, joka oli puettuna huonoon
mustaan pukuun. Ei ollut mitään Harrya. Oli siis turha kauemmin
tarjota yleisölle vapaanäytäntöä.

"Ajakaa", sanoin ajurille. "Ajakaa hemmetissä!"

"Minne?"
Minä jäin istumaan suu auki. Minne me ajaisimme? Minulta meni
pää pyörälle.

"Ajakaa vain eteenpäin, kunnes minä käsken teitä pysähtymään!"

Filosofinen kuski ei näyttänyt pitävän minua omituisena, hän


läimäytti ilomielin koniaan piiskalla. Kun olimme ajaneet jyrkkää
katua alas ja päässeet inhottavan aseman läheisyydestä, hengitin
vapaammin ja aloin koota ajatuksiani. Carlotta imi tahmaisia
peukaloitaan ja kuivasi ne hameeseensa.

"Minne me menemme?" hän kysyi.

"Waterloon sillan yli", sanoin minä.

"Minkätähden?"

"Järjestääksemme jollakin tavalla teidän asianne", vastasin


nyrpeästi. "Mutta miten se on tapahtuva, siitä minulla ei ole
aavistustakaan. On olemassa Eksyneiden koirien koti ja Karanneiden
kissojen koti ja Kadotettujen tavaroiden toimisto, mutta koska te ette
ole koira ettekä kissa ettekä sateensuoja, niin ei minulla ole mitään
hyötyä niistä laitoksista."

"Itään vaiko länteen päin?" kysyi kuski.

"Länteen", vastasin umpimähkään.

Ajoimme hitaasti eteenpäin. Ajatukseni olivat epätoivoiset.


Vieressäni istui avuton, koditon, turvaton nuori nainen, jolla ei ollut
ainoatakaan ystävää eikä taskussaan yhtäkään penniä; joka oli
kaunis kuin jumalatar ja sieluton kuin kapalolapsi. Mitä ihmeessä
minun piti tehdä? Katselin häntä epätoivoisena. Hän vastasi
katseeseeni tyytyväisesti hymyillen, aivan kuin olisimme vanhat
tuttavat ja menossa yhdessä päivällisille. Vieraan kaupungin melu ja
surina teki häneen yhtä vähän vaikutusta kuin se olisi tehnyt pieneen
koiraan, joka on löytänyt hyvän isännän.

"Jos antaisin teille vähän rahoja ja antaisin teidän nousta pois


rattaista tässä?" ehdotin minä.

"Silloin minä kuolisin", vastasi hän alistuen kohtaloonsa. "Tai sitten


tapaisin jonkun toisen kiltin herran."

"Tokkohan teillä on jotakin sellaista, jota nimitetään sieluksi?"


huudahdin minä.

Hän nypisteli hamettaan. "Minulla on vain tämä — ja se on


kamala", huomautti hän. "Minä tahtoisin punaisen hameen."

Ajoimme Trafalgar Squaren yli, ja minä näin parlamentinkellosta,


että kello oli neljännestä vailla kuusi. En iäti voinut ajella pitkin
katuja hänen kanssaan. Sitäpaitsi odotti minua päivällinen kello puoli
seitsemän.

Miksi, oi miksi Judith oli matkustanut Pariisiin? Jos hän olisi ollut
kaupungissa, olisin voinut kyyditä Carlottan hänen luokseen ja
kevein sydämin ajaa kotiin päivällistäni syömään ja Dristoforo da
Costà'tani lukemaan. Judith olisi pitänyt Carlottaa sangen
huvittavana. Hän olisi pessyt tytön ruumiin ja tutkinut hänen
sieluaan. Mutta Judith on mennyt luostariin Delphine Carrèren luo ja
jättänyt minun niskoilleni olemassaolon vastuun — ja Carlottan.

Ajoimme hitaasti eteenpäin. Olin ajatellut, voisivatko ehkä tätini


pelastaa minut, mutta olin taas hylännyt tämän tuuman. Olin
ajatellut poliisiasemaa, jotakin hotellia, asianajajiani (sinne oli liian
myöhäistä mennä), kalustettua huonetta, sairaalaa. Järkeni ei enää
juossut.

"Missä te asutte?" kysyi Carlotta.

Minä katsoin häneen ja vaikeroin. Se oli ainoa ratkaisu.

"Regent's Parkin seutuvilla", vastasin minä. Tiesin varsin hyvin,


ettei tämä tieto tehnyt häntä paljoa viisaammaksi.

Annoin kuskille osotteen kattoluukun läpi.

"Minä vien teidät mukanani kotiini täksi yöksi", sanoin ankarasti.


"Minulla on erinomainen ranskalainen emännöitsijä, joka saa pitää
huolen teistä. Ja ellemme huomiseen mennessä ole saaneet
käsiimme kirottua n.k. sulhastanne, ei se missään tapauksessa ole
englantilaisen poliisin vika."

Hän laski pienen likaisen kätensä minun kädelleni. Se oli hyvin


pehmeä ja viileä.

"Te olette vihainen minulle. Miksi?"

Minä siirsin pois hänen kätensä.

"Noin te ette saa tehdä", selitin minä. "Ei, minä en ole ollenkaan
vihainen teille. Mutta toivon, että käsitätte, että tämä tapaus on
ainoa laatuaan."

"Mitä merkitsee ainoa laatuaan?" kysyi Carlotta, kompastuen


vaikeisiin sanoihin.
"Se merkitsee, ettei tällaista koskaan ennen ole tapahtunut eikä —
kuten hartaasti toivon — koskaan enää ole tapahtuva."

Hän oli kääntänyt kasvonsa minuun päin. Alahuuli vapisi hiukan.


Koirankatse loisti taas ihmeellisistä silmistä.

"Aiotte kai olla kiltti minulle?" hän kysyi lapselliseen tapaansa,


pysähtyen jokaisen sanan jälkeen.

Minä tunsin, että olin käyttäytynyt kuin sydämetön konna aina siitä
hetkestä asti, jolloin Waterloon asemalla viskasin hänet rattaisiin.
Kaduin ja aloin nauraa.

"Jos te olette kiltti tyttö ja teette niinkuin käsken", sanoin minä.

"Seer Marcous on minun herrani, ja minä olen hänen orjansa",


kuului hänen hämmästyttävä vastauksensa.

Silloin tulin ajatelleeksi, että hän oli Hamdi Efendin kasvattama.


Haaremikasvatus on kuitenkin terveellistä.

"Hauska kuulla", sanoin minä.

Hän sulki silmänsä. Näin nyt, että hän oli hyvin väsynyt. Ajattelin,
että hän oli nukahtanut, ja tuijotin eteeni syventyneenä probleemiini.
Äkkiä paiskattiin vaunujen ovi auki, ja ellen olisi pidättänyt häntä,
olisi hän hypännyt ulos ajopeleistä.

"Katsokaa!" hän huudahti kiihkeästi. "Tuolla! Se on Harryn nimi!"

Hän osotti edessämme olevia leipurinrattaita, joihin oli isoin


kirjaimin maalattuna "E. Robinson."
Minä tarvitsin koko matkan Oxford Cirkuksesta Portman Squarelle
asti saadakseni hänet ymmärtämään, että Lontoossa oli tuhansia,
joiden nimi oli Robinson, ja ettei mitenkään ollut luultavaa, että
leipurinrattaiden kautta voisimme saada mitään tietoja Harryn
olinpaikasta.

Baker Street aseman luona hän kysyi väsyneesti: "Onko teille pitkä
matka?"

"Ei ole", sanoin lohduttavasti. "Ei kovin pitkä."

"Mutta saattaahan ajaa päiväkausia pitkin Lontoon katuja, ja


sittenkin on vielä katuja ja taloja jäljellä? Sen kuulin Alexandrettassa.
Lontoo on yhtä iso kuin kuu, eikö olekin?"

Minä olin naurettavan hyvilläni. Hän kykeni siis todella


ajattelemaan. Olin alkanut epäillä häntä puolittain tylsämieliseksi. Se
tosiseikka, että hän osasi lukea, oli jo lohduttanut minua.

"Monta tuntia", oikaisin minä, "ei monta päivää. Lontoo tuntuu


teistä suurelta?"

"Kyllä", sanoi hän ja pyyhkäisi kädellä silmiään. "Päätäni


pyörryttää. Jonakin päivänä te ajatte minun kanssani pitkin niitä
ihmeellisiä katuja, eikö totta? Nyt olen liian väsynyt. Päätäni
kivistää."

Sitten hän taas sulki silmänsä, eikä avannut niitä, ennenkuin


pysähdyimme kotini edustalle. Ensimäinen käsitykseni hänestä —
ettei hän voinut vastaanottaa mitään vaikutelmia enemmän kuin
eläinkään — oli muuttunut. Hän oli aivan normaali. Hän on vain
joutunut pois tavallisista oloistaan.
Verraton palvelijani Stenson aukaisi oven ja päästi meidät sisään
ilman että ainoakaan lihas liikkui hänen kasvoissaan. Hän ei ilmaisisi
mitään sopimatonta hämmästystä, jos vaikka toisin siivekkään
hevosen mukanani päivällistä syömään. Minä ihailen hyvin
kasvatetun palvelijan järkähtämätöntä tyyneyttä. Se on hänen
itsekunnioituksensa suojelusenkeli. Käskin hänet lähettämään
Antoinetten luokseni.

"Antoinette", sanoin minä, "tämä nuori neiti on matkustanut koko


matkan Vähästä Aasiasta — missä kunnon apostoli Paavalilla oli niin
monta seikkailua — riisumatta kertaakaan vaatteita yltään."

"Hyvänen aika, onko se mahdollista?" huudahti Antoinette.

"Antakaa hänelle hyvä, lämmin kylpy, ja ehkä sitten tahdotte


lainata hänelle ne alusvaatteet, joita sukupuolenne käyttää.
Asettakaa kuntoon vierashuone hänelle, koska hän on yötä täällä, ja
katsokaa, että hänellä on kaikki, mitä hän tarvitsee."

"Hyvä", sanoi Antoinette ja katseli ihmetellen Carlottaa.

"Ja heittäkää tuo hattu ja tuo puku tunkiolle!"

"Hyvä."

"Ja koska neiti on tuiki väsynyt matkustettuaan koko matkan


Vähästä
Aasiasta, on parasta, että hän panee maata niin pian kuin
mahdollista."

"Enkeli raukka!" sanoi Antoinette. "Mutta eikö hänen pidä syödä


päivällistä herran kanssa?"
"En luule", sanoin kuivasti.

"Mutta entä ankanpojat, jotka juuri paistuvat herran päivällistä


varten?"

"Jos niitä ei paistettaisi, voisivat ne kerran vielä varttua ankoiksi",


sanoin minä.

"Oh la la!" nauroi Antoinette.

"Carlotta", sanoin minä kääntyen nuoren tytön puoleen, joka


nöyrästi oli istuutunut suoraselkäiselle tuolille, "nyt seuraatte
Antoinettea ja teette niinkuin hän sanoo. Hän ei puhu englantia,
mutta hän on kyllä tottunut selviytymään."

"Mutta minä puhun vähän ranskaa", sanoi Carlotta.

"Silloin te kyllä voitatte Antoinetten sydämen, ja hän lainaa teille


parhaan — hyvää yötä", lopetin äkkiä. "Toivon, että nukutte hyvin."

Hän tarttui ojennettuun käteeni ja saattoi minut aivan hämilleni


painamalla sen huuliaan vastaan. Antoinette katseli kohtausta
kyynelsilmin.

"Enkeli raukka!" hän sanoi uudelleen.

Stensonille tein lyhyesti selkoa siitä, mitä oli tapahtunut. Siihen


maineeni minut velvotti. Sitten menin ylös pukeutumaan päivällistä
varten. Sitä pidin velvollisuutenani Stensonia kohtaan. Kello oli
kahdeksan, kun istuuduin ruokapöytään, mutta Antoinetten
ankanpojat olivat herkulliset ja soivat minulle lohdutusta päivän
vaivojen jälkeen. Olin juuri aukaisemassa sanomalehteäni, jonka aina
luen puoli tuntia päivällisen jälkeen, kun Antoinette tuli sisään
tehdäkseen tiliä toimistaan.

Hän nukkui niin makeasti, lapsi rukka! Voi, miten väsynyt hän oli!
Hän oli syönyt vähän lientä, vähän kalaa ja munakkaan. Miten kaunis
hän oli, lempeä kuin lammas; ja hänen ihonsa — sitä luulisi silkiksi.
Eikö herra ollut huomannut sitä?

Minä vastasin pontevasti, että sitä minä en ollut tehnyt.

"Herra katselee mieluummin kirjojaan", Antoinette sanoi.

"Se kannattaa tavallisesti paremmin", sanoin minä.

Antoinette ei sanonut mitään; mutta hänen suupielensä


nytkähtelivät naisten tapaan.

Täksi yöksi hänestä siis oli pidetty huoli. Minulta pääsi helpotuksen
huokaus. Huomenna salapoliisin piti ryhtyä hakemaan ilmoihin
haihtunutta Harrya. Hyvä oli, että Carlotta muisti hänen
sukunimensä — se teki etsiskelyn paljon helpommaksi. Sytytin
paperossin ja avasin sanomalehteni.

Joku minuutti sen jälkeen tuijotin pelästyneenä ja pettyneenä


eteeni.

Harry oli löytynyt. Tässä ei voinut olla kysymys mistään


erehdyksestä.
Harry Robinson nuorempi, Robinson ja Kumpp. toiminimen osakas.
Oli
tosiaankin turhaa hakea apua salapoliisilta. Harry oli ampunut
itsensä
South Westernin hotellissa Southamptonissa.
Welcome to our website – the perfect destination for book lovers and
knowledge seekers. We believe that every book holds a new world,
offering opportunities for learning, discovery, and personal growth.
That’s why we are dedicated to bringing you a diverse collection of
books, ranging from classic literature and specialized publications to
self-development guides and children's books.

More than just a book-buying platform, we strive to be a bridge


connecting you with timeless cultural and intellectual values. With an
elegant, user-friendly interface and a smart search system, you can
quickly find the books that best suit your interests. Additionally,
our special promotions and home delivery services help you save time
and fully enjoy the joy of reading.

Join us on a journey of knowledge exploration, passion nurturing, and


personal growth every day!

ebookmasss.com

You might also like