はじめての Java プログラム
1 行だけ書きたいのに、置く場所がない
「文字を 1 つ返すだけ」のコードを書こうとして、まず手が止まります。Java には、文をそのまま置ける場所が無いからです。すべての文は、クラスの中のメソッドの中に入ります。
Java
public class Greeting {
public static String signature() {
return "Java 入門 1 日目";
}
}Greeting がクラス、signature がメソッド、return ...; が文です。外側から 3 枚の入れ子になっている、と見てください。ファイル名は Greeting.java のようにクラス名と揃えるのが原則ですが、このエディタでは自動で面倒を見てくれます。
Java は 1995 年に Sun Microsystems が公開し、いまは Oracle が引き継いでいます。名前の似た JavaScript とは別の言語で、文法も動く場所も違います。片方を学んでも、もう片方が書けるようにはなりません。
public static String の 4 語が読めない
宣言の行は暗号に見えますが、意味のある単語が 4 つ並んでいるだけです。
public— どこからでも呼べるstatic— オブジェクトを作らずにそのまま呼べるString— このメソッドが返す値の型signature()— メソッドの名前と、値を受け取る入り口
返すものが整数なら、String の位置が int に変わります。
Java
public class Counter {
public static int zero() {
return 0;
}
}型を先に、名前を後に書く順番は、このあと変数でも引数でもずっと同じです。途中の値を目で見たいときは System.out.println(zero()); のように書くと、実行結果の欄にその値が出ます。
大文字と ; で、まず 1 回は落ちる
Java は大文字と小文字をまったく別の文字として扱います。String を string と書くと「そんな型は無い」と止まります。文の終わりのセミコロンも省けません。
もう 1 つ、文字列は必ずダブルクォートで囲みます。
Java
String ok = "Java";
String ng = 'Java'; // シングルクォートは文字 1 個の char 用'Java' は char として読まれ、String の箱にも String を返す return にも入りません。
エラーは必ず行番号を教えてくれます。
; expectedなら直前の行末、cannot find symbolなら綴りか大文字小文字です。まず指された 1 行だけを見てください。
やってみよう
エディタの helloWorld の中身を書いて、Hello, Java! という文字列を返してください。テストは 1 文字ずつ比べます。カンマの後ろの半角スペース 1 個と、末尾の ! まで確かめてください。Hello,Java! はテストにとって別の文字列です。
要件
- クラス名は
Solution、メソッド名はhelloWorldにすること - メソッドの戻り値の型は
Stringで、引数はなし - 文字列
"Hello, Java!"をreturnで返すこと (カンマと半角スペース、末尾の ! を正確に)
入出力例
helloWorld() → "Hello, Java!"