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

Slides:



Advertisements
Similar presentations
アルゴリズムとプログラミン グ (Algorithms and Programming) 第6回:クラスとインスタンス クラスの宣言 アクセス修飾子 インスタンスの生成 (new キーワード) this キーワード フィールドとメソッドの実際の定義と使い 方 クラスの宣言 アクセス修飾子 インスタンスの生成.
Advertisements

山元進.  for 文  while 文  do ~ while 文  文のネスト  break 文  continue 文.
JavaScript プログラミング入門 2006/11/10 神津.
プログラミング入門2 第4回 配列 for文 変数宣言 初期化
プログラミング基礎I(再) 山元進.
プログラミング言語としてのR 情報知能学科 白井 英俊.
~手続き指向からオブジェクト指向へ(Ⅰ)~
プログラミング基礎I(再) 山元進.
ファーストイヤー・セミナーⅡ 第8回 データの入力.
実行時のメモリ構造(1) Jasminの基礎とフレーム内動作
プログラミング基礎I(再) 山元進.
プログラミング基礎I(再) 山元進.
第2回:Javaの変数と型の宣言 プログラミングII 2007年10月2日.
プログラミング実習 1・2 クラス 第 1 週目 担当教員:  渡邊 直樹.
アルゴリズムとデータ構造 2011年6月13日
第6章 2重ループ&配列 2重ループと配列をやります.
構造体.
JAVA入門② 変数と型 式と演算子 制御文.
第7回 条件による繰り返し.
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
プログラミング言語入門 手続き型言語としてのJava
プログラミング2 関数
第9章 例外処理,パッケージ 9.1 例外処理 9.2 ガーベッジコレクション.
オブジェクト指向 プログラミング 第十三回 知能情報学部 新田直也.
関数の定義.
プログラミング入門 電卓を作ろう・パートIV!!.
プログラミング 4 記憶の割り付け.
アルゴリズムとプログラミング (Algorithms and Programming)
プログラミング入門2 第2回 型と演算 条件分岐 篠埜 功.
04: 式・条件分岐 (if) C プログラミング入門 基幹7 (水5) Linux にログインし、以下の講義ページ を開いておくこと
プログラミング入門2 第11回 情報工学科 篠埜 功.
第7回 条件による繰り返し.
第7回 プログラミングⅡ 第7回
プログラミング言語論 第五回 理工学部 情報システム工学科 新田直也.
アルゴリズムとデータ構造 2010年6月21日
プログラミング言語論 第四回 理工学部 情報システム工学科 新田直也.
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
プログラミング言語論 第六回 理工学部 情報システム工学科 新田直也.
アルゴリズムとプログラミング (Algorithms and Programming)
プログラミング 3 2 次元配列.
プログラミング言語論 第十一回 理工学部 情報システム工学科 新田直也.
オブジェクト指向言語論 第三回 知能情報学部 新田直也.
情報処理Ⅱ 第3回 2007年10月22日(月).
プログラミングⅡ 第2回.
C#プログラミング実習 第3回.
計算機プログラミングI 木曜日 1時限・5時限 担当: 増原英彦 第1回 2002年10月10日(木)
計算機プログラミングI 第3回 プリミティブ値 クラスメソッド クラス変数 式と演算 変数の利用
アルゴリズムとデータ構造 2012年6月11日
アルゴリズムとプログラミング (Algorithms and Programming)
第5回 プログラミングⅡ 第5回
オブジェクト指向言語論 第五回 知能情報学部 新田直也.
情報処理Ⅱ 2005年10月28日(金).
Nakano School of Business 経営情報ビジネス科 【 Java概論(Test4)】
JAVA入門⑥ クラスとインスタンス.
オブジェクト指向言語論 第九回 知能情報学部 新田直也.
プログラミング入門2 第6回 関数 情報工学科 篠埜 功.
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
情報処理Ⅱ 第2回 2004年10月12日(火).
情報処理Ⅱ 2005年11月25日(金).
プログラミング入門2 第5回 配列 変数宣言、初期化について
情報処理Ⅱ 小テスト 2005年2月1日(火).
オブジェクト指向言語論 第九回 知能情報学部 新田直也.
計算技術研究会 第5回 C言語勉強会 関数(function)を使う
情報処理Ⅱ 第3回 2004年10月19日(火).
情報処理Ⅱ 2006年10月20日(金).
分岐(If-Else, Else if, Switch) ループ(While, For, Do-while)
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
計算機プログラミングI 第2回 2002年10月17日(木) 履習登録 複習 ライブラリの利用 (2.6-7) 式・値・代入 (2.6-8)
計算機プログラミングI 第5回 2002年11月7日(木) 配列: 沢山のデータをまとめたデータ どんなものか どうやって使うのか
Presentation transcript:

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

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

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

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

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

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

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

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 ” ) を表示していく」文である。

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

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! 、そ れ以外ならグェェッ、と表示される。

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

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

処理のネスト ( 入れ子 )  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 の入れ子は多重分岐になってい く。

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

メソッド  「 型 メソッド名 ( 仮 / 実引数 ) { メソッド内 容 } 」 - 実引数:メソッドを呼び出すときのカッコ内ではそのメソッドに渡 すデータ。 - 仮引数:メソッドを宣言するカッコ内に書く、データを受け取るた めの変数。 → 仮引数は変数の宣言も兼ねるので型をデータの前に書く。 例: 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: }

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

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

配列: たくさんの値の格納  配列: 同種類の値を一つの識別子でまとめて記憶する 手法。 「型名 配列名 [ 要素数 ]; 」  配列の初期化 「型名 配列名 [ 要素数 ] = { 要素 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 ” }

多次元配列  「型名 配列名 [ 要素数 ][ 要素数 ] ・・・ ; 」 初期化するときは 「型名 配列名 [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 。

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

項目:クラ ス ポイント ・クラス概念とインスタンス ・コンストラクタ ・ public と private ・詳細は特に授業ページにもないので省略。 下を参照してもらえると助かる。

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

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

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

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

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

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