オブジェクト プログラミング 第2回 プログラムの基本
本日の内容 プログラムの書き方 制御構造の復習 Jbuilderを使ってプログラムを書いてみよう デバッガを使ってみよう 課題 インデント コメント 名前付け 制御構造の復習 Jbuilderを使ってプログラムを書いてみよう デバッガを使ってみよう 課題
プログラムの書き方 人間がわかるプログラムを書く コンピュータが実行できるプログラムにする 目的を達成する構造を作りこむ
インデント(1) ブロック プログラム中で{}で囲まれた部分をブロックといいます。 public static void main{ … インデント(1) ブロック プログラム中で{}で囲まれた部分をブロックといいます。 ブロック public static void main{ … for(int i=0;i<10;i++){ } } ブロックの中のブロック
インデント(2) ブロックの中に書かれているコードを字下げします。(Tab1つ,またはspace2つ分) public static void main{ … for(int i=0;i<10;i++){ } } ブロックに入るごと に一つ字下げ します。
コメント(1) 見出しコメント ブロックコメント 行コメント /** * 家を描くプログラム * 家を描くプログラム * 作成日:00.5.3 (1bcBコース教材より) */ import Turtle; class House01 extends Turtle{ /** * 家を描く void start(){ // 屋根を描く rt(30); // 前処理(タートルの角度を調整する) int i; for(i=1; i<=3; i++){ fd(100); rt(120); // 三角形の一辺を描く } rt(60); // 後処理(タートルの角度を調整する) // 本体を描く for(i=1; i<=4; i++){ fd(100); rt(90); // 四角形の一辺を描く 見出しコメント ブロックコメント 行コメント
コメント(2) コメントには目的を書きます。 × ○ double x; // xは正の数とする double x; // xは正の数とする double y; // xの小数部は0.5以上か? if((x - Math.floor(x)) < 0.5){ y = Math.floor(x); // xの整数部を // yとする }else if((x - Math.floor(x)) >= 0.5){ y = Math.floor(x) + 1; // xの整数部+1を // yとする } double x; // xは正の数とする double y; // xを四捨五入する(xの小数部は?) if((x - Math.floor(x)) < 0.5){ y = Math.floor(x); // (0.5未満)xの // 整数部をyとする }else if((x - Math.floor(x)) >= 0.5){ y = Math.floor(x) + 1; // (0.5以上)xの // 整数部+1をyとする }
名前付け Javaで使われる基本的な名前付け規則 クラス名 変数名、メソッド名 最初の文字は大文字にする。 (複数の単語を繋げた変数名の場合は、各単語の最初の文字を大文字にする。) ex) String,StringBuffer,House,MyHouse 変数名、メソッド名 最初の文字は小文字にする。 ex) name,myName,move(),getString()
制御構造の復習 連接 繰り返し 場合分け
連接 { S1; S2; . Sm; } S1 S2 Sm
繰り返し no while(C){ S; } C yes S
場合分け if(C){ S1; }else{ S2; } no C yes S1 S2
複雑な制御構造
Jbuilderを使ってプログラムを書いてみよう インストールと実行 プロジェクトのつくりかた クラスのつくりかた いちばん簡単なプログラム コード・インサイトのつかいかた 実行のしかた
インストールと実行 exeファイルを実行するとすんなりインストールが終わるはず。 インストールすると、「スタート」「プログラム」のメニューに登録されるので、そこから実行する。
プロジェクトのつくりかた プロジェクトとは? JBuilderでJavaのプログラムを作るときの作業環境。 一つのプログラムを構成する様々なファイル(ソースファイル(.java)、クラスファイル(.class)やイメージファイルなど)を一まとめにして、管理しやすくする。 JBuilderにおいてJavaのプログラムは、必ずどれかのプロジェクトに属している。
クラスのつくりかた クラスとは? Javaにおけるプログラムの単位 Javaではすべてのプログラムはクラスに書かれる。 オブジェクトを生成するときの枠組みとなる。 クラス クラス クラス クラス プログラム プログラム
いちばん簡単なプログラム(1) mainをつくろう! main()メソッドは、Javaのプログラムのスタート地点です。各プログラムに必ず一つ必要です。 クラス main クラス クラス プログラム
いちばん簡単なプログラム(2) いちばん簡単な自動販売機 public class MyProgram1{ public static void main(String args[]){←mainの書き方 System.out.println(“自動販売機が開始しました”); }
コード・インサイト機能(1) System.out.printlnの行で、 まず「System」と入力して「.」を入力した時点で、少し待ってみよう。 Systemクラスの選べる変数とメソッドのリストが出てきます。便利!
コード・インサイト機能(2) さらに、println()を選んだところですこし待ってみよう!この()の中に入れるべき引数の型リストが表示されます。
実行してみよう JBuilderでは、実行ボタン一発で実行できます。その際 を自動的にやってくれます。 変更したソースコードの保存 コンパイル 実行 を自動的にやってくれます。 プロジェクトの初回だけ、mainクラスを設定する必要があります。
whileを使った繰り返し System.out.println(“自動販売機が開始しました”); //コーラを10個出す。 //コーラを10個出す。 int i=0; while(i < 10){ System.out.println(“コーラが出ました”); i++;//i = i + 1と同じ意味 }
デバッガを使ってみよう 「デバッグ」…プログラムのバグを取り除く行為のことを言います。 「デバッガ」…デバッグを手助けしてくれるツールです。 プログラムを一行ずつ実行することができます。 変数の中身を見たりできます。
BreakPoint プログラムの最初から一行ずつ実行しては、調べたいところに来るまでに膨大な時間がかかってしまいます。プログラムを止めたい所にBreakPointを設定するとそこから一行ずつ実行できます。
デバッガの使い方 ステップオーバー ステップイン ステップアウト 一行実行します。メソッドの場合はメソッドをすべて実行します。 一行実行します。メソッドの場合は、メソッドの中に入ります。 ステップアウト 現在のメソッドを最後まで実行し、外に出ます。
演習(1)1bcの復習 先ほど書いたwhileのプログラムを、for文を使って、書き直せ。 同じ仕事をするように書きなさい。
提出方法 あて先:macchan@crew.sfc.keio.ac.jp 期限:4/18(水)まで Subjectを「objprog02」としてください。 期限:4/18(水)まで ○○学部○年の○○××です。 ソース: … 感想: