2011年3月26日土曜日

JAVAについて学ぶ

■統合開発環境
IDE(Integrated Development Environment)
エディット、コンパイル、デバッグなどを統合的に行えるようにしたプログラム開発環境

■Javaプログラム実行
・Projectを作成
・クラスを作成
・コードを記入
・Run AsからJava Applicationを実行する
・コンソールに結果が表示される

■プリントコマンド
System.out.prinln()
printとprintlnがあり、printlnはprint lineらしい。改行を含める。

■クラスファイルの最初の宣言文の意味
public static void main(String args[])
・public
どのクラスからもアクセスできる
・static
固定。クラス特有の値やメソッドを持たない。
・void
戻り値なし
・main
プログラムのエントリポイントだそうな。実行するとまずこのmainメソッドを探す
・args
変数。argument、引数の略。

■ダイスを振るクラスを作る
java.util.Randomメソッドを呼び出し、nextInt()で数値を返す。
このときnextIntの返す数値が、0〜指定した数値なので、1を足している

public class Dice {
java.util.Random r = new java.util.Random();
public int roll(){
return r.nextInt(6)+1;
}
}

・実行サイド
Diceクラスを呼び出し、diceに値を入れて、出力。

public class DiceTest {
public static void main(String[] args) {
Dice dice = new Dice();
System.out.println(dice.roll());
 }
}

■インターフェイスの利用
DiceIF.java
public interface DiceIF {
public int roll();
}

FakeDice.java
public class FakeDice implements DiceIF {
int[] values = new int[] {
3, 4, 2, 1, 5, 6
};
int current = 0;
@Override
public int roll() {
current++;
if(current == 6) current =0;
return values[current];
}

}

RealDice.java
public class RealDice implements DiceIF {
java.util.Random r = new java.util.Random();
@Override
public int roll() {
return r.nextInt(6)+1;
}
}

Sample101.java
public class sample101 {
public static void main(String[] args) {
// TODO Auto-generated method stub
sample101 sample = new sample101();
System.out.println("FakeDice");
sample.rolls(new FakeDice());
System.out.println("RealDice");
sample.rolls(new RealDice());
}
public void rolls(DiceIF dice) {
for (int i=0 ; i<6 ; i++) {
System.out.println(dice.roll());
}
}

}


■参照サイト
Javaで覚えるIT技術者の40の常識
http://www.atmarkit.co.jp/fjava/channel/javajousiki.html
いまから始めるJava
http://www.atmarkit.co.jp/fjava/rensai2/javaent02/javaent02.html

0 件のコメント:

コメントを投稿