Javaレクチャー 01

H111068 関谷 希実
H111115 安岡 里菜
みんなの状況を教えて下さい!
JavaⅠA・ⅠBとった人
今授業で何してる?

jdk入ってる?
コマンドプロンプトで「javac」
打ってみよう!
1.Java言語とは
2.ガベージコレクション
3.マルチプラットフォーム
4.オブジェクト指向
5.オブジェクト
6.クラス
7.インスタンス
8.利点
9.課題
ラ王がだーーーい好きな言語(*´ω`*)
オブジェクト指向プログラミング言語
他:C++,Ruby,C#など
→Cなどは?
手続き型プログラミング言語
ガベージコレクション
マルチプラットフォーム
不要になったメモリ領域を自動的に開放
する機能
CやC++では必ず後片付けが必要
→JavaやC#では不要
int* p = ( int* )malloc( sizeof( int ) );
…
free( p );
メモリの開放
環境(OS)に依存せずに実行可能
JVM(Java
Virtual Machine)
簡単にざっくり言うと…
オブジェクトの組み合わせによってプロ
グラムを構築
オブジェクト=
属性(フィールド)+操作(メソッド)
属性(フィールド)
名前:ラシキア城治
性別:男
母国:カナダ
クラス:人
操作(メソッド)
・歩く
・寝る
・カナダに帰る
class 人
{
名前
性別
出身地
歩く
寝る
食べる
}
クラス名
属性(フィールド)
操作(メソッド)
クラス=設計書
例)時計→時針・分針
針が動く
インスタンス=
設計図を元に生成されたオブジェクト(もの)
Clock myClock = new Clock();
class Clock {
int hour = 0;
//時針
int minute = 0; //分針
//針が動く
void tickHour( ) {
++hour;
}
void tickMinute( ) {
++minute;
}
mainメソッド
}
class Sample {
tickHourメソッド
public static void main(String[] args)
呼び出し
{
Clock myClock = new Clock();
データ出力
System.out.println(myClock.hour + " : " + myClock.minute);
myClock.tickHour( );
myClock.tickMinute( );
System.out.println(myClock.hour + " : " + myClock.minute);
}
}
実行方法(エディタの人):
Command Promptで実行
javac Sample.java
java Sample
class Clock {
int hour = 0;
//時針
int minute = 0; //分針
//針が動く
void tickHour( ) {
++hour;
}
void tickMinute( ) {
++minute;
}
時間を出力するメソッド
を追加してみよう!
}
class Sample {
public static void main(String[] args)
{
Clock myClock = new Clock();
System.out.println(myClock.hour + " : " + myClock.minute);
myClock.tickHour( );
myClock.tickMinute( );
System.out.println(myClock.hour + " : " + myClock.minute);
}
}
人間の考え方に近い
→ 分かりやすい
大規模プログラミングに向いている
• クラスごとに動作がまとまっている
• クラスを再利用できる
• デバッグがしやすい
クラスを作成せよ。
• クラス:Calc
• フィールド:num1=20,num2=5
• メソッド:計算結果をoutput()で出力する
plus():num1とnum2を足す
minus() :num1とnum2を引く
multiply() :num1とnum2を掛ける
divide() :num1とnum2を割る
output(int):結果を出力する
 AさんとBさんでじゃんけん勝負を10回させ
て、
•
•
•
•
•
Aさんの手、Bさんの手、勝敗 ×10
Aさんの勝った回数の合計
Aさんの負けた回数の合計
あいこの回数の合計
Aさんの勝率
乱数の出し方はググってみよう
を表示せよ。
• AさんとBさんのじゃんけんの手はそれぞれ乱数