Java 快速参考指南
为了什么而努力达到的目标。
人们会忘记事物。
如果用各种语言写下来,可能会更加显著。
在写之前浏览一下可能会更顺利。
基本数据类型
型説明範囲byte整数8ビット-128~127short整数16ビット-32,768~32,767int整数32ビット-2,147,483,648~2,147,483,647long整数64ビット-9,223,372,036,854,775,808~9,223,372,036,854,775,807charUnicode文字16ビット\u0000~\uFFFFfloat浮動小数点数32ビット(省略)double浮動小数点数64ビット(省略)boolean-true, false
运算符
算数运算符
5 + 2; // 7 加算
5 - 2; // 3 減算
5 * 2; // 10 乗算
5 / 2; // 2 除算
5 % 2; // 1 剰余
y = ++x; // 前置 y = (x += 1);
y = x++; // 後置 y = x; x = x + 1;
比較運算符
x < y; // 未満
x <= y; // 以下
x >= y; // 以上
x > y; // 超過
x == y; // 同値
x != y; // 同値ではない
布尔运算符
x && y; // AND
x || y; // OR
!x; // NOT
字符串
String str = "文字列"; // 初期化
str.length(); // 長さ
str.subString(start, end); // startからend-1の切り取り
str1.equals(str2); // 同値判定
str1.compareTo(str2); // 比較
// str1 < str2 -> -1
// str1 == str2 -> 0
// str1 > str2 -> 1
char c = str.charAt(i); // String -> char i番目の文字
char[] cs = str.toCharArray(); // String -> char 全体
数据转换
int i = Integer.parseInt(str); // int <- String
int i = (int) d; // int <- double
double d = Double.parseDouble(str); // double <- String
double d = (double) i; // double <- int
String s = String.valueOf(i); // String <- int
String s = String.valueOf(d); // String <- double
数值处理 数学
Math.max(2, 5); // 5 大きい方
Math.min(2, 5); // 2 小さい方
Math.abs(-3); // 3 絶対値
Math.ceil(1.5); // 2.0 切り上げ
Math.floor(1.5); // 1.0 切り捨て
Math.round(1.5); // 2.0 四捨五入
Math.pow(2, 10); // 1024 累乗
Math.sqrt(2); // 1.414… 平方根
Math.log10(1000); // 3 常用対数
Math.PI // π 円周率
Math.E // e 自然対数の底
文本格式化器
也许过一段时间我会写。
控制語句
如果
if ( i > 0 ) {
;
} else if ( i < 0 ) {
;
} else {
;
}
对于/对于每一个
for ( int i = 0; i < max; i++ ) {
;
}
for ( var : collection ) {
;
}
当 / 循环
while ( i > 0 ) {
;
}
do {
;
} while ( i > 0 );
转换
交换
变换
切换
改变
转变
switch ( i ) {
case 0:
;
break;
case 1:
;
break;
default:
;
}
数组
一维数组
// 初期化
int[] num = new int[10];
Arrays.fill(num, 0);
// ディープコピー deep copy
String[] copySrc = new String[10]; // コピー元
String[] copyDst = new String[10]; // コピー先
copyDst = Arrays.copyOf(copySrc, copySrc.length);
多维数组
// 初期化
int[][] num = new int[10][10];
for (int i = 0; i < num.length; i++) {
Arrays.fill(num[i], 0);
}
// ディープコピー
String[][] copySrc = new String[10][10]; // コピー元
String[][] copyDst = new String[10][10]; // コピー先
for (int i = 0; i < copySrc.length; i++) {
copyDst[i] = Arrays.copyOf(copySrc[i], copySrc[i].length);
}
ArrayList 列表
// 初期化
List<String> list = new ArrayList<String>();
// オブジェクトによる操作
list.add(str); // 追加
list.remove(str); // 削除
list.indexOf(str); // インデックス取得
list.contains(str); // 存在チェック
// インデックスによる操作
list.get(i); // i番目を取得
list.set(i, str); // i番目を置換
哈希映射 哈希映射
// 初期化
// key -> int
// value -> String
HashMap<Integer, String> hMap = new HashMap<Integer, String>();
hMap.put(i, str); // 追加
hMap.get(i); // 取得
hMap.containsKey(i); // 存在チェック
优先级队列优先度 PriorityQueue
PriorityQueue<Integer> pQueue = new PriorityQueue<Integer>();
pQueue.offer(i); // 追加
pQueue.peek(i); // 取得(キューから削除しない)
pQueue.poll(i); // 取得(キューから削除する)