Traditionally the very first program you write when learning a programming language, a program that prints "Hello world" to the user.
Java method that lets us print out a line of output to the user
Java method that lets us print output to the user, without ending the line printed.
The `"` character
`lowerCamelCase` is a naming convention where the first letter is lower case, and each subsequent start of a word is upper case.
A symbol or container that holds a value.
`int` is a Java type that represents an integer (a whole number)
String is a Java type that represents a string of characters (text)
`char` is a Java type that represents a single character (a single letter)
`boolean` is a Java type that can either be true or false
`double` is a Java type that represents a real number with decimal values
Declaring a variable is defining it for the first time.
Initializing a variable is giving it an initial value, or a starting value.
Assigning to a variable is updating the variable's value
The type of a variable defines what kinds of values the variable can hold
Java method that lets us read in a line of input from the user as a String
Java method that lets us read in an integer input from the user
Java method that lets us read in a decimal value input from the user
Java method that lets us read in a true or false value input from the user
The modulus operator (written as % in most programming languages) divides two numbers and returns the remainder.
When two integers are divided, the decimal values are truncated, or chopped off.
Casting is turning something of one type into another type
To flip a boolean value, or take the opposite of a boolean value. If you negate true, you get false. If you negate false, you get true.
Logical operator that ANDs two boolean values. Written as `&&`. `a && b` will be true if both `a` and `b` are true.
Logical operator that ORs two boolean values. Written as `||`. `a || b` will be true if `a` or `b` is true.
Logical operator that negates a single boolean value. Written as `!`. `!a` will be true if `a` is false, and false if `a` is true.
Used to make logical associations between boolean values.
A for loop lets us repeat code a **fixed number of times**.
A variable used to count the number of times an action has been performed.
Otherwise known as Don’t Repeat Yourself, this principle is designed to help eliminate repeated code and reduce the complexity of a solution
A control structure lets us change the flow of the code.
An edge case is a problem in your code that only occurs in extreme situations.
A problem when using a while loop where you forget one action at the beginning or the end.
An if statement lets you ask a question to the program and only run code if the answer is true.
Control structure that lets us run either one section of code or another depending on a test.
Indentation is the visual structure of how your code is laid out. It uses tabs to organize code into a hierarchy.
A loop that has no way of stopping, and will keep looping forever.
A loop, most often set with `while(true)`, that has a `break` statement in the loop body.
A constant that has the specific purpose of being the value that breaks out of a loop.
The `break;` statement breaks out of the current loop, without executing any more code in the loop.
A short cut when evaluating boolean expressions. If the result can be determined solely by the first part of a boolean expression, the second part is not evaluated, it is skipped.
Laws that define how we can negate an AND statement and how we can negate an OR statement
An object is a single instance of a Java class. An object has both state and behavior.
Primitive types are the basic, simple data types that are inherent to Java (int, double, char, and boolean)
Concatenation is another word for combining. Concatenating Strings is when we add Strings together.