言語まとめ Java
ナビゲーションに移動
検索に移動
目次
言語まとめ Java
準備
参照サイト
- JDK6 ドキュメント http://java.sun.com/javase/ja/6/docs/ja/
- Java言語規定 第三版 http://java.sun.com/docs/books/jls/third_edition/html/j3TOC.html
環境
言語基本
データ型
データ型
| 型 | 内容 |
|---|---|
| boolean | trueもしくはfalse |
| char | UTF-16文字をあらわす、符号なし整数 |
| byte | |
| short | |
| int | |
| long | |
| float | |
| double |
文字列
String msg = "hello.";
char[] c1 = {'a', 'b', 'c'];
Sring s1 = new String(c1);
配列
int[] a1 = new int[3];
a1[0] = 1;
a1[1] = 2;
a1[2] = 3;
int[] a2 = {1, 2, 3};
int[][] a3 = {
{1,2,3},
{4,5,6},
{7,7,9},
};
コレクション
- List
List l = new ArrayList();
l.put("a");
l.put("b");
// ジェネリックスを使用
List<String> l2 = new ArrayList<String>();
- Map
Map<String, Object> m = new HashMap<String, Object>();
m.put("foo", new Hoge("foo"));
m.put("bar", new Hoge("bar"));
変数
演算
| 演算子 | 内容 |
|---|---|
| ++ -- | インクリメント、デクリメント |
| + - * / | 単項 加算、減算、乗算、除算 |
| % | 剰余 |
| ~ | ビット反転 |
| ! | 否定 |
| (型) | キャスト |
| << >> >>> | シフト >>は符号つき右シフト |
| < <= >= > | 大小比較 |
| == != | 相等性、不等性 |
| ビット演算子 AND XOR OR | |
| && || | ブール演算用ショートサーキット |
| instanceof | オブジェクト型比較 |
| ?: | 条件演算子 char b = (true)?'t':'f'; |
制御
順次
文の終わりは、;
選択
- if
if (cond1) {
//
} else if (cond2) {
//
} else {
//
}
- switch
switch (cond) {
case 1:
//
break;
case 2:
//
break;
defaul:
//
}
繰り返し
- for
for (int i=0; i<100; i++) {
//
}
- 拡張for
String[] ss = {"a", "b", "c"};
for(String s : ss) {
//
}
- while
wihle(cond) {
//
}
do {
//
} while(cond);
例外
try {
// 例外が発生する可能性がある処理
} catch (Exception e){
// 例外処理
}
オブジェクト
クラス
- 継承
ラムダ式/Stream API
- Java8以降では、メソッドも型の一つ
- メソッドを引数として渡すこともできる。
- 引数の型と数、戻り値の型が同一であるメソッド参照を渡せるようになる
- その仕組みが、メソッド参照であり、ラムダ式
メソッド参照
public class MethodRef {
public static void main(String[] args) {
// メソッド参照による引き渡し
writeLine("Quote test.", MethodRef::quote);
writeLine("Indent test.", MethodRef::indent);
}
private static void writeLine(String line, Converter converter) {
System.out.println(converter.covert(line));
}
/** Converter型に対応したメソッド */
public static String quote(String value) {
return String.format("\"%s\"", value);
}
/** Converter型に対応したメソッド */
public static String indent(String value) {
return String.format("\t%s", value);
}
/** Stringを受け取りStringを返すメソッド型 */
@FunctionalInterface
public interface Converter {
String covert(String value);
}
}
- 結果
"Quote test."
Indent test.
ラムダ式基本
- 上記のメソッド参照の例では、writeLineメソッドに引き渡すためだけに、quoteおよびindentメソッドを定義している
- その場限りの利用の場合、メソッド定義を式として表すことができるラムダ式を利用できる
ファイル
ファイルを読む
ファイルに書く
© 2006 矢木浩人