100% found this document useful (8 votes)
77 views

Java in Depth Learn the most favoured language for edge device and Internet of Things development 1st Edition Sarika Agarwal 2024 scribd download

most

Uploaded by

bemdsigner
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 (8 votes)
77 views

Java in Depth Learn the most favoured language for edge device and Internet of Things development 1st Edition Sarika Agarwal 2024 scribd download

most

Uploaded by

bemdsigner
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/ 23

Get ebook downloads in full at ebookmeta.

com

Java in Depth Learn the most favoured language for


edge device and Internet of Things development 1st
Edition Sarika Agarwal

https://ebookmeta.com/product/java-in-depth-learn-the-most-
favoured-language-for-edge-device-and-internet-of-things-
development-1st-edition-sarika-agarwal/

OR CLICK BUTTON

DOWNLOAD NOW

Explore and download more ebook at https://ebookmeta.com


Recommended digital products (PDF, EPUB, MOBI) that
you can download immediately if you are interested.

More Java 17: An In-Depth Exploration of the Java Language


and Its Features 3rd Edition Kishori Sharan

https://ebookmeta.com/product/more-java-17-an-in-depth-exploration-of-
the-java-language-and-its-features-3rd-edition-kishori-sharan/

ebookmeta.com

More Java 17: An In-Depth Exploration of the Java Language


and Its Features 3rd Edition Kishori Sharan

https://ebookmeta.com/product/more-java-17-an-in-depth-exploration-of-
the-java-language-and-its-features-3rd-edition-kishori-sharan-2/

ebookmeta.com

Learn Java for Android Development Second Edition Jeff


Friesen

https://ebookmeta.com/product/learn-java-for-android-development-
second-edition-jeff-friesen/

ebookmeta.com

Budget Keto Kitchen Easy Recipes That Are Big on Taste Low
in Carbs and Light on the Wallet 1st Edition Monya Kilian
Palmer
https://ebookmeta.com/product/budget-keto-kitchen-easy-recipes-that-
are-big-on-taste-low-in-carbs-and-light-on-the-wallet-1st-edition-
monya-kilian-palmer/
ebookmeta.com
Population Genetics and Microevolutionary Theory 2nd
Edition Alan R. Templeton

https://ebookmeta.com/product/population-genetics-and-
microevolutionary-theory-2nd-edition-alan-r-templeton/

ebookmeta.com

Practical Spring Cloud Function: Developing Cloud-Native


Functions for Multi-Cloud and Hybrid-Cloud Environments
1st Edition Banu Parasuraman
https://ebookmeta.com/product/practical-spring-cloud-function-
developing-cloud-native-functions-for-multi-cloud-and-hybrid-cloud-
environments-1st-edition-banu-parasuraman/
ebookmeta.com

Business Statistics in Practice: Using Data, Modeling, and


Analytics, 9th Edition Bruce L. Bowerman

https://ebookmeta.com/product/business-statistics-in-practice-using-
data-modeling-and-analytics-9th-edition-bruce-l-bowerman/

ebookmeta.com

Hydrocarbon Fluid Inclusions in Petroliferous Basins 1st


Edition Nandakumar

https://ebookmeta.com/product/hydrocarbon-fluid-inclusions-in-
petroliferous-basins-1st-edition-nandakumar/

ebookmeta.com

The Chronomancer 3 A Men s Fantasy Harem Adventure 1st


Edition Neil Bimbeau Gideon Hayes

https://ebookmeta.com/product/the-chronomancer-3-a-men-s-fantasy-
harem-adventure-1st-edition-neil-bimbeau-gideon-hayes/

ebookmeta.com
The Third Revolution Xi Jinping and the New Chinese State
1st Edition Elizabeth C Economy

https://ebookmeta.com/product/the-third-revolution-xi-jinping-and-the-
new-chinese-state-1st-edition-elizabeth-c-economy/

ebookmeta.com
Java in Depth

SARIKA AGARWAL
HIMANI BANSAL
FIRST EDITION 2018
Copyright © BPB Publication, INDIA
ISBN: 978-93-8655-157-3
All Rights Reserved. No part of this publication can be stored in a retrieval system or reproduced
in any form or by any means without the prior written permission of the publishers

LIMITS OF LIABILITY AND DISCLAIMER OF WARRANTY


The Author and Publisher of this book have tried their best to ensure that the programmes,
procedures and functions described in the book are correct. However, the author and the
publishers make no warranty of any kind, expressed or implied, with regard to these programmes
or the documentation contained in the book. The author and publisher shall not be liable in any
event of any damages, incidental or consequential, in connection with, or arising out of the
furnishing, performance or use of these programmes, procedures and functions. Product name
mentioned are used for identification purposes only and may be trademarks of their respective
companies.

All trademarks referred to in the book are acknowledged as properties of their respective owners.

Distributors:
BPB PUBLICATIONS BPB BOOK CENTRE
20, Ansari Road, Darya Ganj 376 Old Lajpat Rai Market,
New Delhi-110002 Delhi-110006
Ph: 23254990/23254991 Ph: 23861747

COMPUTER BOOK CENTRE DECCAN AGENCIES


12, Shrungar Shopping Centre, 4-3-329, Bank Street,
M.G.Road, Bengaluru–560001 Hyderabad-500195
Ph: 25587923/25584641 Ph: 24756967/24756400

MICRO MEDIA
Shop No. 5, Mahendra Chambers,
150 DN Rd. Next to Capital Cinema,
V.T. (C.S.T.) Station, MUMBAI-400 001
Ph: 22078296/22078297

Published by Manish Jain for BPB Publications, 20, Ansari Road, Darya Ganj, New Delhi- 110002
and Printed by Repro India Pvt Ltd, Mumbai
PREFACE

The authors are confident that the present work will come as a relief to the students
wishing to go through a comprehensive material for understanding Java concepts in
layman’s language, offering a variety of analogical understanding and code snippets.
This book covers all the topics/content/syllabus prescribed at various levels in
universities.
This book promises to be a very good starting point for beginners and an asset to
advance users too.
This book is written as per the syllabus of majorly all the universities and covers
topics both at under-graduate and graduate level. Difficult concepts of Core Java are
given in an easy way, so that the students are able to understand them in an efficient
manner.
It is said “To err is human, to forgive is divine”. In this light, we wish that the
shortcomings of the book will be forgiven. At the same, the authors are open to any
kind of constructive criticisms and suggestions for further improvement. All intelligent
suggestions are welcome and the authors will try to do their best to incorporate such
invaluable suggestions in the subsequent editions of this book.

Sarika Agarwal
Himani Bansal
Contents

Preface .................................................................................................................................... iii


CHAPTER-1
INTRODUCTION TO JAVA
1.1History of Java...........................................................................................................1
1.2Features of Java or Java Buzzwords.......................................................................1
1.3Java Magic: the Byte Code........................................................................................3
1.4Java Applications.......................................................................................................4
1.4.1 Types of Java applications.............................................................................4
1.5 JDK Tools....................................................................................................................4
1.6 How to Install JDK In Windows..............................................................................6
1.7 First Java Program.....................................................................................................8
1.7.1 Save the program............................................................................................8
1.7.2 Compile the program.....................................................................................8
1.7.3 Run the program.............................................................................................8
1.7.4 Explanation of the program..........................................................................9
1.8 Java Keywords...........................................................................................................9
1.9 Garbage Collection..................................................................................................10
1.9.1 Garbage Collection Algorithm....................................................................10
Summary................................................................................................................................... 11
Answer the following Questions...............................................................................................12
Multiple Choice Questions........................................................................................................12
Review Questions......................................................................................................................13
CHAPTER-2
DATA TYPES AND VARIABLES
2.1 Data Types................................................................................................................15
2.2 Primitive Data Types...............................................................................................15
2.2.1 Integers...........................................................................................................16
2.2.2 Floating Point Types.....................................................................................17
2.2.3 Character........................................................................................................18
2.2.4 Boolean...........................................................................................................19
2.2.5 Choosing the correct Data Type..................................................................19
2.3 Abstract or Derived Data Types............................................................................20
vi | Contents

2.4 Escape Sequence......................................................................................................20


2.5 Variables . .................................................................................................................20
2.5.1 Variable Naming conventions.....................................................................21
2.5.2 Rules for Naming Variables........................................................................21
2.5.3 Variable Naming Conventions in Java .....................................................21
2.5.4 Examples of Variables Names.....................................................................21
2.5.5 Declaring a Variable.....................................................................................22
2.5.6 Variable Initialization...................................................................................22
2.5.7 The Scope and Lifetime of Variables..........................................................23
2.5.8 Literals............................................................................................................23
2.6 Wrapper classes.......................................................................................................24
2.7 Boxing.......................................................................................................................25
2.8 UnBoxing..................................................................................................................25
Summary...................................................................................................................................25
Answer the following Questions...............................................................................................26
Multiple Choice Question..........................................................................................................26
Review Questions......................................................................................................................27
CHAPTER-3
OPERATORS, LOOPS, STATEMENTS & ARRAYS
3.1 Operators..................................................................................................................29
3.1.1 Arithmetic Operators...................................................................................29
3.1.2 Assignment Operators.................................................................................30
3.1.3 Unary Operators...........................................................................................31
3.1.4 Comparison Operators................................................................................32
3.1.5 Shift Operators..............................................................................................32
3.1.6 Bit-wise Operators........................................................................................34
3.1.7 Logical Operators.........................................................................................35
3.1.8 Conditional Operator...................................................................................36
3.1.9 The New Operator........................................................................................36
3.1.10 Instance of Operator.....................................................................................37
3.2 Order of Precedence of Operators.........................................................................37
3.3 Type Conversion (Casting).....................................................................................38
3.4 Control Statements..................................................................................................40
3.4.1 Selection Statements.....................................................................................40
3.4.2 Repetition Statements..................................................................................43
3.4.3 Branch Statements........................................................................................46
3.5 Arrays........................................................................................................................49
3.5.1 One-Dimensional Arrays.............................................................................49
3.5.2 Multi-Dimensional Arrays..........................................................................50
Summary...................................................................................................................................52
Answer the following Questions...............................................................................................53
Multiple Choice Questions........................................................................................................53
Contents | vii

Review Questions......................................................................................................................54
CHAPTER-4
CLASSES AND METHODS
4.1 Classes.......................................................................................................................57
4.1.1 Class Fundamentals.....................................................................................57
4.2 Naming Classes.......................................................................................................59
4.2.1 Rules for Naming Classes............................................................................59
4.2.2 Conventions for Naming Classes...............................................................59
4.3 Creating An Object..................................................................................................60
4.3.1 Dynamic allocation of memory through new operator..........................60
4.4 Comment Entries.....................................................................................................61
4.5 Data Members..........................................................................................................62
4.6 Naming Variables....................................................................................................62
4.7 Methods....................................................................................................................63
4.7.1 Naming Methods..........................................................................................64
4.8 Invoking A Method.................................................................................................65
4.8.1 Invoking A Method of the same Class.......................................................65
4.8.2 Invoking A Method of a different Class....................................................65
4.9 Passing Arguments to a Method...........................................................................66
4.9.1 Call By Value.................................................................................................67
4.9.2 Call By Reference..........................................................................................67
4.10 Scope of Variables....................................................................................................68
Summary...................................................................................................................................68
Answer the following Questions...............................................................................................69
Multiple Choice Questions........................................................................................................69
Review Questions......................................................................................................................70
CHAPTER-5
CONSTRUCTORS, ACCESS SPECIFIERS AND MODIFIERS
5.1 Constructors.............................................................................................................71
5.2 Types of Constructors.............................................................................................72
5.2.1 Default Constructor......................................................................................72
5.2.2 Parameterized Constructor.........................................................................73
5.3 Instance Initializer Block or Anonymous Block..................................................73
5.4 Static Block...............................................................................................................75
5.5 Access Specifiers......................................................................................................75
5.5.1 The Public Access Specifier.........................................................................76
5.5.2 The Private Access Specifier........................................................................76
5.5.3 The Protected Access Specifier....................................................................76
5.5.4 Default Access...............................................................................................76
viii | Contents

5.6 Access Specifier for Constructors..........................................................................77


5.7 Modifiers...................................................................................................................79
5.7.1 The Static Modifier.......................................................................................79
5.7.2 The Final Modifier........................................................................................80
5.7.3 The Native Modifier.....................................................................................80
5.7.4 The Transient Modifier.................................................................................81
5.7.5 The Synchronized Modifier.........................................................................81
5.7.6 The Volatile Modifier....................................................................................81
Summary...................................................................................................................................81
Answer the following Questions...............................................................................................82
Multiple Choice Questions........................................................................................................82
Review Questions......................................................................................................................83
CHAPTER-6
RELATIONSHIP BETWEEN CLASSES
6.1Polymorphism (Overloading)...............................................................................85
6.2Function/Method Overloading............................................................................85
6.3Function Signature..................................................................................................86
6.4Constructor Overloading.......................................................................................87
6.5Inheritance................................................................................................................88
6.6Types of Inheritance................................................................................................89
6.6.1 Single Inheritance.........................................................................................90
6.6.2 Multilevel Inheritance..................................................................................90
6.7 Super Keyword........................................................................................................92
6.8 Abstract Class...........................................................................................................93
6.9 Interfaces...................................................................................................................96
6.9.1 Declaring an Interface..................................................................................96
6.9.2 Steps for Implementing an Interface..........................................................97
6.10 Default/Static method in Interfaces.....................................................................98
6.11 Function Overriding...............................................................................................98
Summary.................................................................................................................................100
Answer the Following Questions............................................................................................100
Multiple Choice Questions......................................................................................................100
Review Questions....................................................................................................................101
Interview Questions................................................................................................................101
CHAPTER-7
ANNOTATIONS
7.1 Annotations............................................................................................................103
7.2 Built-In Java Annotations.....................................................................................103
7.2.1 Annotations used in Java code.................................................................104
7.2.2 Annotations that Apply to Other Annotations.......................................106
Contents | ix

7.3 Java Custom Annotations.....................................................................................106


7.4 Types of Annotations............................................................................................107
7.5 Where Annotations Can Be Used?......................................................................108
7.6 How built-in Annotations are used in real scenario?.......................................109
Summary................................................................................................................................. 110
Answer the following Questions............................................................................................. 110
Multiple Choice Questions...................................................................................................... 110
Review Questions.................................................................................................................... 112
CHAPTER-8
JAVA PACKAGES
8.1 Package................................................................................................................... 113
8.2 User-Defined Package........................................................................................... 113
8.2.1 Creating A User-Defined Package............................................................ 113
8.2.2 Compiling a Package.................................................................................. 114
8.3 Import Statement................................................................................................... 115
8.4 Standard Packages................................................................................................. 115
8.5 Static import .......................................................................................................... 116
Summary................................................................................................................................. 116
Review Questions.................................................................................................................... 116
CHAPTER-9
APPLETS AND APPLICATIONS
9.1 The Applet Class.................................................................................................... 117
9.2 Life Cycle of An Applet........................................................................................ 118
9.3 The Graphics Class................................................................................................ 119
9.4 Painting the Applet...............................................................................................120
9.5 Changing the Font of An Applet.........................................................................122
9.6 Passing Parameters to Applets............................................................................123
9.7 The Applet Context Interchange.........................................................................124
9.8 Creating An Application......................................................................................125
9.9 Converting Applets To Applications..................................................................126
Summary.................................................................................................................................128
Answer the Following Questions............................................................................................128
Multiple Choice Questions......................................................................................................128
Review Questions....................................................................................................................129

CHAPTER-10

EXCEPTION HANDLING
10.1 Need for Exception Handling..............................................................................131
10.2 Type of Exceptions................................................................................................131
x | Contents

10.3 Exception - Handling Techniques.......................................................................133


10.4 Defining Your Own Exception Classes...............................................................140
Summary.................................................................................................................................143
Answer the Following Questions............................................................................................143
Multiple Choice Questions......................................................................................................143
Review Questions....................................................................................................................144
Interview Questions................................................................................................................144
CHAPTER-11
MULTI THREADING PROGRAMMING
11.1 Threads ..................................................................................................................145
11.2 Single-Threaded and Multithreaded Applications...........................................146
11.3 Priority of Thread..................................................................................................152
11.4 Synchronization of Threads.................................................................................154
11.5 Inter - Thread communication.............................................................................156
11.6 Problems in multithreading Deadlock...............................................................160
11.7 Life cycle of Thread...............................................................................................161
Summary.................................................................................................................................162
Answer the following Questions.............................................................................................163
Multiple Choice Questions......................................................................................................163
Ture/False.................................................................................................................................164
Review Questions....................................................................................................................165
Interview Questions................................................................................................................165
CHAPTER-12
STREAMS
12.1 Streams In Java.......................................................................................................167
12.2 The Abstract Streams............................................................................................169
12.2.1 Input Stream................................................................................................169
12.2.2 Markable Stream.........................................................................................170
12.2.3 Output Stream.............................................................................................170
12.2.4 Types of Input and Output Stream..........................................................171
12.3 Reader and Writer ................................................................................................181
Summary.................................................................................................................................183
Answer the Following Questions............................................................................................184
Multiple Choice Questions......................................................................................................184
Review Questions....................................................................................................................185
Interview Questions................................................................................................................185
CHAPTER-13
NETWORKING
13.1 Introduction to Networking.................................................................................187
Contents | xi

13.2 Understanding the Socket....................................................................................188


13.3 IP Address and Port..............................................................................................188
13.4 Creating a Socket...................................................................................................189
13.5 TCP/IP Client Socket . .........................................................................................190
13.6 Reading from and Writing to the Socket............................................................190
13.7 Creating the Server Socket ..................................................................................192
13.8 UDP vs. TCP...........................................................................................................195
13.9 Datagram Socket....................................................................................................196
13.9.1 Java InetAddress Class..............................................................................196
Summary.................................................................................................................................199
Answer the Following Questions............................................................................................199
Multiple Choice Questions......................................................................................................199
Review Questions....................................................................................................................200
CHAPTER-14
A.W.T. (ABSTRACT WINDOW TOOLKIT)
14.1 Components...........................................................................................................201
14.1.1 Features of the Components Class...........................................................201
14.2 Container................................................................................................................202
14.3 The window Class.................................................................................................203
14.4 The Panel Class......................................................................................................205
14.5 Components and Controls...................................................................................205
14.6 Controls in JAVA....................................................................................................207
Summary.................................................................................................................................224
Answer the Following Questions............................................................................................225
Multiple Choice Questions......................................................................................................225
Review Questions....................................................................................................................226
CHAPTER-15
LAYOUTS
15.1 Layout Managers...................................................................................................227
15.1.1 The Flow Layout Manager........................................................................227
15.2 The Grid Layout Manager....................................................................................228
15.3 Border Layout Manager.......................................................................................230
15.4 Card Layout............................................................................................................231
15.5 The Gridbag Layout Manager.............................................................................233
15.5.1 Specifying Constraints...............................................................................233
15.6 The Box Layout Manager.....................................................................................235
Summary.................................................................................................................................236
Review Questions....................................................................................................................237
Interview Questions................................................................................................................237
xii | Contents

CHAPTER-16
EVENT HANDLING
16.1 Events......................................................................................................................239
16.2 Event–Driven Programming................................................................................239
16.3 Components of An Event.....................................................................................239
16.4 The JDK Event Model ..........................................................................................240
16.5 The JDK Event Model (Delegation)....................................................................240
16.6 Handling Window Events....................................................................................246
16.7 Adapter Classes ....................................................................................................247
16.8 Inner Classes..........................................................................................................250
16.9 Anonymous Classes..............................................................................................251
Summary.................................................................................................................................252
Answer the following Questions.............................................................................................252
True/False.................................................................................................................................252
Review Questions....................................................................................................................252
Interview Questions................................................................................................................253
CHAPTER-17
DATABASE CONNECTIVITY
17.1 Database Management on Web...........................................................................255
17.1.1 Database Management...............................................................................255
17.2 Database Connectivity..........................................................................................255
17.3 Categories of JDBC drivers..................................................................................257
17.4 Querying a Database.............................................................................................258
17.4.1 Connecting to a Database..........................................................................258
17.4.2 The Connection Object...............................................................................259
17.4.3 Processing a Query in Database...............................................................259
Summary.................................................................................................................................267
Answer the Following Questions............................................................................................268
Multiple Choice Questions......................................................................................................268
Fill ups ..................................................................................................................................268
True/False.................................................................................................................................269
Review Questions....................................................................................................................269
Interview Questions................................................................................................................269
CHAPTER-18
COLLECTION
18.1 Collection Framework..........................................................................................271
18.2 Collection Interface...............................................................................................271
18.3 Hierarchy of Collection.........................................................................................272
18.4 Methods of Collection...........................................................................................273
Contents | xiii

18.5 Iterator Interface....................................................................................................273


18.6 List Interface...........................................................................................................273
18.7 Queue Interface......................................................................................................274
18.8 Set Interface............................................................................................................277
18.9 Map Interface.........................................................................................................278
Summary.................................................................................................................................280
Answer the Following Questions............................................................................................281
Multiple Choice Questions......................................................................................................281
Fill Ups ..................................................................................................................................281
True/False.................................................................................................................................282
Review Questions....................................................................................................................282
Interview Questions................................................................................................................282
CHAPTER-19
PROJECTS
Project I: Tic Tac Toe....................................................................................................283
Project II: Sales User Stories........................................................................................295
Project III : Wumpus Game...........................................................................................307
CHAPTER-1

INTRODUCTION TO JAVA

1.1 HISTORY 0F JAVA


Although the Java programming language is usually associated with the World
Wide Web, it’s origin predates the web. Java began life as the programming language
OaK.
“OaK” was developed by the members of the Green project, which included Patrick
Naughton, Mike Sheridan and James Gosling a group formed in 1991 to create Product
for the smart electronics market. The team decided that the existing programming
languages were not well suited for use in consumer electronics. The chief programmer
of Sun Microsystems, James Gosling, was given the task of creating the Software for
controlling consumer electronic devices. The team wanted a fundamentally new way of
computing, based on the power of networks and wanted the same, software to run on
different kinds of computers, consumer gadgets and other devices. “Patenting issues
gave a new name to Oak-Java.” During that period, Mosaic, the first graphical browser
was released. Non programmers started accessing the World Wide Web and Web grew
dramatically. People with different types of machines and operating Systems started
accessing the application available on the web. Members of the OaK team realized that
Java would provide the required cross-platform independence that is, independence
from the hardware, the network, and the operating System. Very soon, Java became an
integral part of the web.
Java Software works just about everywhere, from the smallest devices to Super
computers. Java technology components don’t depend on the kind of computer,
telephone, or operating System they run on. They work on any kind of compatible
devices that Supports the Java platform.

Java Version History


The Fist Java Beta (jdk Beta) version released in 1995 and First Version (jdk 1.0)
released in 1996. Java is enhancing its functionality and latest version of java is jdk 1.8
released in 2014.

1.2 FEATURES OF JAVA OR JAVA BUZZWORDS


No discussion of Java can be done without the keywords. Although the fundamental
forces that are necessary for Java are portability & Security; other factors also play an
important role in moulding the final form of the language. The features of Java or
Buzzword are as follows:
Other documents randomly have
different content
1.F.6. INDEMNITY - You agree to indemnify and hold the
Foundation, the trademark owner, any agent or employee of the
Foundation, anyone providing copies of Project Gutenberg™
electronic works in accordance with this agreement, and any
volunteers associated with the production, promotion and distribution
of Project Gutenberg™ electronic works, harmless from all liability,
costs and expenses, including legal fees, that arise directly or
indirectly from any of the following which you do or cause to occur:
(a) distribution of this or any Project Gutenberg™ work, (b)
alteration, modification, or additions or deletions to any Project
Gutenberg™ work, and (c) any Defect you cause.

Section 2. Information about the Mission of


Project Gutenberg™
Project Gutenberg™ is synonymous with the free distribution of
electronic works in formats readable by the widest variety of
computers including obsolete, old, middle-aged and new computers.
It exists because of the efforts of hundreds of volunteers and
donations from people in all walks of life.

Volunteers and financial support to provide volunteers with the


assistance they need are critical to reaching Project Gutenberg™’s
goals and ensuring that the Project Gutenberg™ collection will
remain freely available for generations to come. In 2001, the Project
Gutenberg Literary Archive Foundation was created to provide a
secure and permanent future for Project Gutenberg™ and future
generations. To learn more about the Project Gutenberg Literary
Archive Foundation and how your efforts and donations can help,
see Sections 3 and 4 and the Foundation information page at
www.gutenberg.org.

Section 3. Information about the Project


Gutenberg Literary Archive Foundation
The Project Gutenberg Literary Archive Foundation is a non-profit
501(c)(3) educational corporation organized under the laws of the
state of Mississippi and granted tax exempt status by the Internal
Revenue Service. The Foundation’s EIN or federal tax identification
number is 64-6221541. Contributions to the Project Gutenberg
Literary Archive Foundation are tax deductible to the full extent
permitted by U.S. federal laws and your state’s laws.

The Foundation’s business office is located at 809 North 1500 West,


Salt Lake City, UT 84116, (801) 596-1887. Email contact links and up
to date contact information can be found at the Foundation’s website
and official page at www.gutenberg.org/contact

Section 4. Information about Donations to


the Project Gutenberg Literary Archive
Foundation
Project Gutenberg™ depends upon and cannot survive without
widespread public support and donations to carry out its mission of
increasing the number of public domain and licensed works that can
be freely distributed in machine-readable form accessible by the
widest array of equipment including outdated equipment. Many small
donations ($1 to $5,000) are particularly important to maintaining tax
exempt status with the IRS.

The Foundation is committed to complying with the laws regulating


charities and charitable donations in all 50 states of the United
States. Compliance requirements are not uniform and it takes a
considerable effort, much paperwork and many fees to meet and
keep up with these requirements. We do not solicit donations in
locations where we have not received written confirmation of
compliance. To SEND DONATIONS or determine the status of
compliance for any particular state visit www.gutenberg.org/donate.

While we cannot and do not solicit contributions from states where


we have not met the solicitation requirements, we know of no
prohibition against accepting unsolicited donations from donors in
such states who approach us with offers to donate.

International donations are gratefully accepted, but we cannot make


any statements concerning tax treatment of donations received from
outside the United States. U.S. laws alone swamp our small staff.

Please check the Project Gutenberg web pages for current donation
methods and addresses. Donations are accepted in a number of
other ways including checks, online payments and credit card
donations. To donate, please visit: www.gutenberg.org/donate.

Section 5. General Information About Project


Gutenberg™ electronic works
Professor Michael S. Hart was the originator of the Project
Gutenberg™ concept of a library of electronic works that could be
freely shared with anyone. For forty years, he produced and
distributed Project Gutenberg™ eBooks with only a loose network of
volunteer support.

Project Gutenberg™ eBooks are often created from several printed


editions, all of which are confirmed as not protected by copyright in
the U.S. unless a copyright notice is included. Thus, we do not
necessarily keep eBooks in compliance with any particular paper
edition.

Most people start at our website which has the main PG search
facility: www.gutenberg.org.

This website includes information about Project Gutenberg™,


including how to make donations to the Project Gutenberg Literary
Archive Foundation, how to help produce our new eBooks, and how
to subscribe to our email newsletter to hear about new eBooks.

You might also like