BN.com Gift Guide

Immigration and Nationality Laws of the United States:Selected Statutes, Regulations and Forms 2012 / Edition 2012

Paperback (Print)
Rent
Rent from BN.com
$13.26
(Save 72%)
Est. Return Date: 02/18/2015
Buy Used
Buy Used from BN.com
$31.02
Used and New from Other Sellers
Used and New from Other Sellers
from $17.00
Usually ships in 1-2 business days
(Save 63%)
Other sellers (Paperback)
  • All (6) from $17.00   
  • Used (6) from $17.00   

Overview

This book serves as a one-stop source for the most important federal legislation affecting immigration and naturalization, supplementing any teaching materials on the subject. With its consistent timeliness and reasonable pricing, this publication is a staple in classrooms nationwide.


The experienced developer's guide to Java programming--now fully updated for JDK 1.3. Completely revised coverage of object-oriented development and Swing classes. More of the robust code examples professional programmers need. CD-ROM includes all source code, J2SE Version 1.3, Forte for Java Community Edition, and much more!

Read More Show Less

Editorial Reviews

From Barnes & Noble

Revised, updated and improved once again, this is the first volume, fifth edition, of the most popular set of Java tutorials ever. Based on the Java 2 Standard Edition Platform Version 1.3, it follows the same format and structure as prior editions, except Cay Horstmann and Gary Cornell really focus on object-oriented programming while they provide a solid grounding in Java syntax and structure, classes, exception handling and debugging. No, you do not need to know C++ or GUI programming concepts, and yes, this tutorial is intended for future serious coders and developers. Expect to spend a lot more than 24 hours or seven days burning the midnight oil and walking through code to develop your diagnostic, troubleshooting and coding skills. After all, you're preparing for Volume 2 -- Advanced Programming Concepts. This book is definitely recommended.

Highlights:

  • Horstmann and Cornell overview Java platform development along with the programming environment and then dive into the fundamentals of data structures, operators, strings and control flow.
  • The authors emphasize object-oriented programming concepts following up with lessons on how to construct classes and use packages.
  • They extend basic object-oriented tools with interfaces and inner classes and teach you how to use them correctly.
  • Now you are ready for full-featured graphics programming as Horstmann and Cornell guide you through user interfaces and the architecture of Swing components.
  • Volume I closes with excellent tutorials on exception and debugging concepts, streams, files and I/O techniques.

Advantages:

  • This is anexcellent study guide and tutorial with a strong emphasis on good coding practices and debugging concepts -- a thorough introduction to the Java language. Code examples are not trivial or contrived toy snippets, but solid, annotated code that demonstrates concepts and solutions.
  • The CD-ROM contains source code examples, J2SE Version 1.3, the Forte toolset for application development using Java Community Edition, along with trial versions of more tools and utilities.

Related Titles:

An excellent companion volume for this tutorial is The JFC Swing Tutorial : A Guide to Constructing GUIs. More advanced students should also check out two excellent references, The Java Programming Language, Third Edition and Java Foundation Classes in a Nutshell : A Desktop Quick Reference.

Reviewed by RD - 12/19

Read More Show Less

Product Details

  • ISBN-13: 9780314281852
  • Publisher: West Academic Publishing
  • Publication date: 7/13/2012
  • Series: Academic Statutes
  • Edition description: 2012
  • Edition number: 2012
  • Pages: 1104
  • Sales rank: 329,840
  • Product dimensions: 9.80 (w) x 7.30 (h) x 1.50 (d)

Meet the Author


Cay S. Horstmann is VP of Technology at Preview Systems and professor for computer science at San Jose State University. He has written six books on C++, Java, and object-oriented development.

Gary Cornell has a Ph.D. from Brown University and has been a visiting scientist at IBM Watson Labs. He has written or co-written 20 popular computer books and articles for many developer magazines. He currently directs the program for Modern Visual Programming at the University of Connecticut.

Read More Show Less

Read an Excerpt

PREFACE:

To the Reader

In late 1995, the Java programming language burst onto the Internet scene and gained instant celebrity status. The promise of Java is that it will become the universal glue that connects users with information, whether that information comes from Web servers, databases, information providers, and any other imaginable source. Indeed Java is in a unique position to fulfill this promise. It is an extremely solidly engineered language that has gained acceptance by all major vendors, except for Microsoft. Its built-in security and safety features are reassuring both to programmers and to the users of Java programs. Java even has built-in support that makes advanced programming tasks, such as network programming, database connectivity, and multithreading, straightforward.

Since then, Sun Microsystems has released four major revisions of the Java Software Development Kit. Version 1.02, released in 1996, supported database connectivity and distributed objects. Version 1.1, released in 1997, added a robust event model, internationalization, and the Java Beans component model. Version 1.2, released at the end of 1998, has numerous enhancements, but one major improvement stands out: the "Swing" user interface toolkit that finally allows programmers to write truly portable GUI applications. Version 1.3, released in the spring of 2000, delivered many incremental improvements.

The book you have in your hand is the first volume of the fifth edition of the Core Java book. Each time, the book followed the release of the Java development kit as quickly as possible, and each time, we rewrote the book to take advantage of thenewest Java features.

As with the previous editions of this book, we still target serious programmers who want to put Java to work on real projects. We still guarantee no nervous text or dancing tooth-shaped characters. We think of you, our reader, as a programmer with a solid background in a programming language. But you do not need to know C++ or object-oriented programming. Based on the responses we have received to the earlier editions of this book, we remain confident that experienced Visual Basic, C, or COBOL programmers will have no trouble with this book. (You don't even need any experience in building graphical user interfaces in Windows, Unix, or the Macintosh.)

What we do is assume you want to:

  • Write real code to solve real problems

and

  • Don't like books filled with toy examples (such as kitchen appliances or fruit trees).

You will find lots of sample code on the accompanying CD that demonstrates almost every language and library feature that we discuss. We kept the sample programs purposefully simple to focus on the major points, but, for the most part, they aren't fake and they don't cut corners. They should make good starting points for your own code.

We assume you are willing, even eager, to learn about all the advanced features that Java puts at your disposal. For example, we give you a detailed treatment of:

  • Object-oriented programming
  • Reflection and proxies
  • Interfaces and inner classes
  • The event listener model
  • Graphical user interface design with the Swing UI toolkit
  • Exception handling
  • Stream input/output and object serialization

We still don't spend much time on the fun but less serious kind of Java programs whose sole purpose is to liven up your Web page. There are quite a few sources for this kind of material already—we recommend John Pew's book Instant Java, also published by Sun Microsystems Press/Prentice Hall.

Finally, with the explosive growth of the Java class library, a one-volume treatment of all the features of Java that serious programmers need to know is no longer possible. Hence, we decided to break the book up into two volumes. The first volume, which you hold in your hands, concentrates on the fundamental concepts of the Java language, along with the basics of user-interface programming. The second volume goes further into the enterprise features and advanced user-interface programming. It includes detailed discussions of:

  • Multithreading
  • Network programming
  • Distributed objects
  • Collection classes
  • Databases
  • Advanced graphics
  • Advanced GUI components
  • Internationalization
  • Native methods
  • JavaBeans

When writing a book, errors and inaccuracies are inevitable. We'd very much like to know about them. But, of course, we'd prefer to learn about each of them only once. We have put up a list of frequently asked questions, bugs fixes, and workarounds in a Web page at ...

Read More Show Less

Table of Contents

1. An Introduction to Java.
Java as a Programming Tool. Advantages of Java. The Java “White Paper” Buzzwords. Simple. Object Oriented. Distributed. Robust. Secure. Architecture Neutral. Portable. Interpreted. High Performance. Multithreaded. Dynamic. Java and the Internet. Applets at Work. Server-side Java. A Short History of Java. Common Misconceptions About Java.

2.The Java Programming Environment.
Installing the Java Software Development Kit. Setting the Execution Path. Installing the Library Source and Documentation. Installing the Core Java Program Examples. Navigating the Java Directories. Development Environments. Using the Command Line Tools. Troubleshooting Hints. Using an Integrated Development Environment. Locating Compilation Errors. Compiling and Running Programs from a Text Editor. Graphical Applications. Applets.

3. Fundamental Programming Structures in Java.
A Simple Java Program. Comments. Data Types. Integers. Floating-Point Types. The Character Type. The boolean Type. Variables. Assignments and Initializations. Constants. Operators. Increment and Decrement Operators. Relational and boolean Operators. Bitwise Operators. Mathematical Functions and Constants. Conversions Between Numeric Types. Casts. Parentheses and Operator Hierarchy. Strings. Concatenation. Substrings. String Editing. Testing Strings for Equality. Reading the On-line API Documentation. Reading Input. Formatting Output. Control Flow. Block Scope. Conditional Statements. Indeterminate Loops. Determinate Loops. Multiple Selections-the switch Statement. Breaking Control Flow. Big Numbers. Arrays. Array Initializers and Anonymous Arrays. Copying Arrays. Command Line Parameters.Sorting an Array. Multidimensional Arrays. Ragged Arrays.

4. Objects and Classes.
Introduction to Object-Oriented Programming. The Vocabulary of OOP. Objects. Relationships Between Classes. Contrasting OOP with Traditional Procedural Programming Techniques. Using Existing Classes. Objects and Object Variables. The Gregorian Calendar Class of the Java Library. Building Your Own Classes. An Employee Class. Using Multiple Source Files. Analyzing the Employee Class. First Steps with Constructors. The Methods of the Employee Class. Method Access to Private Data. Private Methods. Final Instance Fields. Static Fields and Methods. Static Fields. Constants. Static Methods. Factory Methods. The main Method. Method Parameters. Object Construction. Overloading. Default Field Initialization. Default Constructors. Explicit Field Initialization. Parameter Names. Calling Another Constructor. Initialization Blocks. Object Destruction and the finalize Method. Packages. Using Packages. Documentation Comments. How to Insert Comments. Class Comments. Method Comments. Field Comments. General Comments. Package and Overview Comments. How to Extract Comments. Class Design Hints.

5. Inheritance.
Extending Classes. Inheritance Hierarchies. Polymorphism. Dynamic Binding. Preventing Inheritance: Final Classes and Methods. Casting. Abstract Classes. Protected Access. Object: The Cosmic Superclass. The equals and toString methods. Generic Programming. Array Lists. Object Wrappers. The Class Class. Reflection. Using Reflection to Analyze the Capabilities of Classes. Using Reflection to Analyze Objects at Run Time. Using Reflection to Write Generic Array Code. Method Pointers! Design Hints for Inheritance.

6. Interfaces and Inner Classes.
Interfaces. Properties of Interfaces. Interfaces and Abstract Classes. Interfaces and Callbacks. Object Cloning. Inner Classes. Using an Inner Class to Access Object State. Special Syntax Rules for Inner Classes. Are Inner Classes Useful? Are They Actually Necessary? Are They Secure? Local Inner Classes. Static Inner Classes. Proxies. Properties of Proxy Classes.

7. Graphics Programming.
Introduction to Swing. Creating a Frame. Frame Positioning. Displaying Information in a Panel. 2D Shapes. Colors. Filling Shapes. Text and Fonts. Images.

8. Event Handling.
Basics of Event Handling. Example: Handling a button click. Selecting Event Listeners. Example: Changing the Look and Feel. Example: Capturing Window Events. The AWT Event Hierarchy. Semantic and Low-Level Events in the AWT. Event Handling Summary. Low-Level Events. Focus Events. Keyboard Events. Consuming Events. Mouse Events. Actions. Multicasting. The Event Queue. Adding Custom Events.

9. User Interface Components With Swing.
The Model-View-Controller Design Pattern. A Model-View-Controller Analysis of Swing Buttons. An Introduction to Layout Management. Border Layout. Panels. Text Input. Text Fields. Input Validation. Password Fields. Text Areas. Labels and Labeling Components. Selecting Text. Editing Text. Making Choices. Check Boxes. Radio Buttons. Borders. Combo Boxes. Sliders. Menus. Building Menus. Icons in Menu Items. Check Box and Radio Button Menu Items. Pop-up Menus. Keyboard Mnemonics and Accelerators. Enabling and Disabling Menu Items. Tool Bars. Tool Tips. Sophisticated Layout Management. Grid Layout. Box Layout. Grid Bag Layout. The gridx, gridy, gridwidth, and gridheight Parameters. Weight Fields. The fill and anchor Parameters. Padding. An Alternative Method to Specify the gridx, gridy, gridwidth, and gridheight Parameters. Using No Layout Manager. Custom Layout Managers. Traversal Order. Dialog Boxes. Option Dialogs. Creating Dialogs. Data Exchange. File Dialogs. Color Choosers.

10. Applets.
Applet Basics. A Simple Applet. Running the Applet Viewer. Viewing an Applet in a Browser. Converting Applications to Applets. Life Cycle of an Applet. Security Basics. Pop-Up Windows in Applets. The Applet HTML Tags and Attributes. Applet Attributes for Positioning. Applet Attributes for Code. Applet Attributes for Java-Challenged Viewers. The OBJECT Tag. Java Plug-In Tags. Passing Information to Applets. Multimedia. URLs. Obtaining Multimedia Files. The Applet Context. Inter-Applet Communication. Displaying Items in the Browser. A Bookmark Applet. It's an Applet. It's an Application. It's Both! JAR Files. The Manifest. Jar Caching. Self-Running JAR files. Resources. Optional Packages. Sealing.

11. Exceptions and Debugging.
Dealing with Errors. The Classification of Exceptions. Advertising the Exceptions That a Method Throws. How to Throw an Exception. Creating Exception Classes. Catching Exceptions. Catching Multiple Exceptions. Rethrowing Exceptions. A Final Look at Java Error- and Exception-Handling. Some Tips on Using Exceptions. Debugging Techniques. Useful Tricks for Debugging. Assertions. Using a Console Window. Tracing AWT Events. The AWT Robot. Profiling. Coverage Testing. Using a Debugger. The JDB Debugger. The Forte Debugger.

12. Streams and Files.
Streams. Reading and Writing Bytes. The Complete Stream Zoo. Layering Stream Filters. Data Streams. Random-Access File Streams. ZIP File Streams. Putting Streams to Use. Writing Delimited Output. String Tokenizers and Delimited Text. Reading Delimited Input. Random-Access Streams. Object Streams. Storing Objects of Variable Type. Object Serialization File Format. The Problem of Saving Object References. Output Format for Object References. Security. Versioning. Using Serialization for Cloning. File Management.

Appendix.
Index.
Read More Show Less

Preface

To the Reader

In late 1995, the Java programming language burst onto the Internet scene and gained instant celebrity status. The promise of Java is that it will become the universal glue that connects users with information, whether that information comes from Web servers, databases, information providers, and any other imaginable source. Indeed Java is in a unique position to fulfill this promise. It is an extremely solidly engineered language that has gained acceptance by all major vendors, except for Microsoft. Its built-in security and safety features are reassuring both to programmers and to the users of Java programs. Java even has built-in support that makes advanced programming tasks, such as network programming, database connectivity, and multithreading, straightforward.

Since then, Sun Microsystems has released four major revisions of the Java Software Development Kit. Version 1.02, released in 1996, supported database connectivity and distributed objects. Version 1.1, released in 1997, added a robust event model, internationalization, and the Java Beans component model. Version 1.2, released at the end of 1998, has numerous enhancements, but one major improvement stands out: the "Swing" user interface toolkit that finally allows programmers to write truly portable GUI applications. Version 1.3, released in the spring of 2000, delivered many incremental improvements.

The book you have in your hand is the first volume of the fifth edition of the Core Java book. Each time, the book followed the release of the Java development kit as quickly as possible, and each time, we rewrote the book to take advantage of thenewest Java features.

As with the previous editions of this book, we still target serious programmers who want to put Java to work on real projects. We still guarantee no nervous text or dancing tooth-shaped characters. We think of you, our reader, as a programmer with a solid background in a programming language. But you do not need to know C++ or object-oriented programming. Based on the responses we have received to the earlier editions of this book, we remain confident that experienced Visual Basic, C, or COBOL programmers will have no trouble with this book. (You don't even need any experience in building graphical user interfaces in Windows, Unix, or the Macintosh.)

What we do is assume you want to:

  • Write real code to solve real problems

and

  • Don't like books filled with toy examples (such as kitchen appliances or fruit trees).

You will find lots of sample code on the accompanying CD that demonstrates almost every language and library feature that we discuss. We kept the sample programs purposefully simple to focus on the major points, but, for the most part, they aren't fake and they don't cut corners. They should make good starting points for your own code.

We assume you are willing, even eager, to learn about all the advanced features that Java puts at your disposal. For example, we give you a detailed treatment of:

  • Object-oriented programming
  • Reflection and proxies
  • Interfaces and inner classes
  • The event listener model
  • Graphical user interface design with the Swing UI toolkit
  • Exception handling
  • Stream input/output and object serialization

We still don't spend much time on the fun but less serious kind of Java programs whose sole purpose is to liven up your Web page. There are quite a few sources for this kind of material already—we recommend John Pew's book Instant Java, also published by Sun Microsystems Press/Prentice Hall.

Finally, with the explosive growth of the Java class library, a one-volume treatment of all the features of Java that serious programmers need to know is no longer possible. Hence, we decided to break the book up into two volumes. The first volume, which you hold in your hands, concentrates on the fundamental concepts of the Java language, along with the basics of user-interface programming. The second volume goes further into the enterprise features and advanced user-interface programming. It includes detailed discussions of:

  • Multithreading
  • Network programming
  • Distributed objects
  • Collection classes
  • Databases
  • Advanced graphics
  • Advanced GUI components
  • Internationalization
  • Native methods
  • JavaBeans

When writing a book, errors and inaccuracies are inevitable. We'd very much like to know about them. But, of course, we'd prefer to learn about each of them only once. We have put up a list of frequently asked questions, bugs fixes, and workarounds in a Web page at ...

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)