1. 斐波那契数列。(Fibonacci)
public class Fibonacci {
	
	public static int fib(int n) {
		if(n < 2) return 1;
		return fib(n-2) + fib(n-1);
	}

	public static void main(String[] args) {
		for(int i = 0; i<18; i++) {
			System.out.print(fib(i) + ", ");
		}
	}
} /* output:
1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 
*///:~
  1. LinkedStack (参照Thinking In Java P357)
public class LinkedStack<T> {
  private static class Node<T> {
    T item;
    Node<T> next;
    Node() { item = null; next = null; }
    Node(T item, Node<T> next) {
      this.item = item;
      this.next = next;
    }
    boolean end() { return item == null && next == null; }
  }
  private Node<T> top = new Node<T>(); // End sentinel
  public void push(T item) {
    top = new Node<T>(item, top);
  }	
  public T pop() {
    T result = top.item;
    if(!top.end())
      top = top.next;
    return result;
  }
  public static void main(String[] args) {
    LinkedStack<String> lss = new LinkedStack<String>();
    for(String s : "Phasers on stun!".split(" "))
      lss.push(s);
    String s;
    while((s = lss.pop()) != null)
      System.out.print(s + ", ");
  }
} /* Output:
stun!, on, Phasers, 
*///:~
public class Sets {
  public static <T> Set<T> union(Set<T> a, Set<T> b) {
    Set<T> result = new HashSet<T>(a);
    result.addAll(b);
    return result;
  }
  public static <T>
  Set<T> intersection(Set<T> a, Set<T> b) {
    Set<T> result = new HashSet<T>(a);
    result.retainAll(b);
    return result;
  }	
  // Subtract subset from superset:
  public static <T> Set<T>
  difference(Set<T> superset, Set<T> subset) {
    Set<T> result = new HashSet<T>(superset);
    result.removeAll(subset);
    return result;
  }
  // Reflexive--everything not in the intersection:
  public static <T> Set<T> complement(Set<T> a, Set<T> b) {
    return difference(union(a, b), intersection(a, b));
  }
} ///:~
  1. (-128, 127) 的整数是相等的  128以上就作为不同对象处理了.
public class Snippet {
	public static void main(String[] args) {
		Integer i=100;    Integer j=100;
		System.out.println(i==j);  //打印true

		i=200;    j=200;
		System.out.println(i==j);  //打印false
	}
}