This file contains hidden or 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 hidden or 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 hidden or 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 ListBasedStack<T> implements Stack<T> | |
{ | |
private Node<T> top = null; | |
public boolean isEmpty() | |
{ | |
return top == null; | |
} | |
public void clear() |
This file contains hidden or 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; | |
import java.util.List; | |
public class ExpressionParser { | |
public static void main(String[] arg) { | |
// Assume the entered expression has only the expected characters otherwise they are ignored | |
String input = "(400+8) * (6-5)/((311-2) *(2+2)) xxx"; | |
// Parse input |
This file contains hidden or 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 ListBasedQueue<T> implements Queue<T> | |
{ | |
private Node<T> first; // beginning of queue | |
private Node<T> last; // For efficiency, maintain a reference to the least-recently added Node on the queue. | |
public ListBasedQueue() { | |
first = null; | |
last = null; | |
} |
This file contains hidden or 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; | |
import java.util.List; | |
public class ForEach { | |
public static void main(String[] args) { | |
// Let's say we have a plain old array, like this one. | |
char[] array = "This is a character array.".toCharArray(); |
This file contains hidden or 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 FizzBuzz { | |
public static void main(String[] args) { | |
for(int i = 0 ; i < 100 ; ++i) { | |
boolean fizz = i % 3 == 0; | |
boolean buzz = i % 5 == 0; | |
if (fizz && buzz) { | |
System.out.println("FizzBuzz"); | |
} else if (fizz) { | |
System.out.println("Fizz"); | |
} else if (buzz) { |
This file contains hidden or 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.Arrays; | |
public class Methods { | |
public static void main(String[] args) { | |
// Methods are just functions that belong to a particular class | |
// Methods are sub-routines. Reusable code. | |
// Method have parameters, are called with arguments |
This file contains hidden or 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
// Question 1 | |
public static boolean isVowell(char letter) { | |
switch (letter) { | |
case 'a': | |
case 'e': | |
case 'i': | |
case 'o': | |
case 'u': | |
return true; | |
case 'y': |
This file contains hidden or 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 Scoping { // class scope begins | |
// Because 'a' is declared just inside the *class curly braces* it is in 'class scope' | |
// therefore its visible everywhere inside the class. This is the 'widest' scope in this file. | |
private int a = 0; | |
// Class variables have class scope! | |
private static String classVariable = "I am a class variable!"; | |
public void methodOne() { // methodOne scope begins |