例外
// 例外処理
class MyException extends Exception {
  public MyException(String s){
    super(s);
  }
}
public class MyApp{
  public static void div(int a, int b){
    try {
      if (b < 0){
        throw new MyException("not minus!");
      }
      System.out.println(a / b);
    } catch (ArithmeticException e){
      System.err.println(e.getMessage());
    } catch (MyException e){
      System.err.println(e.getMessage());
    } finally{
      System.out.println(" -- end -- ");
    }
  }
  public static void main(String[] args){
    div(3, 0);
    div(5, -2);
  }
}
ラッパークラス
public class MyApp{
  public static void main(String[] args){
    // Integer i = new Integer(32);
    // int n = i.intValue();
    Integer i = 32; // auto boxing
    i = null;
    int n = i; // auto unboxing
    
    System.out.println();
  }
}
generics:型の汎用化
class MyData<T> {
  public void getThree(T x){
    System.out.println(x);
    System.out.println(x);
    System.out.println(x);
  }
}
public class MyApp{
  public static void main(String[] args){
    // MyInteger mi = new MyInteger();
    // mi.getThree(55);
    MyData<Integer> i = new MyData<>();
    i.getThree(32);
    MyData<String> s = new MyData<>();
    s.getThree("hello");
  }
}
Thread処理:
class MyRunnable implements Runnable{
  @Override
  public void run(){
    for (int i= 0; i < 500; i++){
      System.out.print('*');
    }
  }
}
public class MyApp{
  public static void main(String[] args){
    MyRunnable r = new MyRunnable();
    Thread t = new Thread(r);
    t.start();
    for (int i= 0; i < 500; i++){
      System.out.print('.');
    }
  }
}
無名クラス
public class MyApp{
  public static void main(String[] args){
    // MyRunnable r = new MyRunnable();
    // Thread t = new Thread(r);
    // t.start();
    new Thread(new Runnable(){
      @Override
      public void run(){
        for (int i= 0; i < 500; i++){
          System.out.print('*');
        }
      }
    }).start(); // 無名クラス
    for (int i= 0; i < 500; i++){
      System.out.print('.');
    }
  }
}
Stringクラス
public class MyApp{
  public static void main(String[] args){
      String s = "abcdef";
      System.out.print(s.length());
      System.out.print(s.substring(2, 5));
      System.out.print(s.replaceAll("ab","AB"));
      String s1 = "ab";
      String s2 = "ab";
      if (s1.equals(s2)){
        System.out.print("same!");
      }
      if (s1 == s2){
        System.out.print("same!same!");
      }
    }
}
printfメソッド
public class MyApp{
  public static void main(String[] args){
    int score=50;
    double height=165.8;
    String name ="yoshimoto";
      System.out.printf("name: %s, score: %d, height: %f\n", name, score, height);
      System.out.printf("name: %-10s, score: %10d, height: %5.2f\n", name, score, height);
      String s = String.format("name: %10s, score: %-10d, height: %5.2f\n", name, score, height);
      System.out.println(s);
    }
}
Math, randomクラス
import java.util.Random;
public class MyApp{
  public static void main(String[] args){
      double d = 53.234;
      System.out.println(Math.ceil(d));
      System.out.println(Math.floor(d));
      System.out.println(Math.round(d));
      System.out.println(Math.PI);
      Random r = new Random();
      System.out.println(r.nextDouble()); // 0-1
      System.out.println(r.nextInt(100)); // 0-1
      System.out.println(r.nextBoolean()); // 0-1
    }
}
ArrayList
import java.util.*;
public class MyApp{
  public static void main(String[] args){
      List sales = new ArrayList<>();
      sales.add(10);
      sales.add(20);
      sales.add(30);
      for (int i = 0; i < sales.size(); i++){
        System.out.println(sales.get(i));
      }
      sales.set(0, 100);
      sales.remove(2);
      for (Integer sale: sales){
        System.out.println(sale);
      }
    }
} 
Hash.set
import java.util.*;
public class MyApp{
  public static void main(String[] args){
      HashSet sales = new HashSet<>();
      sales.add(10);
      sales.add(20);
      sales.add(30);
      sales.add(10);
        System.out.println(sales.size());
        for (Integer sale: sales){
          System.out.println(sale);
        }
        sales.remove(30);
        for (Integer sale: sales){
          System.out.println(sale);
        }
    }
}