Giter Club home page Giter Club logo

jmcamposdev / java-book-exercises Goto Github PK

View Code? Open in Web Editor NEW
6.0 1.0 3.0 632 KB

📚 Welcome to the ☕️ code exercise repository for the Paraninfo Programming book by Alfonso Jiménez Martín and Francisco Manuel Pérez Montes (ed. Paraninfo)! 👨‍💻 Improve your coding skills with carefully written and commented exercises 📝, ranging from simple to complex.

Java 100.00%
arraylist arrays binaryfiles class file-handling functions hashmap-java hashset if-else java

java-book-exercises's Introduction

Java Book Exercises (ed. Paraninfo)

In this repository I will upload all the activities carried out from the Programming manual by Alfonso Jiménez Martín and Francisco Manuel Pérez Montes (ed. Paraninfo) .

All the exercises are solved with the knowledge that I have been learning, all of them have the Title of the Exercise above the Main so that you can solve them. And you can see how I have solved it.

File structure 📁

The file structure is divided by units each unit is explained later. The units are a Netbeans Project in which each activity is a Package with its corresponding class and necessary elements.

There is a Package called Functions which has widely used functions.

  1. Keyboard reading.
  2. Handling Arrays
  3. Matrix Management
  4. String handling.
  5. Math problems

All this package is developed by me and I have used it to facilitate the development of the activities.

Units

Topics

The following are the topics covered in each unit of the manual.

Unit 1: Basic Concepts

This unit covers basic exercises to understand Java syntax, as well as other common concepts that are necessary to understand any programming language. The topics include variables, different types of operators, primitive types (sizes, ranges, and conversions), console output and input, the Java API, and a brief introduction to methods.

Unit 2: Conditionals

This topic covers selection structures, nonlinear applications, single (if), double (if-else), and multiple (switch) conditionals. Extensive use of relational and logical operators, as well as revisiting the ternary operator.

Unit 3: Loops

This unit covers repetition structures (while, do while, and for), as well as how to program applications that repeat sets of statements using loops. Has been made an extensive use of functions for the resolution of the exercises in order to not repeat code, although the functions will be explained in the next unit.

Unit 4: Functions

This unit introduces the concept of functions, the advantages of their use, and implementation in code. The exercises deal with input parameters, automating functions, overloading, and writing programs that make use of recursion. Students will also learn how to make their first libraries in Java.

Unit 5: Arrays

In this topic, we work with arrays to store multiple values in a variable. We create arrays of different types and lengths, in addition to performing the most common operations with arrays. Programs that make use of this element will be designed, modifying the length of the arrays at runtime without losing the data. Use of the Java API related to arrays and apply its use to troubleshooting.

Unit 6: Strings

In this unit, we work with the primitive type char, using methods and functionalities. Additionally, we use the String class, performing advanced operations with text. We will work with the Java API to implement applications with text.

Unit 7: Classes

This topic introduces the basic concepts of Object Oriented Programming (OOP). We write programs that make use of OOP to solve problems, making it easier for you as a programmer. We will decide if the attributes will be visible or not, for external and neighboring classes.

Unit 8: Inheritance

The projects in this unit introduce the concept of inheritance, working with classes and superclasses. We will know the access limitations to the members of a superclass, we will override methods, use the main functionalities defined in the Object class, and use abstract classes.

Unit 9: Interfaces

This topic introduces the basics of interfaces, defining abstract methods in an interface, implementing interfaces to a class, understanding interface inheritance, API interfaces such as Comparator and `Comparable, implementing anonymous classes and the use of class sorting in lists.: Interfaces

Unit 10: Text Files

In this unit you will learn the concept of exception and its types, manipulate exceptions, create exceptions, create text input and output streams using Scanner,FileWriter,FileReader,BufferedWriter,BufferedReader and PrintWriter and read and write to XML files.

Unit 11: Binary Text

In this unit we will learn how to open and close binary files with ObjectOutputStream and ObjectInputStream, to know the possible exceptions that can be thrown during file opening/closing and writing/reading, to manage systems for saving and loading data.

Unit 12: Collections

The aim of this unit is to learn about the Collections , List, Set interface. Use and know their differences from ArrayList, LinkedList, HashSet, TreeSet, LinkedHashSet and HashMap, TreeMap. Use conversions between different implementations of List and Set.

Unit 13: Stream

In this unit we will learn how to implement in-line functional interfaces, lambda expressions. Know the interfaces Predicate, Function, Consumer. Know how to use the Stream interface, use pipes in chained operations, Stream terminals.

Unit 14: Database Connectivity (JDBC)

In this unit, you will learn about data persistence using database management systems (SGBD) and how to configure the JDBC driver to access databases from different manufacturers. You will explore topics such as configuring the JDBC driver, establishing a connection between a Java program and an SGBD, executing SQL statements, and performing object-relational mapping for simple classes. By mastering these concepts, you'll be able to effectively persist data, connect to databases, execute SQL statements, and leverage object-relational mapping techniques in your Java applications.

Unit 15: Java Persistence API (JPA)

This unit focuses on the Java Persistence API (JPA) and the fundamental concepts of data persistence. You will learn how to safeguard and retrieve data in any application by understanding the conversion mechanisms between object data and relational databases. Additionally, you will classify class relationships based on navigability and cardinality.

The concept of object persistence will be explored, including its applications in file-based storage and alternative approaches. You will also become familiar with different notations and classes provided by JPA, along with the Java Persistence Query Language (JPQL) for data querying.

The unit will introduce the tools offered by NetBeans for JPA management. These tools include features such as automatic generation of entity controllers, graphical management of the persistence.xml file, and assistance for creating connections and entities from schema relationships.

By mastering the Java Persistence API and its related concepts, you will gain the ability to effectively manage data persistence, utilize different notations and classes, and harness the querying capabilities of JPQL. The tools provided by NetBeans will enhance your productivity and efficiency in JPA development tasks.

Thank you for reading the project and I hope you find it useful 😉
If you liked it please give me ⭐️

java-book-exercises's People

Contributors

hjimenezdev avatar jmcamposdev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.