Java in Two Semesters Featuring JavaFX

This easy-to-follow textbook teaches Java programming from first principles, as well as covering design and testing methodologies. The text is divided into two parts. Each part supports a one-semester module, the first part addressing fundamental programming concepts, and the second part building on...

Full description

Saved in:
Bibliographic Details
Main Authors Charatan, Quentin, Kans, Aaron
Format eBook Book
LanguageEnglish
Published Cham Springer Nature 2019
Springer
Springer International Publishing AG
Springer International Publishing
Edition4
SeriesTexts in Computer Science
Subjects
Online AccessGet full text

Cover

Loading…
Abstract This easy-to-follow textbook teaches Java programming from first principles, as well as covering design and testing methodologies. The text is divided into two parts. Each part supports a one-semester module, the first part addressing fundamental programming concepts, and the second part building on this foundation, teaching the skills required to develop more advanced applications.This fully updated and greatly enhanced fourth edition covers the key developments introduced in Java 8, including material on JavaFX, lambda expressions and the Stream API.Topics and features: begins by introducing fundamental programming concepts such as declaration of variables, control structures, methods and arrays; goes on to cover the fundamental object-oriented concepts of classes and objects, inheritance and polymorphism; uses JavaFX throughout for constructing event-driven graphical interfaces; includes advanced topics such as interfaces and lambda expressions, generics, collection classes and exceptions; explains file-handling techniques, packages, multi-threaded programs, socket programming, remote database access and processing collections using streams; includes self-test questions and programming exercises at the end of each chapter, as well as two illuminating case studies; provides additional resources at its associated website (simply go to springer.com and search for "Java in Two Semesters"), including a guide on how to install and use the NetBeansT Java IDE.Offering a gentle introduction to the field, assuming no prior knowledge of the subject, Java in Two Semesters is the ideal companion to undergraduate modules in software development or programming.
AbstractList This easy-to-follow textbook teaches Java programming from first principles, as well as covering design and testing methodologies. The text is divided into two parts. Each part supports a one-semester module, the first part addressing fundamental programming concepts, and the second part building on this foundation, teaching the skills required to develop more advanced applications.This fully updated and greatly enhanced fourth edition covers the key developments introduced in Java 8, including material on JavaFX, lambda expressions and the Stream API.Topics and features: begins by introducing fundamental programming concepts such as declaration of variables, control structures, methods and arrays; goes on to cover the fundamental object-oriented concepts of classes and objects, inheritance and polymorphism; uses JavaFX throughout for constructing event-driven graphical interfaces; includes advanced topics such as interfaces and lambda expressions, generics, collection classes and exceptions; explains file-handling techniques, packages, multi-threaded programs, socket programming, remote database access and processing collections using streams; includes self-test questions and programming exercises at the end of each chapter, as well as two illuminating case studies; provides additional resources at its associated website (simply go to springer.com and search for "Java in Two Semesters"), including a guide on how to install and use the NetBeansT Java IDE.Offering a gentle introduction to the field, assuming no prior knowledge of the subject, Java in Two Semesters is the ideal companion to undergraduate modules in software development or programming.
Author Kans, Aaron
Charatan, Quentin
Author_xml – sequence: 1
  fullname: Charatan, Quentin
– sequence: 2
  fullname: Kans, Aaron
BackLink https://cir.nii.ac.jp/crid/1130000794388694272$$DView record in CiNii
BookMark eNpdkM9PwjAUx6uCEZCjB2_EmBgPk_fadW2PSvBXSDxIjLemGx1MxoYrwr9vx4yJXtrk-z7f78v7dkmrKAtLyDnCDQKIoRIyYAFDFSgVUgjkAel7jXllL8hD0kEZyQAUfz_6N2v9zkJsky4FlCpCiuEx6SJIhihA8BPSd-4DAChixDnrkLNnszWDrBhMd-Xg1a6s29jKnZJ2anJn-z9_j7zdj6ejx2Dy8vA0up0Ept7LA5zFocXIxiZRknJQIDCGGNOUxVxYYQ3FWMxSwU1Ek5mgqYyZTGSIIZVKJaxHrptg45Z25xZlvnF6m9u4LJdO_7nQs8OGdesqK-a20g2FoOv-aloz7Xm9N-jacdU41lX5-eVP0_vgxBabyuR6fDfiikrfiycvG7LIMp1k9YvIfFEgVMikjHyioB67aLDEOJN7TK_KopxXZr1wmjOugCn2DQc7elk
ContentType eBook
Book
Copyright Springer Nature Switzerland AG 2019
Copyright_xml – notice: Springer Nature Switzerland AG 2019
DBID I4C
RYH
DEWEY 005
DOI 10.1007/978-3-319-99420-8
DatabaseName Casalini Torrossa eBooks Institutional Catalogue
CiNii Complete
DatabaseTitleList
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
DocumentTitleAlternate Java in 2 semesters : featuring JavaFX
EISBN 9783319994208
3319994204
EISSN 1868-095X
Edition 4
4th ed. 2019
Fourth edition.
Editor Kans, Aaron
Editor_xml – sequence: 1
  fullname: Kans, Aaron
ExternalDocumentID 9783319994208
467128
EBC5928075
BB28340094
5359039
GroupedDBID 0D6
0DA
38.
AABBV
AAJYQ
AATVQ
ABBUY
ABCYT
ABKBV
AEHEY
AEJLV
AEKFX
AEZAY
AIFIR
ALEXF
ALMA_UNASSIGNED_HOLDINGS
ATJMZ
AYMPB
BBABE
CXBFT
CZZ
EXGDT
FCSXQ
I4C
IEZ
MGZZY
NSQWD
OORQV
SBO
TPJZQ
Z7R
Z7S
Z7U
Z7X
Z7Y
Z7Z
Z81
Z83
Z85
Z87
Z88
ACDTA
ACDUY
AHNNE
RYH
ID FETCH-LOGICAL-a19995-1db4e16ebac982509071b0b1ff3b57e7ea21b7df75a62cd72f8b38c84142899c3
ISBN 9783319994208
3319994204
3319994190
9783319994192
ISSN 1868-0941
IngestDate Wed Jun 18 05:29:29 EDT 2025
Tue Jul 29 19:52:29 EDT 2025
Wed Jun 18 05:32:54 EDT 2025
Fri Jun 27 00:17:52 EDT 2025
Wed Jun 18 05:46:52 EDT 2025
IsPeerReviewed false
IsScholarly false
LCCN 2018961214
LCCallNum_Ident Q
Language English
LinkModel OpenURL
MergedId FETCHMERGED-LOGICAL-a19995-1db4e16ebac982509071b0b1ff3b57e7ea21b7df75a62cd72f8b38c84142899c3
Notes First ed. McGraw-Hill, 2002, 2nd ed. McGraw-Hill Education, 2006, 3rd ed. McGraw-Hill Education, 2009
Includes index
OCLC 1083117075
PQID EBC5928075
PageCount 719
ParticipantIDs askewsholts_vlebooks_9783319994208
springer_books_10_1007_978_3_319_99420_8
proquest_ebookcentral_EBC5928075
nii_cinii_1130000794388694272
casalini_monographs_5359039
PublicationCentury 2000
PublicationDate 2019
c2019
2019-01-08
PublicationDateYYYYMMDD 2019-01-01
2019-01-08
PublicationDate_xml – year: 2019
  text: 2019
PublicationDecade 2010
PublicationPlace Cham
PublicationPlace_xml – name: Netherlands
– name: Cham
PublicationSeriesTitle Texts in Computer Science
PublicationSeriesTitleAlternate Texts in Computer Science (formerly: Graduate Texts Comp. Sc.)
PublicationYear 2019
Publisher Springer Nature
Springer
Springer International Publishing AG
Springer International Publishing
Publisher_xml – name: Springer Nature
– name: Springer
– name: Springer International Publishing AG
– name: Springer International Publishing
RelatedPersons Hazzan, Orit
Gries, David
RelatedPersons_xml – sequence: 1
  givenname: David
  surname: Gries
  fullname: Gries, David
  organization: Dept of Computer Science, Cornell University, Ithaca, USA
– sequence: 2
  givenname: Orit
  surname: Hazzan
  fullname: Hazzan, Orit
  organization: Faculty of Education in Science & Tech., Technion – Israel Institute of Technolog, Haifa, Israel
SSID ssj0002116553
ssj0000615341
Score 2.090071
Snippet This easy-to-follow textbook teaches Java programming from first principles, as well as covering design and testing methodologies. The text is divided into two...
SourceID askewsholts
springer
proquest
nii
casalini
SourceType Aggregation Database
Publisher
SubjectTerms Computer programming, programs, data
Computer Science
Computer System Implementation
Control Structures and Microprogramming
Java
Java (Computer program language)
Programming Languages, Compilers, Interpreters
Subtitle Featuring JavaFX
TableOfContents 15.9.1 The Collections.sort and Arrays.sort Methods -- 15.9.2 The Comparable lessthan T greaterthan  Interface -- 15.9.3 The Comparator lessthan T greaterthan  Interface -- 15.10 Self-test Questions -- 15.11 Programming Exercises -- 16 Advanced JavaFX -- 16.1 Introduction -- 16.2 Input Events -- 16.2.1 Mouse Events -- 16.2.2  Key Events -- 16.3  Binding Properties -- 16.4 The Slider Class -- 16.5  Multimedia Nodes -- 16.5.1 Embedding Images -- 16.5.2 Embedding Videos -- 16.5.3 Embedding Web Pages -- 16.6  Cascading Style Sheets -- 16.7 Self-test Questions -- 16.8 Programming Exercises -- 17 JavaFX: Interacting with the User -- 17.1 Introduction -- 17.2 Drop-Down Menus -- 17.3 Context (Pop-Up) Menus -- 17.4 Combo Boxes -- 17.5 Check Boxes and Radio Buttons -- 17.6 A Card Menu -- 17.7 The Dialog Class -- 17.8 Self-test Questions -- 17.9 Programming Exercises -- 18 Working with Files -- 18.1 Introduction -- 18.2 Input and Output -- 18.3 Input and Output Devices -- 18.4 File-Handling -- 18.4.1 Encoding -- 18.4.2 Access -- 18.5 Reading and Writing to Text Files -- 18.6 Reading and Writing to Binary Files -- 18.7 Reading a Text File Character by Character -- 18.8 Object Serialization -- 18.9 Random Access Files -- 18.10 Self-test Questions -- 18.11 Programming Exercises -- 19 Packages -- 19.1 Introduction -- 19.2 Understanding Packages -- 19.3 Accessing Classes in Packages -- 19.4 Developing Your Own Packages -- 19.5 Package Scope -- 19.6 Running Applications from the Command Line -- 19.7 Deploying Your Packages -- 19.8 Adding External Libraries -- 19.8.1 Accessing Databases Using JDBC -- 19.8.2 Accessing Databases Using Hibernate -- 19.9 Self-test Questions -- 19.10 Programming Exercises -- 20 Multi-threaded Programs -- 20.1 Introduction -- 20.2 Concurrent Processes -- 20.3 Threads -- 20.4 The Thread Class -- 20.5 Thread Execution and Scheduling
20.6 Synchronizing Threads
6.1 Introduction -- 6.2 Creating an Array -- 6.3 Accessing Array Elements -- 6.4 Passing Arrays as Parameters -- 6.5 Varargs -- 6.6 Returning an Array from a Method -- 6.7 The Enhanced 'for' Loop -- 6.8 Some Useful Array Methods -- 6.8.1 Array Maximum -- 6.8.2 Array Summation -- 6.8.3 Array Membership -- 6.8.4 Array Search -- 6.8.5 The Final Program -- 6.9 Multi-dimensional Arrays -- 6.9.1 Creating a Two-Dimensional Array -- 6.9.2 Initializing Two-Dimensional Arrays -- 6.9.3 Processing Two-Dimensional Arrays -- 6.9.4 The MonthlyTemperatures Program -- 6.10 Ragged Arrays -- 6.11 Self-test Questions -- 6.12 Programming Exercises -- 7 Classes and Objects -- 7.1 Introduction -- 7.2 Classes as Data Types -- 7.3 Objects -- 7.4 The Oblong Class -- 7.5 The OblongTester Program -- 7.6 Strings -- 7.6.1 Obtaining Strings from the Keyboard -- 7.6.2 The Methods of the String Class -- 7.6.3 Comparing Strings -- 7.6.4 Entering Strings Containing Spaces -- 7.7 Our Own Scanner Class for Keyboard Input -- 7.8 The Console Class -- 7.9 The BankAccount Class -- 7.10 Arrays of Objects -- 7.11 The ArrayList Class -- 7.12 Self-test Questions -- 7.13 Programming Exercises -- 8 Implementing Classes -- 8.1 Introduction -- 8.2 Designing Classes in UML Notation -- 8.3 Implementing Classes in Java -- 8.3.1 The Oblong Class -- 8.3.2 The BankAccount Class -- 8.4 The static Keyword -- 8.5 Initializing Attributes -- 8.6 The EasyScanner Class -- 8.7 Passing Objects as Parameters -- 8.8 Collection Classes -- 8.8.1 The Bank Class -- 8.8.2 Testing the Bank Class -- 8.9 The Benefits of Object-Oriented Programming -- 8.10 Self-test Questions -- 8.11 Programming Exercises -- 9 Inheritance -- 9.1 Introduction -- 9.2 Defining Inheritance -- 9.3 Implementing Inheritance in Java -- 9.4 Extending the Oblong Class -- 9.5 Method Overriding -- 9.6 Abstract Classes -- 9.7 Abstract Methods
Intro -- Preface -- Contents -- Semester One -- 1 The First Step -- 1.1 Introduction -- 1.2 Software -- 1.3 Compiling Programs -- 1.4 Programming in Java -- 1.5 Integrated Development Environments (IDEs) -- 1.6 Java Applications -- 1.7 Your First Program -- 1.7.1 Analysis of the "Hello World" Program -- 1.7.2 Adding Comments to a Program -- 1.8 Output in Java -- 1.9 Self-test Questions -- 1.10 Programming Exercises -- 2 Building Blocks -- 2.1 Introduction -- 2.2 Simple Data Types in Java -- 2.3 Declaring Variables in Java -- 2.4 Assignments in Java -- 2.5 Creating Constants -- 2.6 Arithmetic Operators -- 2.7 Expressions in Java -- 2.8 More About Output -- 2.9 Input in Java: The Scanner Class -- 2.10 Program Design -- 2.11 Self-test Questions -- 2.12 Programming Exercises -- 3 Selection -- 3.1 Introduction -- 3.2 Making Choices -- 3.3 The 'if' Statement -- 3.3.1 Comparison Operators -- 3.3.2 Multiple Instructions Within an 'if' Statement -- 3.4 The 'if…else' Statement -- 3.5 Logical Operators -- 3.6 Nested 'if…else' Statements -- 3.7 The 'switch' Statement -- 3.7.1 Grouping Case Statements -- 3.7.2 Removing Break Statements -- 3.8 Self-test Questions -- 3.9 Programming Exercises -- 4 Iteration -- 4.1 Introduction -- 4.2 The 'for' Loop -- 4.2.1 Varying the Loop Counter -- 4.2.2 The Body of the Loop -- 4.2.3 Revisiting the Loop Counter -- 4.3 The 'while' Loop -- 4.4 The 'do…while' Loop -- 4.5 Picking the Right Loop -- 4.6 The 'break' Statement -- 4.7 The 'continue' Statement -- 4.8 Self-test Questions -- 4.9 Programming Exercises -- 5 Methods -- 5.1 Introduction -- 5.2 Declaring and Defining Methods -- 5.3 Calling a Method -- 5.4 Method Input and Output -- 5.5 More Examples of Methods -- 5.6 Variable Scope -- 5.7 Method Overloading -- 5.8 Using Methods in Menu-Driven Programs -- 5.9 Self-test Questions -- 5.10 Programming Exercises -- 6 Arrays
13.6.4 Method References-The Double Colon Operator -- 13.7 Generics -- 13.7.1 Bounded Type Parameters -- 13.7.2 Wildcards -- 13.8 Other Interfaces Provided with the Java Libraries -- 13.9 Polymorphism and Polymorphic Types -- 13.9.1 Operator Overloading -- 13.9.2 Method Overloading -- 13.9.3 Method Overriding -- 13.9.4 Type Polymorphism -- 13.10 Self-test Questions -- 13.11 Programming Exercises -- 14 Exceptions -- 14.1 Introduction -- 14.2 Pre-defined Exception Classes in Java -- 14.3 Handling Exceptions -- 14.3.1 Claiming an Exception -- 14.3.2 Catching an Exception -- 14.4 The 'finally' Clause -- 14.5 The 'Try-with-Resources' Construct -- 14.6 Null-Pointer Exceptions -- 14.7 The Optional Class -- 14.8 Exceptions in GUI Applications -- 14.9 Using Exceptions in Your Own Classes -- 14.9.1 Throwing Exceptions -- 14.9.2 Creating Your Own Exception Classes -- 14.10 Documenting Exceptions -- 14.11 Self-test Questions -- 14.12 Programming Exercises -- 15 The Java Collections Framework -- 15.1 Introduction -- 15.2 The List Interface and the ArrayList Class -- 15.2.1 Creating an ArrayList Collection Object -- 15.2.2 The Interface Type Versus the Implementation Type -- 15.2.3 List Methods -- 15.3 The Enhanced for Loop and Java Collections -- 15.4 The forEach Loop -- 15.5 The Set Interface and the HashSet Class -- 15.5.1 Set Methods -- 15.5.2 Iterating Through the Elements of a Set -- 15.5.3 Iterator Objects -- 15.6 The Map Interface and the HashMap Class -- 15.6.1 Map Methods -- 15.6.2 Iterating Through the Elements of a Map -- 15.7 Using Your Own Classes with Java's Collection Classes -- 15.7.1 The Book Class -- 15.7.2 Defining an equals Method -- 15.7.3 Defining a hashCode Method -- 15.7.4 The Updated Book Class -- 15.8 Developing a Collection Class for Book Objects -- 15.9 Sorting Objects in a Collection
9.8 The final Modifier -- 9.9 The Object Class -- 9.10 The toString Method -- 9.11 Wrapper Classes and Autoboxing -- 9.12 Self-test Questions -- 9.13 Programming Exercises -- 10 Introducing JavaFX -- 10.1 Introduction -- 10.2 A Brief History of Java Graphics -- 10.3 JavaFX: An Overview -- 10.4 2D Graphics: The SmileyFace Class -- 10.5 Event-Handling in JavaFX: The ChangingFace Class -- 10.6 Some More 2D Shapes -- 10.7 An Interactive Graphics Class -- 10.8 A Graphical User Interface (GUI) for the Oblong Class -- 10.9 Containers and Layouts -- 10.9.1 More About HBox and VBox -- 10.9.2 GridPane -- 10.9.3 StackPane -- 10.9.4 FlowPane and BorderPane -- 10.10 Borders, Fonts and Colours -- 10.10.1 Borders -- 10.10.2 Fonts -- 10.10.3 Colours -- 10.11 Number Formatting -- 10.12 A Metric Converter -- 10.13 Self-test Questions -- 10.14 Programming Exercises -- 11 Case Study-Part 1 -- 11.1 Introduction -- 11.2 The Requirements Specification -- 11.3 The Design -- 11.4 Implementing the Payment Class -- 11.5 The PaymentList Class -- 11.5.1 Javadoc -- 11.5.2 Code Layout -- 11.6 Testing the PaymentList Class -- 11.7 Implementing the Tenant Class -- 11.8 Implementing the TenantList Class -- 11.9 Self-test Questions -- 11.10 Programming Exercises -- 12 Case Study-Part 2 -- 12.1 Introduction -- 12.2 Keeping Permanent Records -- 12.3 Design of the Hostel Class -- 12.4 Design of the GUI -- 12.5 Designing the Event-Handlers -- 12.6 Implementing the Hostel Class -- 12.7 Testing the System -- 12.8 What Next? -- 12.9 Self-test Questions -- 12.10 Programming Exercises -- Semester Two -- 13 Interfaces and Lambda Expressions -- 13.1 Introduction -- 13.2 An Example -- 13.3 Interfaces -- 13.4 Inner Classes -- 13.5 Anonymous Classes -- 13.6 Lambda Expressions -- 13.6.1 The Syntax of Lambda Expressions -- 13.6.2 Variable Scope -- 13.6.3 Example Programs
Title Java in Two Semesters
URI http://digital.casalini.it/9783319994208
https://cir.nii.ac.jp/crid/1130000794388694272
https://ebookcentral.proquest.com/lib/[SITE_ID]/detail.action?docID=5928075
http://link.springer.com/10.1007/978-3-319-99420-8
https://www.vlebooks.com/vleweb/product/openreader?id=none&isbn=9783319994208
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV3Na9swFBdrdlkvW_fBvLZDjB0Kw8OW9dlbU1JK2QaDruQmJFuGsM6FOu2gf33fc2Q7KYXRXURibEt5v5en9y1CPlewB8nM-xS0X5PyUlapZh6G3CtfYcVMwNrh7z_k6S9-Nhfz8eSYrrpk6b-Wd4_WlfwPqnANcMUq2ScgO7wULsBnwBdGQBjGB8rv8DWqke7WdRmKf6--tOFP1-2g7az7OmCnTrT_8Z6T-Vr4HrBeeTt_3mCK0Bh-j7r0kbuOGEUvABYebXgBei_ghnVYFNhjAMO8j8rK9fQILGWCW8GU1OPGMKTrTaeghHBMQtwiW0qB8Hh-NDv7djE4sxg28RF4ZsYwZ-ynNa6hDynHrr4bc26Tbdf-BqkOEn_ZoorgWoeVobDjN4vFhvb_IGDd6QHnr8gEa0N2yLPQvCYv-xMxaBSQb8gBEp0uGgrA0AEYekgHWOgKlrfk4mR2fnyaxrMoUoc_QKR55XnIZfCuNGBVZwb42Gc-r-vCCxVUcAzYu6qVcJKVlWK19oUuNceWdsaUxTsyaa6a8J7Q2qmKSWOYFJyXKtOeV76qJTysBPxbEvJpjRr29rKLm7d2JCfLdEJ2eyJZYOtVf_PWikKYrDAJ2Qe62XKBY44hS6C74YXWEp5WLCG0p6jt3h5Tge1seiwMdkgSCTnoKW1X8_cdrmEdtrCwEtstxeoP_5htl7wYeXaPTJbXN2EfdLml_xg56R53uzkv
linkProvider Library Specific Holdings
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.title=Java+in+two+semesters+%3A+featuring+JavaFX&rft.au=Charatan%2C+Quentin&rft.au=Kans%2C+Aaron&rft.date=2019-01-01&rft.pub=Springer&rft.isbn=9783319994192&rft_id=info:doi/10.1007%2F978-3-319-99420-8&rft.externalDocID=BB28340094
thumbnail_m http://utb.summon.serialssolutions.com/2.0.0/image/custom?url=https%3A%2F%2Fvle.dmmserver.com%2Fmedia%2F640%2F97833199%2F9783319994208.jpg
thumbnail_s http://utb.summon.serialssolutions.com/2.0.0/image/custom?url=https%3A%2F%2Fmedia.springernature.com%2Fw306%2Fspringer-static%2Fcover-hires%2Fbook%2F978-3-319-99420-8