基本的小程序
原创
©著作权归作者所有:来自51CTO博客作者mb652682b70d526的原创作品,请联系作者获取转载授权,否则将追究法律责任
- 斐波那契数列。(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,
*///:~
- 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));
}
} ///:~
- (-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
}
}