Javaプログラムを実行する流れ
※eclipse等は使わない場合
Cドライブ直下にディレクトリを作成(場所・名前共に任意)
例)C:\study
Atomエディタでファイル作成
[java] ファイルの中身を記述class sample {
public static void main(String args[]){
System.out.println("Hello");
}
}
[/java]
Class名.javaの形式でファイルを保存する。
sample.java
作成したファイルをコンパイル
コマンドプロンプトを起動
(Windows+R)→cmd→OK
ディレクトリを移動
cd /study
コンパイルの実行
javac sample.java
コンパイルが終了するとsample.classが生成される。
プログラムの実行
コンパイル時と同様にコマンドプロンプトで該当ディレクトリに移動
java クラス名 の形式で入力する(.classを除外した形)
java sample
エラーがない場合はコマンドプロンプト上にプログラムが表示される。
Javaプログラムの基礎の基礎
Classの中身
クラスには、メソッドやフィールドを記述する。
メソッドにはデータを処理するための機能を記述し、
フィールドには計算対象や結果などのデータを記述する。
public static void main(String args[]){
System.out.println("Hello");
}
}
[/java]
【プログラムの実行】で行ったように、java クラス名 が実行されると、まずはmainメソッドが呼び出される。
なのでmainメソッドには最初に実行する処理を記述するのがお約束。
処理の終わりは明確にする
[java] class sample {public static void main(String args[]){
System.out.println("Hello");
System.out.println("Hey");
System.out.println("Wow");
}
}
[/java]
上記のmainメソッドには3つの文が含まれている。
1文の区切りを明確にするために、「;」が用いられる。
※インデントや改行は可読性向上の為であり意味を持たない。
※JavaScriptでは自動セミコロン挿入により「;」の省略ができたりもするが、Javaでは必要。
※メソッド内で複数文が実行される場合は、上から順に実行される。
コメントの記述
Javaにおけるコメントアウトの方法は2つ
[java]
一行コメント
//コメント内容
複数行のコメント
/*
コメント内容
複数行も可
*/
[/java]
文字エンコードの設定
Javaでプログラミングを行い、ソースコードに日本語を使用する場合には、文字コードを指定する必要がある。
文字コードを指定しない場合には、環境に依存したデフォルトの指定が適用されるため、デフォルトのエンコードを知っておく必要がある。
デフォルトの文字エンコードを調べる為のプログラム
Cドライブ直下に作成したディレクトリの中に新規ファイルmoji.javaを作成
ファイルの中には以下を記述
import java.util.Enumeration;
class moji{
public static void main(String args[]){
System.out.println(System.getProperty("file.encoding"));
}
}
[/java]
コマンドプロンプトでコンパイル→実行
C:\study>javac moji.java
C:\study>java moji
MS932
上記のようにMS932という表示が出れば、Windows環境でMS932の文字コードを使用しているということがわかる。
MS932はShift_JISの互換のようなものと思っても問題ない(実際には違うらしい)ので、ソースを保存する際にはShift_JISを指定して保存しておくことで、日本語でも正しく表示されるということになる。
異なる文字コードで保存されたソースを実行するには
コンパイルをするときに「-encoding」オプションを使用し、文字コードを指定する必要がある。
例) javac -encoding UTF-8 sample.java
*Javaで使用される文字列や数値について
文字の記述
Javaでは文字と文字列は分けて扱い、文字は一文字「あ」「A」などのことを指す。
文字リテラルとも呼ぶ。
リテラルとは、~の値といったニュアンス
文字はシングルクォーテーションでくくる
[java]
class moji{
public static void main(String arg[]){
System.out.println(‘あ’);
System.out.println(‘い’);
System.out.println(‘う’);
}
}
[/java]
文字列の記述
文字列はダブルクォーテーションでくくる。
JavaScriptではシングル、ダブルどちらを使ってもいいという決まりがあるが、Javaの場合は明確に分かれているので注意が必要。
[java]
class mojiretu{
public static void main(String arg[]){
System.out.println("文字列の記述");
}
}
[/java]
数値の記述
数値に関してはクォートでくくる必要はなく、単純に数字を記述する。
数値を「””」でくくった場合には文字列での扱いとなる。
[java]
class suchi{
public static void main(String arg[]){
System.out.println(123); //数値
System.out.println("123"); //文字列
}
}
[/java]
エスケープシーケンス
改行やタブなどは、文字の組み合わせで表すエスケープシーケンスを使う必要がある。
[java]
class sample{
public static void main(String arg[]){
System.out.println("改行などは\nエスケープ\nシーケンスを使う");
}
}
[/java]
変数の宣言とデータ型
変数の宣言
変数を宣言するときの変数名や、クラス名のことを識別子という。
識別子のつけ方にはルールがある。
・先頭には数字は使用できない
・大文字小文字は区別される
・予約語は使用できない
・記号は「_」,「$」が使える
以下はルールではないが広く使われている指針
要はわかりやすいように決まった記法で書くというのが大事。
・クラス名はPascal記法
・メソッド、変数はローワーキャメル記法
・定数は全て大文字
[java]
class sample{
public static void main(String arg[]){
int coffe;
int food;
coffe = ‘2’;
water = ‘1’;
System.out.println("コーヒーは" + coffe);
System.out.println("水は" + water);
}
}
[/java]
データ型
変数を宣言するときには、データ型を指定する必要がある。
整数を保持するためのデータ型
byte -128~127
short -32768~32767
int -2147483648~2147483647
long -9223372036854775808~9223372036854775807
※数値リテラルの整数の値はint型の範囲内となるため、long型を記述するためには、long型であることを宣言するために数値の最後に「L」を付ける必要がある。
浮動小数点数のデータ型
float 32ビット単精度浮動小数点数
double 64ビット倍精度浮動小数点数
文字のデータ型
char 一つの文字を格納するためのデータ型
boolean型
trueまたはfalseのどちらかを値を格納するためのデータ型。