Java
性質
整数/整数は整数、つまり10/3は3となってしまうため、10.0f/3.0fとしないといけない。
Hello World
クラス名(classの右の単語)はファイル名「○○.java」の「○○」と一致しないといけない。
public class Main {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
ファイルの実行
一度.classファイルにコンパイルしてから、Main(クラス)を実行する。
$ javac Main.java
$ java Main
データ型
型 | 備考 |
---|---|
byte | 8ビット符号つき整数。-128から127まで |
short | 16ビット符号つき整数。-32768から32767まで |
int | 32ビット符号つき整数。-2147483648から2147483647まで |
long | 64ビット符号つき整数。-9223372036854775808から9223372036854775807まで |
double | 小数型、3.14など |
float | 浮動小数型、3.14Fなど |
char | 文字型、'A'など。シングルクォーテーションを使う。 |
boolean | 真偽値、trueまたはfalse |
String | 文字列型、"Hello"など。ダブルクォーテーションを使う。「S」は大文字。 |
整数型リテラル
- 普通の整数型はint型として扱われ、末尾にlまたはLをつけるとlong型になる。
- 「0b~」で2進数、「0~」で8進数、「0x~」で16進数を表す。
- また、表記内の_は無視される。
小数型リテラル
普通の小数はdouble型として扱われ、末尾にfまたはFをつけるとfloat型になる。 また、表記内の_は無視される。
配列
通常の配列の長さは事前に指定する必要がある。
int[] a = new int[5];
a[0] = 1;
int[] a = { 1, 2, 3 };
具体的な構文
条件分岐
if(条件) {
// 処理
} else {
// 処理
}
if(条件) {
// 処理
} else if(条件) {
// 処理
} else {
// 処理
}
switch文
switch(変数) {
case 値1:
case 値2:
// 値1か値2のときここが実行される
break;
case 値3:
// 値3のときにここが実行される
break;
default:
// 値1、2、3のいずれでもない時にここが実行される
break;
}
関数(メソッド)
private static double calcArea(double a, double b) {
double result = a * b;
return result;
}
プログラム全体ではこのようになる
public class Main {
public static void main(String[] args) {
System.out.println(factorial(6));
}
private static int factorial(int input) {
int k = 1;
int result = 1;
do {
result *= k;
k++;
} while(k <= input);
return result;
}
}
繰り返し処理
while(条件) {
// 処理
}
while(i < 3) {
System.out.println(i);
i++;
}
// -> 0 1 2
do文は「何か処理を実行して処理の結果を評価し、成功するまで繰り返す」といったようなものを作るときに使う。
do {
// 処理
} while(条件);
また、
for(int i=0; i<3; i++) {
// 処理
}
int[] indexes = {1, 2, 3};
for(int i: indexes) {
// 処理;
}
ユーティリティ
文字列から数値を読み取る
int i = Integer.parseInt("123");
実例
ターミナルから整数の入力を受け取る
import java.util.Scanner;
import java.util.InputMismatchException;
public class Main {
public static void main(String[] args) {
try {
Scanner scanner = new Scanner(System.in);
System.out.print("Input > ");
int t = scanner.nextInt();
System.out.println(t * t);
scanner.close();
} catch (InputMismatchException e) {
System.out.println("Please input the integer.");
}
}
}