Ivor Horton's Beginning Java - 7 Edition.pdf

(136580 KB) Pobierz
894492225.089.png
Ivor Horton's Beginning Java ® , Java 7 Edition
Published by
John Wiley & Sons, Inc.
10475 Crosspoint Boulevard
Indianapolis, IN 46256
www.wiley.com
Copyright © 2011 by John Wiley & Sons, Inc., Indianapolis, Indiana
Published simultaneously in Canada
ISBN: 978-0-470-40414-0
ISBN: 978-1-118-17342-8 (ebk)
ISBN: 978-1-118-17341-1 (ebk)
ISBN: 978-1-118-17340-4 (ebk)
Manufactured in the United States of America
10 9 8 7 6 5 4 3 2 1
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 either the prior written permission of the Publisher, or authorization
through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers,
MA 01923, (978) 750-8400, fax (978) 646-8600. 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.
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 specifi cally disclaim all warranties, including
without limitation warranties of fi tness 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 Web site 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 Web site may provide or recommendations it may make. Further,
readers should be aware that Internet Web sites 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
United States at (877) 762-2974, outside the United States at (317) 572-3993 or fax (317) 572-4002.
Wiley also publishes its books in a variety of electronic formats and by print-on-demand. Not all content that is available
in standard print versions of this book may appear or be packaged in all book formats. If you have purchased a version of
this book that did not include media that is referenced by or accompanies a standard print version, you may request this
media by visiting http://booksupport.wiley.com. For more information about Wiley products, visit us at
www.wiley.com.
Library of Congress Control Number: 2011934635
Trademarks: Wiley, the Wiley logo, Wrox, the Wrox logo, Wrox Programmer to Programmer, and related trade dress
are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affi liates, in the United States and other
countries, and may not be used without written permission. Java and JDK are trademarks 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.
894492225.100.png 894492225.111.png 894492225.122.png 894492225.001.png 894492225.012.png 894492225.023.png 894492225.034.png 894492225.043.png 894492225.044.png 894492225.045.png 894492225.046.png 894492225.047.png 894492225.048.png 894492225.049.png 894492225.050.png 894492225.051.png 894492225.052.png 894492225.053.png 894492225.054.png 894492225.055.png 894492225.056.png 894492225.057.png 894492225.058.png 894492225.059.png 894492225.060.png 894492225.061.png 894492225.062.png 894492225.063.png 894492225.064.png 894492225.065.png 894492225.066.png 894492225.067.png
ABOUT THE AUTHOR
IVOR HORTON started out as a mathematician, but shortly after graduating, he was lured into messing
about with computers by a well-known manufacturer. He has spent many happy years programming
occasionally useful applications in a variety of languages as well as teaching mainly scientists and engineers
to do likewise. He has extensive experience in applying computers to problems in engineering design and to
manufacturing operations in a wide range of industries. He is the author of a number of tutorial books on
programming in C, C++, and Java. When not writing programming books or providing advice to others, he
leads a life of leisure.
ABOUT THE TECHNICAL EDITORS
MARC GREGOIRE is a software engineer from Belgium. He graduated from the Catholic University of Leuven,
Belgium, with a degree in "Burgerlijk ingenieur in de computer wetenschappen" (equivalent to master of
science in engineering in computer science). The year after, he received the cum laude degree of master in
artifi cial intelligence at the same university. After his studies, Marc started working for a big software
consultancy company called Ordina Belgium. As a consultant, he worked for Siemens and Nokia Siemens
Networks on critical 2G and 3G software running on Solaris for big telecom operators. This required working
in international teams stretching from South America and USA to EMEA and Asia. Now, Marc is working for
Nikon Metrology on 3D scanning software.
His main expertise is C/C++, and specifi cally Microsoft VC++ and the MFC framework. Next to C/C++, Marc
also likes C# and uses PHP for creating web pages. In addition to his main interest for Windows development,
he also has experience in developing C++ programs running 24x7 on Linux platforms; for example, EIB home
automation controlling and monitoring software. Since April 2007, he's received the yearly Microsoft MVP
(Most Valuable Professional) award for his Visual C++ expertise.
Marc is an active member on the CodeGuru forum (as Marc G) and wrote some articles and FAQ entries
for CodeGuru. He also creates freeware and shareware programs that are distributed through his website at
www.nuonsoft.com , and maintains a blog on www.nuonsoft.com/blog/ .
AL SCHERER is a Development Manager of eCommerce Technologies at Follett Higher Education
Group. He has seven years of experience designing and coding applications as a Software Architect in
addition to 10 years of development experience. Al has built applications using Assembler, C, C++ and a
number of other programming languages and has worked extensively in Java since Version 1.1. He holds
Sun Java certifi cations as a Programmer, Business Components Developer and Web Components Developer.
In his spare time, Al applies his passion for technology via technical writing and editing, working on nine
software books over the last few years. He holds a BS in Engineering from University of Illinois at
Urbana-Champaign and an MBA from Northwestern University.
894492225.068.png 894492225.069.png 894492225.070.png 894492225.071.png 894492225.072.png 894492225.073.png 894492225.074.png 894492225.075.png 894492225.076.png 894492225.077.png 894492225.078.png 894492225.079.png 894492225.080.png 894492225.081.png 894492225.082.png 894492225.083.png 894492225.084.png 894492225.085.png 894492225.086.png 894492225.087.png 894492225.088.png 894492225.090.png 894492225.091.png 894492225.092.png 894492225.093.png 894492225.094.png 894492225.095.png 894492225.096.png 894492225.097.png 894492225.098.png 894492225.099.png 894492225.101.png
ACKNOWLEDGMENTS
OF COURSE THIS BOOK is not all my own work. The John Wiley & Sons, and Wrox Press editorial and
production team transformed my draft into the fi nished book. I'm especially indebted to Project Editor
Maureen Spears, who has been there from way back at the beginning and has been incredibly helpful
throughout. Charlotte Kughen has done a great job of untangling my grammar and identifying my
sometimes obscure references. I'd like to thank the Technical Editors for their thorough review of the
text and checking out all the examples in the book; their many constructive comments undoubtedly helped
make the book much better that it would otherwise have been.
As always, the love and support of my wife Eve has been essential for me to fi nish this book. She remains
patient and cheerful, even when I am not necessarily the same.
894492225.102.png 894492225.103.png 894492225.104.png 894492225.105.png 894492225.106.png 894492225.107.png 894492225.108.png 894492225.109.png 894492225.110.png 894492225.112.png 894492225.113.png 894492225.114.png 894492225.115.png 894492225.116.png 894492225.117.png 894492225.118.png 894492225.119.png 894492225.120.png 894492225.121.png 894492225.123.png 894492225.124.png 894492225.125.png 894492225.126.png 894492225.127.png 894492225.128.png 894492225.129.png 894492225.130.png 894492225.131.png 894492225.132.png 894492225.002.png 894492225.003.png 894492225.004.png
CONTENTS
WELCOME
xxix
CHAPTER 1: INTRODUCING JAVA
1
What Is Java All About?
1
Features of the Java Language
2
Learning Java
2
Java Programs
3
Learning Java — the Road Ahead
3
The Java Environment
4
Java Program Development
4
Object-Oriented Programming in Java
11
So What Are Objects?
11
What Defi nes a Class of Objects?
13
Operating on Objects
15
Java Program Statements
17
Encapsulation
18
Classes and Data Types
18
Classes and Subclasses
18
Advantages of Using Objects
19
Annotations
19
Generic Classes
19
Java Program Structure
20
Java's Class Library
20
Java Applications
22
Java and Unicode
24
Summary
25
Resources
26
CHAPTER 2: PROGRAMS, DATA, VARIABLES, AND CALCULATION
27
Data and Variables
27
Naming Your Variables
28
Variable Names and Unicode
28
Variables and Types
29
Integer Data Types
29
Declaring Integer Variables
31
Floating-Point Data Types
33
894492225.005.png 894492225.006.png 894492225.007.png 894492225.008.png 894492225.009.png 894492225.010.png 894492225.011.png 894492225.013.png 894492225.014.png 894492225.015.png 894492225.016.png 894492225.017.png 894492225.018.png 894492225.019.png 894492225.020.png 894492225.021.png 894492225.022.png 894492225.024.png 894492225.025.png 894492225.026.png 894492225.027.png 894492225.028.png 894492225.029.png 894492225.030.png 894492225.031.png 894492225.032.png 894492225.033.png 894492225.035.png 894492225.036.png 894492225.037.png 894492225.038.png 894492225.039.png 894492225.040.png 894492225.041.png 894492225.042.png
Zgłoś jeśli naruszono regulamin