Switch to the store?

Java Fundamentals

More Information
  • Create and run Java programs
  • Use data types, data structures, and control flow in your code
  • Implement best practices while creating objects
  • Work with constructors and inheritance
  • Understand advanced data structures to organize and store data
  • Employ generics for stronger check-types during compilation
  • Learn to handle exceptions in your code

Since its inception, Java has stormed the programming world. Its features and functionalities provide developers with the tools needed to write robust cross-platform applications. Java Fundamentals introduces you to these tools and functionalities that will enable you to create Java programs.

The book begins with an introduction to the language, its philosophy, and evolution over time, until the latest release. You'll learn how the javac/java tools work and what Java packages are - the way a Java program is usually organized. Once you are comfortable with this, you'll be introduced to advanced concepts of the language, such as control flow keywords. You'll explore object-oriented programming and the part it plays in making Java what it is. In the concluding chapters, you'll get to grips with classes, typecasting, and interfaces, and understand the use of data structures, arrays, strings, handling exceptions, and creating generics.

By the end of this book, you will have learned to write programs, automate tasks, and follow advanced courses on algorithms and data structures or explore more advanced Java courses.

  • Get introduced to Java, its features, and its ecosystem
  • Understand how Java uses object-oriented programming
  • Become an expert Java exception handler
Page Count 408
Course Length 12 hours 14 minutes
ISBN 9781789801736
Date Of Publication 15 Mar 2019


Gazihan Alankus

Gazihan Alankus holds a Ph.D. in computer science from Washington University in St. Louis. Currently, he is an assistant professor at the Izmir University of Economics in Turkey. He teaches and conducts research on game development, mobile application development, and human-computer interaction. He worked as an author for Java Fundamentals and as a technical reviewer on Beginning Modern C# and .NET Development.

Rogério Theodoro de Brito

Rogério Theodoro de Brito has a bachelor's degree in computer science and a master's degree in computational biology, both from the University of São Paulo, Brazil. Academically, he is a free/open source software (FOSS) enthusiast and teaches various subjects in computer science and IT at the Mackenzie Presbyterian University in São Paulo, Brazil. He was the technical reviewer of Packt's edX E-Learning Course Marketing. After completing his master's degree, he started his role as an academic instructor and has been working with many languages, such as C, C++, Java, C, Perl, and Python. He writes, co-writes, and maintains a number of projects with two of the most prominent learning platforms, coursera-dl and edx-dl, and is dedicated to helping users of Massive Open Online Courses (MOOCs) download materials for their study from MOOC platforms. He is very excited by using the Java language to build Android applications.

Basheer Ahamed Fazal

Basheer Ahamed Fazal works as a technical architect at a renowned Software as a Service-based product company in India. He had advanced his career with technology organizations such as Cognizant, Symantec, HID Global, and Ooyala. He has seasoned his programming and algorithmic abilities by solving complex problems around agile product development, including those to do with microservices, Amazon Web Services, Google Cloud-based architectures, application security, and big data- and AI- driven initiatives. Apart from his technical career, he has emerged as a professional trainer and has conducted various training sessions on Java, Python, application security, machine learning, and more. He holds a bachelor's degree in electronics and communication engineering from Anna University, Chennai, and has a Scrum Master Certification from Scrum Alliance.

Vinicius Isola

Vinicius Isola has a diverse background with a bachelors' degree in physics from the University of Campinas. In 1999, he started learning how to program ActionScript, when Macromedia Flash was taking over the internet. In 2002, while taking a 10-month course on Visual Basic, he used it to build a simulation of life using Cellular Automata combined with Genetic Algorithms for his scientific initiation program at university. At the beginning of 2005, he got his first job in the computer world at a call center. He was then promoted to a data support position where he learned a lot about SQL and databases. Also in 2005, he decided to learn Java and took a 5-day course at Sun Microsystems. After that, he started using Java to build tools to help him at work, automating multiple workflows and saving him a lot of time, freeing up more time to learn new technologies.

In 2007, he got his first software engineering job at IBM, working with Java and Apache Struts. Between 2008 and 2010, he worked for multiple consulting companies, gaining a lot of experience on distributed systems. In mid-2010, he started building a Java course, which drove him to start his own programming school in the beginning of 2011. In mid-2011, he had to shut down his school and go back to working full-time as a software engineer.

At the end of 2011, he moved to Boston, Massachusetts, and since then has worked for multiple companies, including Amazon, HubSpot, and Panorama Education. During this time, he has worked with many programming languages, databases, and technologies, including Android, Javascript, Node.js, Python, Ruby on Rails, MySQL, PostgreSQL, Apache Kafka, and Apache HBase. Nowadays, he works as a full-time software engineer at Everbridge and spends his spare time learning new programming languages, such as Go, and building tools to help developers implement powerful continuous integration and continuous deployment of automated pipelines.

Miles Obare

Miles Obare leads the data engineering team at Betika, a Nairobi-based sports betting firm. He works on building real-time, scalable backend systems. Formerly, he worked as a data engineer for a fintech start-up, where his role involved developing and deploying data pipelines and machine learning models to production. He holds a degree in electrical and computer engineering and often writes about distributed systems.