
Please visit www.nathanieldessert.com for course resources and information. Also, please join the private FB group to connect with other students learning Java - https://www.facebook.com/groups/sipofjava.
This video provides an overview of what goes into setting up our environment. Future lessons will demonstrate how to install each piece needed to run and program Java applications.
Java 11 JDK Download Page: https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html
JetBrains IntelliJ IDEA Download Page: https://www.jetbrains.com/idea/download
It is a right of passage for programmers to write their first simple program. Typically, this first program write a message to a screen. In this lesson we will do just that.
Debugging is a very powerful tool in which we troubleshoot what is wrong with a program. The intention of this is to be able to fix or better understand a piece of code. In this lesson we will look at some of the debugging features in IntelliJ. These debugging tools will be a big assistance to students as they go through this course. Furthermore, these tools are invaluable to any developer. Debugging is a necessary skill for any programmer.
In this lecture we look at how to write text to the screen. This is done using the command "System.out.println()". We will use this command often throughout the course as a way to have programs present information to the user.
Variables are a basic Java construct for storing data within the context of a running program. They are very powerful and are a core building block for any program.
Types are a way to tell Java what kind of data is being stored in a variable. Since Java is a strongly typed language, you must always specify a type when defining a variable. This lecture looks at a handful of the most common types in Java. However, there are additional types not discussed in this lecture. See https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html for a comprehensive list of types in Java.
Math operators are how we transform numerical data within a Java application. With these operators you can do something as simple as adding numbers to something as complicated as calculus.
The String type has a number of methods that provide a number of handy utility methods for manipulating text. While methods (functions) will be discussed in more detail in a future lecture, some basic methods are discussed here. The intent is to arm students with some powerful ways to display text data in some of their early applications.
An "if" block is used to start a conditional check in your program. If the conditions in the if expression evaluate to true, the program will execute a section of code. Otherwise, the code will not execute the code in the "if" block. This is a very powerful feature that will allow us to specify different execution paths in our programs.
This lecture looks at a way to reverse the value of boolean. By using the ! ("not") keyword, we gain the ability to further influence our programs with conditional logic.
The equality operators == and !== allow a programmer to compare values. In this section we will look at how this can be used to control the execution path in your program.
This lecture looks at using the >, >=, <, and <= to influence our programs execution.
The "and" operator && is used to check to make sure two values are both true. If both values are true, the && evaluates to true. If either of the values are false, the entire && evaluates to false.
The "or" operator || is used to check to make sure at least one of two values is true. If one of the values is true, the || evaluates to true. If both of the values are false, the entire || evaluates to false.
An "else" code block is used to specify that a program should perform a set of actions if the previous "if" expressions was false. This lesson will explain how to accomplish this functionality.
The "else if" term is used for specifying a block of code to run only if the previous condition was false and the current if expression evaluates to true. This lesson will explore this concept further.
Arrays allow us to group like data together for easy access. Arrays are a very powerful concept that will enable future concepts such as loops.
This lesson continues the concept of arrays. An arrays allow us to group like data together for easy access. Arrays are a very powerful concept that will enable future concepts such as loops.
This will be our first look at a program loop. A loop is a way to tell your program to repeat itself. In this lessons we will look at the "while" loop.
Arrays and loops synergies well together. The array allows for a bunch of data to be stored in a traversable way, and the loop allows us to quickly evaluate each piece of data in the array.
A "do while" loop is used to guarantee that the loop will execute at least once. This is different from the "while" loop which will only ever execute if the condition expression is true. However, after the initial loop, both the "while" and "do while" loops behave the same way.
The next type of loop we will look at is called the "for" loop. This structure allows us to combine our more elegantly express the terms in which the program should loop.
There are times where we may want to augment how a program is executing within a loop. Thankfully, there are two keywords to assist with this - "break" and "continue." A "break" is used if we want to immediately exit out of the loop. A "continue" is used to skip the current iteration of the look. We will take a look at these commands in this lessons.
Errors will come up in programs. The "try/catch block" allows programmers to protect their code from potential problems.
In this lesson we combine a lot of concepts that we have learned in order to make a simple recipe app.
Functions provide a way to group a chunk of code into a reusable components. In this lesson we will take a look on how we can use this capability to start organizing our code.
Certain functions may need to pass in certain information in order to be able to perform its task. We will explore how to specify typed function parameters in this lesson.
Functions have the ability to return a typed value. We will take a look at how to do this in this lesson.
Let's talk about Java classes. A class allows programers to further structure their code by defining structures. These structures can take on a number of shapes and provide a wide array of functionality. Additionally, by making a class, we have the opportunity to use that class as a object type in our program.
This lesson will be cover our first pass at making a class. We will make a simple class that has a couple properties on it.
Classes are able to interact with other classes. We will discover how to do this in this lesson.
There are times when you may want to certain properties and methods in a class to not be accessible outside of the class. Or, in the opposite case, certain class behavior may need to be used outside the class. Both situations can be accomplished by using accessors. The two accessors we will look at are "public" and "private."
Behavior can be added to classes by way of functions. We will look at how to accomplish this. This skill will enable you to make more powerful classes to serve your programming needs.
We will continue to look at adding behavior to classes in this lesson.
We will look at reading and writing data in this section. This lesson speaks to why this is important.
A CSV (Comma Separated Value) file is a common way to store data. In this sections we will explore how we can read in data from a CSV to be used in our program. We will use the Scanner class to accomplish this.
In the previous lesson we wrote a program that will read data in from a CSV. This lesson continues that program by further parsing the incoming data into a class.
In this lesson we look at extending our program to be able to search for a user. In addition to adding search functionality, we also take a tour of some of the debug features in IntelliJ IDEA to verify that the program is working correctly.
To wrap up this section, we will look at writing data to a file external to the program. We will do this with the File and FileOutputStream to accomplish this.
A GUI (Graphical User Interface) is a program that has a visual display for users to interact with. In this section we will look at how to use Swing library to create our own GUIs in Java
In this section we will using Swing and the IntelliJ form editor to create a Hello World GUI. This interface will simply have a view window with a text message.
Buttons provide a way for programmers to add events in their GUI. In this lesson we will add a button to the our app that will show a dialog when clicked.
There are times when we want data to be sent between GUI elements. In this lesson we will connect a button and a text field to be able to send custom messages to a pop-up dialog.
We will combine everything we have learned in this section to make a simple counting game. This exercise is meant to demonstrate how you may combine different skills in this course to make more complicated GUIs.
Thank you for watching. Please visit the FB group to join the community of other students- https://www.facebook.com/groups/sipofjava. Also, I would appreciate any feedback on the course. What did you like? What did you not like? And how could the course be made better?
Explore no-college paths to a tech career by building a strong app portfolio, taking coach camps or courses, and showcasing current skills and passion.
A Sip of Java is for those who are interested in learning the basics of Java without all the extra details. This course aims to be the quickest way for a student to go from knowing nothing or very little about Java and programming to writing their own applications. In this course students will learn how to:
Setup their computer to write and run Java applications
Write console apps that can respond to user input
Learn Java language basics - types, variables, conditions, loops, operators, functions, classes, etc.
Read and write data to external files
Create their own GUI (Graphical User Interface) applications
Start their path to becoming an accomplished programmer
Learning how to program with Java is a great skill to have. This course is designed to be the fastest way to understand core concepts of Java.