Javaでよく忘れるやつの覚え書き
同確はPCにJavaを入れるか https://paiza.io/ja この辺で
エラーが出たら申し訳bangatです
プログラミング5大要素
1. 変数
Integer
IntegerSample.java
import java.io.PrintStream;
import java.lang.Integer;
class IntgerSample {
public static void main(String[] args) throws Exception {
Integer num = 10;
System.out.println(num);
}
}
String
StringSample.java
import java.io.PrintStream;
import java.lang.String;
class StringSample {
public static void main(String[] args) throws Exception {
String str = "abcdefg";
System.out.println(str);
}
}
2. 配列
Array:JavaはArrayよりListで扱う方がいいよ(Arrayだと中身が見えないからデバッグしづらい)
ArraySample.java
import java.io.PrintStream;
import java.lang.Integer;
import java.lang.reflect.Array;
class ArraySample {
public static void main(String[] args) throws Exception {
Integer[] numArray = { 1, 2, 3, 4, 5 };
System.out.println(numArray);
}
}
List:Listはインターフェイスなので実際に使用する際は
ArrayList, LinkedList, Arrays.asList() で作成したインスタンスを代入します
ListSample.java
import java.io.PrintStream;
import java.lang.Integer;
import java.util.List;
import java.util.Arrays;
class ListSample {
public static void main(String[] args) throws Exception {
List<Integer> numList = Arrays.asList(1, 2, 3, 4, 5);
System.out.println(numList);
}
}
ArrayList:可変長の配列
ArrayListSample.java
import java.io.PrintStream;
import java.lang.Integer;
import java.util.List;
import java.util.ArrayList;
class ArrayListSample {
public static void main(String[] args) throws Exception {
List<Integer> numList = new ArrayList<>();
numList.add(1);
numList.add(2);
numList.add(3);
System.out.println(numList);
}
}
Map:連想(Hash)配列 MapもListと同じインターフェイスなので実際に使うのは HashMap等を使います
MapSample.java
import java.io.PrintStream;
import java.lang.Integer;
import java.util.HashMap;
import java.util.Map;
class MapSample {
public static void main(String[] args) throws Exception {
Map<String, Integer> alfabetHash = new HashMap<>() {
{
put("a", 1);
put("b", 2);
}
};
System.out.println(alfabetHash);
System.out.println(alfabetHash.get("a"));
System.out.println(alfabetHash.get("b"));
}
}
3. ループ
Foreach
LoopSample.java
import java.io.PrintStream;
import java.lang.Integer;
import java.util.List;
import java.util.Arrays;
import java.util.Map;
import java.util.HashMap;
class LoopSample {
public static void main(String[] args) throws Exception {
List<Integer> numList = Arrays.asList(1, 2, 3, 4, 5);
Map<String, Integer> alfabetHash = new HashMap<>(){
{
put("a", 1);
put("b", 2);
put("c", 3);
}
};
// 単一行で書く場合
numList.forEach(num -> System.out.println(num));
System.out.println("--------------");
// 複数行で書く場合
numList.forEach(num -> {
num *= 10;
System.out.println(num);
});
System.out.println("--------------");
// 引数が複数の場合
alfabetHash.forEach((key, value) -> {
System.out.printf("key=%s, value=%s%n", key, value);
});
}
}
多重ループ
NestLoopSample.java
import java.io.PrintStream;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.ArrayList;
import java.util.HashMap;
class NestLoopSample {
public static void main(String[] args) throws Exception {
List<Map<String, Integer>> listHash = new ArrayList();
listHash.add(new HashMap<>() {
{
put("a", 1);
put("b", 2);
}
});
listHash.add(new HashMap<>() {
{
put("a", 10);
put("b", 20);
}
});
listHash.add(new HashMap<>() {
{
put("a", 100);
put("b", 200);
}
});
System.out.println(listHash);
System.out.println("---------------");
listHash.forEach(rowHash -> {
System.out.println(rowHash);
System.out.printf("a: %d", rowHash.get("a"));
System.out.println("");
System.out.printf("b: %d", rowHash.get("b"));
System.out.println("");
});
}
}
4. 条件分岐
IfSample.java
import java.io.PrintStream;
import java.lang.Integer;
import java.lang.String;
class IfSample {
public static void main(String[] args) throws Exception {
Integer a = 99;
System.out.printf("aの値は %d", a);
System.out.println("");
if (a < 100) {
System.out.println("aは100未満です");
}
a++;
System.out.printf("インクリメント後のaの値は %d", a);
System.out.println("");
if (a == 100) {
System.out.println("aは100です");
}
if (a <= 100) {
System.out.println("aは100以下です");
}
a++;
System.out.printf("インクリメント後のaの値は %d", a);
System.out.println("");
if (a > 100) {
System.out.println("aは100より大きいです");
}
if (a >= 100) {
System.out.println("aは100以上です");
}
if (a == 500) {
// なんか処理
} else {
System.out.printf("いいえ、500ではありません aは%dです", a);
System.out.println("");
}
if (a != 500) {
System.out.println("はい、aは500ではありません");
}
}
}
5. メソッド
Main.java
import java.io.PrintStream;
import java.lang.String;
class Main {
public static void main(String[] args) throws Exception {
String message = new MethodSample().getMessage();
System.out.println(message);
}
}
class MethodSample {
MethodSample() {
}
public String getMessage()
{
return "hallow. selamat pagi.";
}
}
6. コンパイル関連
// export JAVA_HOMEはしておくこと
$ javac -d classes classes Sample.java
// jarファイルの中を見る
$ jar tf JarSample.jar