Presentation is loading. Please wait.

Presentation is loading. Please wait.

プログラム入門 java の復習 環境一年:祖父江. 項目:変数 まとめ ・変数には値を格納できる。 ・変数は、名前と方を指定して宣言する。 ・変数の名前には識別子を使う。 変数に値を代入するときは「=」を使う。 ・初期化により宣言と同時に初期値を格納することが できる。 ・変数に値を代入すると格納されている値が変更され.

Similar presentations


Presentation on theme: "プログラム入門 java の復習 環境一年:祖父江. 項目:変数 まとめ ・変数には値を格納できる。 ・変数は、名前と方を指定して宣言する。 ・変数の名前には識別子を使う。 変数に値を代入するときは「=」を使う。 ・初期化により宣言と同時に初期値を格納することが できる。 ・変数に値を代入すると格納されている値が変更され."— Presentation transcript:

1 プログラム入門 java の復習 環境一年:祖父江

2 項目:変数 まとめ ・変数には値を格納できる。 ・変数は、名前と方を指定して宣言する。 ・変数の名前には識別子を使う。 変数に値を代入するときは「=」を使う。 ・初期化により宣言と同時に初期値を格納することが できる。 ・変数に値を代入すると格納されている値が変更され る。 ・ const キーワードを指定した変数は値を変更できなく なる。

3 変数: 値を記憶させておく機能。  「型」を宣言し、「名前」を付けてあげる 。 例: int shakkin; - 「名前」は任意だが、数字が先頭に来たり記号を使ったりするこ とに対してなど、いくつか制限がある。 - 型 ( データタイプ ) はそれぞれ記憶できる範囲が異なる。 例 boolean : true or false int :整数 double :浮動小数点 string :文字列数字が先頭に来たり記号を使ったりするこ とに対してなど

4 宣言・代入・初期化  変数の宣言:「型名 + 識別子 ( 変数 名)」  代入:「変数名 = 式 ; 」  初期化:「型 識別子 = 式 ; 」 → 代入と初期化は同じ “ = ” を使うが厳密に言うと使い方は区別され る。 特に初期化は変数を宣言したと同時にその変数にある値を格納する と言う初期値の設定であると認識するとよい。 例 int number;// 変数の宣言 number = 3;// 変数 number に 3 を代入 ----------------------- int number = 3;// 上とは違い、変数 number を宣言し、同時にそ の 初期値として 3 を格納。

5 演算子とオペランド  計算するための記号を演算子、計算の対象になるものをオペランド と言う。 例 1 + 3 1,3 はオペランド、 + が演算子になる  よく使う演算子 +, -, *, / 四則記号 ( 優先順位は四則に従う ) % 剰余 ( 余りをはじき出す ) &, | ( 左右の計算を最後まで行う ) 論理積と論理和 &&, || (高速仕様) >, >= ( より大きい、以上 ) <, <=( 未満、以下 ) ==, !, != ( 等価、論理否定、非等価 ) ++, -- ( インクリメント、デクリメント )

6 キャスト  変数に代入した値が代入先と違う型の場 合 → 小数点が切り捨てられたり ( 勝手に型が変わっている ) 、 エラーが出たりしてしまうので回避か、キャストしてあ げる。  キャスト :コードの中で型の変換を行うことを明示 的に記述し、型変換を行うこと。 「 ( 型 ) 式 ; 」 → 指定した [ 型 ] の変数 ( 式 ) になる。 これは小さなサイズの型への変換で、大きなサイズの 型への変換は大きなサイズに勝手に変換されて演算が行 われる。 例 int 型と double 型の値を掛けると double 型になる

7 項目:処理 まとめ ・ for 文は繰り返しを行う ・ if 文は条件が真なら実行 ・ else if 文は if 条件が偽且 else if 条件が真で実行 ・ switch 文は条件の値が case と一致で実行 ・ while 文は条件である間処理を続ける ・処理を強制的に終わらせたいときは break 文

8 for 文: 繰り返しのための処理  「 for ( 初期化の式, 繰り返しの範囲条件式, 終わりに近づくための条件式 ){ 繰り返す 文 }; 」 例: for(int i = 0, i < 5, i = i + 1){ System.out.print( “ a ” )}; → 「 a a a a a 」と表示される。 「 i を 0 から始めて、 5 未満の範囲で i を一個ずつ増やしな がら system.out.print( “ a ” ) を表示していく」文である。

9 if 文: 条件分岐処理  「 if( 式 ){ 文 ;} 」 → 式の値が true( 真 ) のとき{}内 ( つまりは文 ) の処理を 行う。 式の値が偽のときは処理は飛ばされる。 例: int mark = 50;// 例えば 50 点の点数があるとする。 if( mark < 60 ){ System.out.print( “ アウトォ! ” ) } → 「アウトォ!」と落第を宣告されること請け合い。 値が真なので System.out.print(“”) の処理がされている。

10 else if 文: not but な条件分岐  「 if( 式 1){ 文 1;}else if( 式 2){ 文 2;} 」 →else がそもそも「他の」という意味であるが、それに 沿い、 if 文がカバーしていない排他領域時の処理が書か れる。 つまり、 else if は「その( if1 )他で、もしこの条件のと き (if2) ならば」ということになる。 当然ながら、 else は if で指定した以外全ての処理範囲にな る。 例 int mark = 0;// 変数 mark の初期化 if( mark == 100){System.out.print( “ Perfect! ” );} else if( mark >= 60 & mark <100){ Syst ・・・ ( “ Good! ” );} else{ System.out.print( “ Ouch! ” );} →100 ならパーフェクト、 100 未満 60 以上なら Good! 、そ れ以外ならグェェッ、と表示される。

11 while,switch 文 ( 参考 )  while 文 「 while( 繰り返し続ける条件 ){ 実行文 ;} 」 → 繰り返し続ける条件が fales になったらループを抜ける。 終わりが見えない処理のときに使いやすい。  switch 文 「 switch( 式 ){ case 定数 1 : // 上の式の値が定数 1 のとき 文 1 // それ以下の命令を履行する。 break; // 処理をとめるのに break を使う。 ・・・ ( 以下同文 )} 」 // 分岐を増やしたいときには case を増やす。

12 break 文 : 処理の中断  「 break; 」 → 繰り返しの処理はつまるところ処理をループさせてい る訳で、ある条件に達したらそのループを止めなければ ならない。 そのとき、処理を共生的に中断させることが出来るのが break になる。

13 処理のネスト ( 入れ子 )  for 文の入れ子 for 文の中に for 文を入れる ( 入れ子にする ) 事によって二重の繰り返し が可能になる。 動作は優先順位に沿ってより中の for 文の動作が終わると外に移動す る格好だ。 例: for(int i = 0, i < 5, i++) { for(int j = 0, j < 3, j++){System.out.println( “ 現在 i は ” + i + ” 回、 j は ” + j +” 回で す。 ”) } } →i:j が「 0:0 」, 「 0:1 」, 「 0:2 」, 「 1:0 」, 「 1:1 」, 「 1:2 」となっていく。  if 文の入れ子 動作方は for の入れ子と同じだが、 if の入れ子は多重分岐になってい く。

14 項目:関数(メ ソッド) ポイント ・メソッドの呼び出し ( 利用 ) と宣言 ( 作成 ) ・実引数と仮引数 ・戻り値と return 文、 void 型メソッド

15 メソッド  「 型 メソッド名 ( 仮 / 実引数 ) { メソッド内 容 } 」 - 実引数:メソッドを呼び出すときのカッコ内ではそのメソッドに渡 すデータ。 - 仮引数:メソッドを宣言するカッコ内に書く、データを受け取るた めの変数。 → 仮引数は変数の宣言も兼ねるので型をデータの前に書く。 例: void sfcDraw(Graphics g) { // メソッドの呼び出し (↓) face(g, 200, 200); // (200, 200) に顔を描く // 呼び出したときに } //g,x,y に渡すデータ。 void face(Graphics g, int x, int y) { // メソッドの宣言 System.out.println("draw face at (" + x + ", " + y + ")"); g.drawRoundRect(x + 10, y + 10, 80, 80, 20, 20); g.drawOval(x + 20, y + 30, 20, 15); g.drawLine(x + 40, y + 70, x + 60, y + 70); 95: }

16 戻り値と void 型メソッド  呼び出すと実行結果の値を返してくれる 値。 返り値とも言う。  return 文:メソッドと終了させる文。 「 return 文 ; 」 →return の後に書いてある式を計算して、このメ ソッドの返り値とする。 結果を返すメソッドは必ず return 文を実行して返 り血を指定しなければならない。  void 型のメソッドは結果を返さない。 ( return 文を省くか、返り値を指定しない return 文を書く。)

17 項目:配列 ポイント ・配列とは?と各要素への代入 ・配列の初期化は{}に初期化子を指定する ・文字列型の配列は「 ”” 」を使った文字列を指定して初期 化 ・二次元以上の多次元配列

18 配列: たくさんの値の格納  配列: 同種類の値を一つの識別子でまとめて記憶する 手法。 「型名 配列名 [ 要素数 ]; 」  配列の初期化 「型名 配列名 [ 要素数 ] = { 要素 1 の初期値, 要素 2 の初期値, ・・・ } 」 例 int num[] = { 2, 4, 8, 16, 32 };// 要素数が 5 。 System.out.print(num[2]) → 「 4 」と表示される。  文字列の場合、 String 型変数で {} 内に「 ”” 」を忘れずに書 く。 例 String week[] = { “ S ”, “ M ”, “ T ”, “ W ”, “ T ”, “ F ”, “ S ” }

19 多次元配列  「型名 配列名 [ 要素数 ][ 要素数 ] ・・・ ; 」 初期化するときは 「型名 配列名 [n][m][o] = {{{}×o},×m}; 」 例 int test[2][5][3]; →2*5*3=30 個の変数が格納できる。 例 2 int grade, facalty ; int students[grade][facalty] = { {1000,1001}, {850,900}, {900,950}, {1002,1003}}; →grade[3] (三年)の facalty[2]( 学部 )students( 生徒 数 ) は 950 。

20 項目:アプ レット ポイント ・ WEB に表示する手続き ・アップロードをするファイル

21 項目:クラ ス ポイント ・クラス概念とインスタンス ・コンストラクタ ・ public と private ・詳細は特に授業ページにもないので省略。 下を参照してもらえると助かる。 http://ipl.sfc.keio.ac.jp/text/prog-2003-9-c/main_p2_c8_s2.html#doc9_sec:scope

22 Class/instance/object  クラス (class) : object の定義。変数やメソッドを定 義する。  インスタンス (instance) :クラスで与えられてい る定義に与えた具体的な値。 – オブジェクト (object) :クラスをインスタンス化したも の。  クラスからオブジェクトを作成したい場合は、このクラ スにインスタンス化と呼ばれる処理を施す。 クラスで定義されている変数に具体的な値を与えること がインスタンス化である。 メモリー上の具体的な値(リテラル)や、自分の型のク ラスに記述されているメソッドへのリンク(ポインタ) のことをインスタンス と考えればよい。

23 例 クッキーの「抜き型」がクラスであり、そこに詰 め込む 「生地」がインスタンスであり、 「出来上がったクッキーと抜き型」がオブジェ クトである。 別の例を挙げると、銀行口座というクラスがあ るとき、新規口座を開設することがインスタン ス化であり、出来上がった口座がオブジェクト である。 名義、口座番号、残高の具体的な値がインスタ ンスであり。或る口座(オブジェクト)に預金 する(メソッド)のメッセージを送ると、その 口座の残高(変数の値)を操作することになる。

24 作り方  クラス:「 class クラス名 { クラス本 体 } 」  インスタンス: 「クラス名 変数名 = new クラス名 (); 」

25 コンストラクタ  クラスを元にオブジェクトを生成する ( インスタンス化 ) とき、初期化を行わなければいけない場合の実現手法。 「クラス名 ( 引数リスト ) { 処理 ; } 」

26 つまり・・・  class を部品化して、再利用するのだが、実際にはそのク ラスを「インスタンス」に、変化させて使います。 簡単に言えば、 new が含んだプログラムを書きこむ。 もう一つ、「メソッド」は、具体的には、計算結果やア クションを書いてあるプログラムをさす。 クラスの中に「メソッド」名を決めて作る。 このメソッドの仲間が「コンストラクタ」で、メソッド とコンストラクタの違いは、まずメソッドはそのメソッ ドが含まれているクラスを「インスタンス」化して、オ ブジェクトを作ってから、その「メソッド」を呼び出し て始めて実行されるのですが,「コンストラクタ」は、 その「コンストラクタ」が含まれているクラスが「イン スタンス」化されると、同時に実行されます。

27 public と private  クラスを定義するときのアクセス子として public と private がある。  「 public: 」「 private: 」 のように記述。  「 public: 」を記述すると宣言した変数がそのク ラスだけでなくクラスの外で使用できるように なる。 ( private: は省略可。通常その状態にある。)  これは他のメソッドで使えるグローバル変数と そうでないローカル変数の関係とほぼ同じであ る。


Download ppt "プログラム入門 java の復習 環境一年:祖父江. 項目:変数 まとめ ・変数には値を格納できる。 ・変数は、名前と方を指定して宣言する。 ・変数の名前には識別子を使う。 変数に値を代入するときは「=」を使う。 ・初期化により宣言と同時に初期値を格納することが できる。 ・変数に値を代入すると格納されている値が変更され."

Similar presentations


Ads by Google