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...
Saved in:
Main Authors | , |
---|---|
Format | eBook Book |
Language | English |
Published |
Cham
Springer Nature
2019
Springer Springer International Publishing AG Springer International Publishing |
Edition | 4 |
Series | Texts in Computer Science |
Subjects | |
Online Access | Get 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 |