This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.Scanner; | |
public class CommandObject { | |
private static Scanner input = new Scanner(System.in); | |
// a stubbed out example of how you can use OO to clean up | |
// how you take user input from the user. | |
public static void main(String[] args) { | |
Command c = getCommand(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.ArrayList; | |
public class ParametricPolymorphism { | |
public static void main(String[] args) { | |
// Java Generics are an implementation of parametric polymorphism. They can be complicated subject. | |
// We will only focus on their simple use case with collections (lists, sets, stacks, etc) | |
// Old Java (1.4 and older): |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.io.File; | |
import java.io.FileNotFoundException; | |
import java.io.IOException; | |
import java.util.InputMismatchException; | |
import java.util.Random; | |
import java.util.Scanner; | |
public class Exceptions { | |
// An exception is an event that occurs during the execution of a program |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class TwoDimensionalArrays { | |
public static void main(String[] args) { | |
// An array keeps track of multiple pieces of information in linear order. | |
// A one-dimensional list. | |
// The data associated with certain programs (a digital image, a board game, etc.) | |
// lives in two dimensions. To model this data, we need a multi-dimensional data | |
// structure, that is, a multi-dimensional array. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class Node { | |
private int value; | |
private Node next; | |
public Node(int value) { | |
this.value = value; | |
} | |
public Node getNext() { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.Random; | |
public class SubtypePolymorphism { | |
public static abstract class Animal { | |
public abstract String talk(); | |
public void write() { | |
System.out.println(this.talk()); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class AdHocPolymorphism { | |
// ad hoc polymorphism to refers to | |
// polymorphic functions which can be | |
// applied to arguments of different types, | |
public static class Adder { | |
// Note: int[] is not coercible to double[] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.Random; | |
public class Arrays { | |
public static void main(String[] args) { | |
// Declaration style. | |
int arrayTwo[] = new int[3]; | |
int[] arrayOne = new int[3]; // This is better! []'s are part of the type!! | |
// Indexing: We always refer to the first element of an array [0]. | |
// ex. subway example |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class ForLoops { | |
public static void main(String[] args) { | |
// for ( init ; test ; increment ) { | |
// body | |
// } | |
// 1) The 'init' code runs once to set things up at the very start of the loop. | |
// 2) The boolean 'test' is evaluated. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class Expressions { | |
public static void main(String[] args) { | |
// Expressions evaluate to a value... | |
int z = 1 + 1; | |
// ^^^^^ | |
// Statements do not. | |
System.out.println("This is a statement."); | |