プログラミング入門1

Similar documents
プログラミング入門1

プログラミング入門1

プログラミング入門1

プログラミング入門1

メソッドのまとめ

ガイダンス

JavaプログラミングⅠ

プログラミングA

プログラミング入門1

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の break; まで処理しますどれにも一致致しない場合 def

Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文

break 文 switch ブロック内の実行中の処理を強制的に終了し ブロックから抜けます switch(i) 強制終了 ソースコード例ソースファイル名 :Sample7_1.java // 入力値の判定 import java.io.*; class Sample7_1 public stati

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 条件判断文 3 switch 文 switch 文式が case の値と一致した場合 そこから直後の break; までを処理し どれにも一致しない場合 default; から直後の break; までを処理する 但し 式や値 1

プログラミング入門1

Prog1_2nd

プログラミング入門1

2

Java講座

JavaプログラミングⅠ

プログラムの基本構成

JavaプログラミングⅠ

Java プログラミング Ⅰ 3 回目変 数 今日の講義講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能 変数は 型 ( データ型 ) と識別子をもちます 2 型 ( データ型 ) 変数に記憶する値の種類変数の型は 記憶できる値の種類と範囲

Microsoft Word - java a.doc

2

デジタル表現論・第6回

メソッドのまとめ

JavaプログラミングⅠ

K227 Java 2

Microsoft PowerPoint - prog03.ppt

Prog1_3rd

Microsoft PowerPoint - prog09.ppt

Microsoft PowerPoint - prog09.ppt

Java言語 第1回

スライド 1

マークアップ言語

オブジェクト指向プログラミング・同演習 5月21日演習課題

JavaプログラミングⅠ

Javaプログラムの実行手順

r1.dvi

JavaプログラミングⅠ

コンピュータ中級B ~Javaプログラミング~ 第3回 コンピュータと情報をやりとりするには?

ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする ) ためには 同期処理を用いるこ とが必要になる 同期処理は 予約語 synchronized で行うことができる ここでは sy

問 次の Fortran プログラムの説明及びプログラムを読んで、設問に答えよ。

JavaプログラミングⅠ

マークアップ言語

Prog1_15th

Microsoft PowerPoint - kougi4.ppt

Microsoft PowerPoint - kougi2.ppt

デジタル表現論・第4回

PowerPoint プレゼンテーション

Prog2_9th

PowerPoint Presentation

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name

Week 1 理解度確認クイズ解答 解説 問題 1 (4 2 点 =8 点 ) 以下の各問いに答えよ 問題 bit 版の Windows8.1 に Java をインストールする時 必要なパッケージはどれか 但し Java のコンパイルができる環境をインストールするものとする 1. jdk

Microsoft Word - Mac版 Eclipseの導入と設定.docx

問題1 以下に示すプログラムは、次の処理をするプログラムである

2

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

ToDo: 今回のタイトル

プログラミング基礎

Prog1_6th

Javaセキュアコーディングセミナー東京 第3回 入出力(File, Stream)と例外時の動作 演習解説

Microsoft Word - 商業-3

JavaプログラミングⅠ

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

プログラミングA

プログラミング基礎I(再)

JavaプログラミングⅠ

Microsoft Word - CombB-Ex

<4D F736F F D2091E F196E291E889F090E C4816A82CC838C E646F6378>

Microsoft PowerPoint - chap10_OOP.ppt

C#の基本

Office365        メールの使い方マニュアル

3,, となって欲しいのだが 実際の出力結果を確認すると両方の配列とも 10, 2, 3,, となってしまっている この結果は代入後の配列 a と b は同じものになっていることを示している つまり 代入演算子 = によるの代入は全要素のコピーではなく 先をコピーする ため 代入後の a と b は

ch2_android_2pri.indd

System.out.println("char : " + (int)character.min_value + "~" + (int)character.max_value); System.out.println("float : " + Float.MIN_VALUE + "~" + Flo

Method(C 言語では関数と呼ぶ ) メソッドを使うと 処理を纏めて管理することができる 処理 ( メソッド ) の再実行 ( 再利用 ) が簡単にできる y 元々はC 言語の関数であり 入力値に対する値を 定義するもの 数学では F(x) = 2x + 1 など F(x)=2x+1 入力値 (

Microsoft PowerPoint - prog04.ppt

JavaScriptで プログラミング

PowerPoint プレゼンテーション

問 次の Fortran プログラムの説明及びプログラムを読んで、設問に答えよ。

Prog1_10th

2016 年度 JAVA 講座第六週目 目次 パッケージ... 2 パッケージの作成... 2 パッケージの使用方法... 3 異なるパッケージ同名クラスの宣言... 4 パッケージの側面から見たアクセス修飾子... 4 ラッパークラス... 5 ラッパークラス利用法:キャスト... 5 ラッパーク

PowerPoint プレゼンテーション

GEC-Java

書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf

Eclipse マニュアル <作成目的> Eclipse のインストール方法などを紹介したページはいろいろありますが 専門用語がわからない初心者でもわか りやすく Eclipse のインストール方法 基本操作などをまとめたマニュアル作成を目的としています <目次> 1 Eclipse のインストール

3 Java 3.1 Hello World! Hello World public class HelloWorld { public static void main(string[] args) { System.out.println("Hello World");

I java A

PowerPoint プレゼンテーション

Java (9) 1 Lesson Java System.out.println() 1 Java API 1 Java Java 1

ゲームプログラミング講習 第0章 導入


Microsoft Word - CompA-Ex doc

プログラミング基礎

テキストファイルの入出力1

ユーザーズマニュアル 神戸親和女子大学情報処理教育センター 年 4 月版

ÿþ˜u#u·0¹0Æ0à0

第1章 ビジュアルプログラミング入門

Transcription:

プログラミング入門 1 第 3 回 条件分岐

授業開始前に ログオンして待機して ください Java 1 第 3 回 2

不要ファイルの掃除 前回デスクトップにファイルをダウンロードした場合 次のものを削除してください week02.zip デスクトップにファイルを置きすぎると コンピュータをシャットダウンできなくなります Java 1 第 3 回 3

授業を始めます 前回の課題は うまくできましたか? Java 1 第 3 回 4

復習 : プログラムを書く 実行するもう分かってますね Java 1 第 3 回 5

復習 : プログラムの書き方 public class プログラムの名前 { public static void main(string[] args) { System.out.println("Hello!"); ここに命令をいくつ並べてもよい Java 1 第 3 回 6

復習 算術演算のデータ 整数型 (int) データには型がある 0, 1, 3, 563, -32, -1024 実数型 1.0, 3.14, -73.5, 18.(=18.0),.5 (=0.5) 小数点つきの数 正確には浮動小数点数 (floating point number) と呼ばれる Java 1 第 3 回 7

復習 算術演算の結果 整数と整数の演算結果は整数である 12 + 34 の結果は整数の 46 実数と実数の演算結果は実数である 4.0 + 1.0 の結果は実数の 5.0 整数と実数 あるいは実数と整数の演算結果は実数である 7.0 / 3 の結果は実数の 2.3333333333333335 Java 1 第 3 回 8

復習 変数と型 変数は何かを入れておく箱のようなもの 変数は名前が必要 どんな種類 ( 整数や実数など ) のデータを入れる箱であるかを予め決めなければならない これを型という 宣言 : 変数を用意すること 変数の型と名前を指定しなければならない 宣言されていない変数は使えない 代入 : 変数にデータを入れること 参照 : 変数に入っているデータを利用すること Java 1 第 3 回 9

宣言 : 変数を用意する int 型の変数 x を宣言する int x; のようにすると 整数 (integer) を入れるための変数 x が用意される double 型の変数 a を宣言する double a; のようにすると 実数を入れるための変数 a が用意される 行末のセミコロン (;) を忘れないように Java 1 第 3 回 10

同じ名前の変数の宣言は 2 度やってはいけないここに示す例はエラーになる int x; int x; int x; double x; Java 1 第 3 回 11

変数の宣言と初期化を同時にやってもよい int x; x=100; 同等 int x=100; Java 1 第 3 回 12

復習 変数の宣言と参照 int x; int y; x = 100; y = 200; int z; z = x + y; データの行き先 参照 : データが取り出される Java 1 第 3 回 13

復習終わり 思い出しましたね Java 1 第 3 回 14

今回のテーマ ユーザの入力がある対話的プログラム コンソールウィンドウを介して プログラムと対話する ユーザ入力によって処理の内容を変える Java 1 第 3 回 15

整数をユーザが入力し それをそのまま出力する ( こんな感じ ) package j1.lesson03; import java.io.*; public class EchoInt { public static void main(string[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.print("input:"); int input = Integer.parseInt(reader.readLine()); System.out.println(input); Java 1 第 3 回 16

実行すると : プログラムは一時的に停止して コンソール画面へのユーザの入力を待っている package j1.lesson03; import java.io.*; public class EchoInt { public static void main(string[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.print("input:"); int input = Integer.parseInt(reader.readLine()); System.out.println(input); Java 1 第 3 回 17

"input:" と表示されている部分の少し右あたりをマウスでクリックする ここで整数を入力し Enter キーを押すとプログラムが再開される Java 1 第 3 回 18

入力を行うプログラムの骨格 package [ パッケージ名 (j1.lesson03 など )]; import java.io.*; public class [ クラス名 (Hello など )] { public static void main(string[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); // 以下にプログラムを書く Java 1 第 3 回 19

コンソールに入力された整数を 取得する命令 int input = Integer.parseInt(reader.readLine()); どちらでも OK int input; input = Integer.parseInt(reader.readLine()); この命令の実行する内容 1. コンソールからのユーザの入力を待つ (Enter キーが押されるまで ) 2. 入力された整数データを int 型変数 input に代入 3. 完了 Java 1 第 3 回 20

次の例をトレースしてみよう package j1.lesson03; import java.io.*; public class EchoTwoInt { public static void main(string[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.print("input (a):"); int a = Integer.parseInt(reader.readLine()); System.out.print("input (b):"); int b = Integer.parseInt(reader.readLine()); System.out.println("a の値は " + a); System.out.println("b の値は " + b); Java 1 第 3 回 21

入力のための準備 package j1.lesson03; import java.io.*; public class EchoTwoInt { public static void main(string[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.print("input (a):"); int a = Integer.parseInt(reader.readLine()); System.out.print("input (b):"); int b = Integer.parseInt(reader.readLine()); System.out.println("a の値は " + a); System.out.println("b の値は " + b); Java 1 第 3 回 22

入力のための準備 は種を明かせば BufferedReader 型変数 reader の宣言と初期化でも今は 準備 という理解でよい BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); したがって どちらでも OK 右辺の new については後で勉強する BufferedReader reader; reader = new BufferedReader(new InputStreamReader(System.in)); Java 1 第 3 回 23

コンソールに "input (a):" という文字列を出力しコンソールからの整数の入力を int 型変数 a に代入する package j1.lesson03; import java.io.*; public class EchoTwoInt { public static void main(string[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.print("input (a):"); int a = Integer.parseInt(reader.readLine()); System.out.print("input (b):"); int b = Integer.parseInt(reader.readLine()); System.out.println("a の値は " + a); System.out.println("b の値は " + b); Java 1 第 3 回 24

コンソールに "input (b):" という文字列を出力しコンソールからの整数の入力を int 型変数 b に代入する package j1.lesson03; import java.io.*; public class EchoTwoInt { public static void main(string[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.print("input (a):"); int a = Integer.parseInt(reader.readLine()); System.out.print("input (b):"); int b = Integer.parseInt(reader.readLine()); System.out.println("a の値は " + a); System.out.println("b の値は " + b); Java 1 第 3 回 25

int 型変数 a, b に格納されている値を出力 package j1.lesson03; import java.io.*; public class EchoTwoInt { public static void main(string[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.print("input (a):"); int a = Integer.parseInt(reader.readLine()); System.out.print("input (b):"); int b = Integer.parseInt(reader.readLine()); System.out.println("a の値は " + a); System.out.println("b の値は " + b); Java 1 第 3 回 26

コンソールでの実行画面区別のためユーザの入力部分を斜体にしてある input (a):100 input (b):200 a の値は 100 b の値は 200 Java 1 第 3 回 27

コンソールに入力された実数を 取得する命令 double input = Double.parseDouble(reader.readLine()); この命令の実行する内容 1. コンソールからのユーザの入力を待つ (Enter キーが押されるまで ) 2. 入力された実数データを double 型変数 input に代入 3. 完了 Java 1 第 3 回 28

実数型の入力 出力の例をトレースし てみよう package j1.lesson03; import java.io.*; public class EchoDouble { public static void main(string[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.print(" 実数をひとつ入力してください :"); double input = Double.parseDouble(reader.readLine()); System.out.println(" 入力された実数は " + input); Java 1 第 3 回 29

入力のための準備 package j1.lesson03; import java.io.*; public class EchoDouble { public static void main(string[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.print(" 実数をひとつ入力してください :"); double input = Double.parseDouble(reader.readLine()); System.out.println(" 入力された実数は " + input); Java 1 第 3 回 30

コンソールに " 実数をひとつ入力してください : " と出力してコンソールからの実数の入力を double 型変数 input に代入する package j1.lesson03; import java.io.*; public class EchoDouble { public static void main(string[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.print(" 実数をひとつ入力してください :"); double input = Double.parseDouble(reader.readLine()); System.out.println(" 入力された実数は " + input); Java 1 第 3 回 31

double 型変数 input に格納されている 実数データをコンソールに出力する package j1.lesson03; import java.io.*; public class EchoDouble { public static void main(string[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.print(" 実数をひとつ入力してください :"); double input = Double.parseDouble(reader.readLine()); System.out.println(" 入力された実数は " + input); Java 1 第 3 回 32

コンソールでの実行画面区別のためユーザの入力部分を斜体にしてある 実数をひとつ入力してください :3.14 入力された実数は 3.14 Java 1 第 3 回 33

if 文 (if statement) if ( a > 0 ) b = a * 3; a の値が 0 より大きいときだけ代入文 b = a * 3; が実行される a > 0 は条件式とよばれる 条件式は boolean 型の値 (true か false のどちらか ) をとる a の値が 0 より大きいとき条件式 a > 0 の値は true となり そうでないとき false となる この > は比較演算子と呼ばれる Java 1 第 3 回 34

いろいろな比較演算子 条件式 a == b a!= b 意味 a と b が等しければ true そうでなければ false a と b が等しくなければ true そうでなければ false a >= b a が b より大きいか等しければ true そうでなければ false a <= b a が b より小さいか等しければ true そうでなければ false a > b a < b a が b より大きいければ true そうでなければ false a が b より小さければ true そうでなければ false Java 1 第 3 回 35

例 if ( a >= 0 ) b = a * 3; もし (a が 0 以上 ) ならば b に a * 3 を代入する Java 1 第 3 回 36

if-else 文 (if-else statement) if ( a > 0 ) b = a * 3; else b = 0; a の値が 0 より大きいときだけ代入文 b = a * 3; が実行され そうでない場合は代入文 b = 0 が実行される Java 1 第 3 回 37

ブロックで命令を束ねる if ( a > 0 ) { b = a * 3; d = b + 8; else b = 5; if ( a > 0 ) { b = a * 3; d = b + 8; else { b = 5; d = 6; Java 1 第 3 回 38

次のプログラムをトレースしてみよう package j1.lesson03; import java.io.*; public class Umbrella { public static void main(string[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.print(" 降水確率を入力してください :"); int chanceofrain = Integer.parseInt(reader.readLine()); System.out.println(" 降水確率は " + chanceofrain + "% です "); if (chanceofrain >= 50) System.out.println(" 傘を忘れずに "); else System.out.println(" 傘はいりません "); System.out.println(" いってらっしゃい "); Java 1 第 3 回 39

入力のための準備 package j1.lesson03; import java.io.*; public class Umbrella { public static void main(string[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.print(" 降水確率を入力してください :"); int chanceofrain = Integer.parseInt(reader.readLine()); System.out.println(" 降水確率は " + chanceofrain + "% です "); if (chanceofrain >= 50) System.out.println(" 傘を忘れずに "); else System.out.println(" 傘はいりません "); System.out.println(" いってらっしゃい "); Java 1 第 3 回 40

コンソールに " 降水確率を入力してください " と出力しコンソールから整数の入力を int 型変数 chanceofrain に代入 package j1.lesson03; import java.io.*; public class Umbrella { public static void main(string[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.print(" 降水確率を入力してください :"); int chanceofrain = Integer.parseInt(reader.readLine()); System.out.println(" 降水確率は " + chanceofrain + "% です "); if (chanceofrain >= 50) System.out.println(" 傘を忘れずに "); else System.out.println(" 傘はいりません "); System.out.println(" いってらっしゃい "); Java 1 第 3 回 41

int 型変数 chanceofrain の値をコン ソールに出力する ( 前後に飾りつき ) package j1.lesson03; import java.io.*; public class Umbrella { public static void main(string[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.print(" 降水確率を入力してください :"); int chanceofrain = Integer.parseInt(reader.readLine()); System.out.println(" 降水確率は " + chanceofrain + "% です "); if (chanceofrain >= 50) System.out.println(" 傘を忘れずに "); else System.out.println(" 傘はいりません "); System.out.println(" いってらっしゃい "); Java 1 第 3 回 42

chanceofrain の値が 50 以上なら " 傘を忘れずに " そうでなければ " 傘はいりません " を出力 package j1.lesson03; import java.io.*; public class Umbrella { public static void main(string[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.print(" 降水確率を入力してください :"); int chanceofrain = Integer.parseInt(reader.readLine()); System.out.println(" 降水確率は " + chanceofrain + "% です "); if (chanceofrain >= 50) System.out.println(" 傘を忘れずに "); else System.out.println(" 傘はいりません "); System.out.println(" いってらっしゃい "); Java 1 第 3 回 43

int 型変数 chanceofrain の値に関係なく実行 package j1.lesson03; import java.io.*; public class Umbrella { public static void main(string[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.print(" 降水確率を入力してください :"); int chanceofrain = Integer.parseInt(reader.readLine()); System.out.println(" 降水確率は " + chanceofrain + "% です "); if (chanceofrain >= 50) System.out.println(" 傘を忘れずに "); else System.out.println(" 傘はいりません "); System.out.println(" いってらっしゃい "); Java 1 第 3 回 44

if 文の連鎖 100 以上の値は警告する if (chanceofrain > 100) System.out.println(" 降水確率は 0~100 でなければなりません "); else if (chanceofrain >= 50) System.out.println(" 傘を忘れずに "); else System.out.println(" 傘はいりません "); Java 1 第 3 回 45

if 文の連鎖負の値も警告する if (chanceofrain > 100) System.out.println(" 降水確率は 0~100 でなければなりません "); else if (n < 0) System.out.println(" 降水確率は 0~100 でなければなりません "); else if (chanceofrain >= 50) System.out.println(" 傘を忘れずに "); else System.out.println(" 傘はいりません "); Java 1 第 3 回 46

一緒に試してみよう これから入力 条件分岐を使ったプログラムを作成します Java 1 第 3 回 47

演習の準備 今回の演習で使うテストドライバをいつものようにインストールします 一緒に作業をしますので 指示に従ってやってください Java 1 第 3 回 48

テストドライバの導入 1. プロジェクト java20xx にある test の左側の + をクリック 2. ツリーが展開されるので install-libraries.xml を右クリック 3. 実行(R) にマウスカーソルを合わせる 4. 1 Ant ビルド をクリック 5. コンソール タブに"BUILD SUCCESSFUL" と表示されれば成功 6. eclipseの画面でプロジェクト java20xx を右クリック 7. メニューが表示されるので 更新 あるいは 最新表示 をクリック 8. week03.zip をデスクトップなどにダウンロード 9. eclipseの画面でプロジェクト java20xx を右クリック 10. メニューから インポート (I) を選択 11. インポート ウィンドウが表示されるので Zip ファイル を選択 12. 次へ(N) をクリック 13. 宛先フォルダー (L): が java20xx になっていることを確認 14. From archive file: の右側にある 参照 (R)... あるいは ブラウズ(R)... をクリック 15. ファイルダイアログが表示されるので ダイアログ内に表示されたダウンロードしたファイルをダブルクリック 16. 前の画面に戻るので From zip file: のエリアに正しいパスが入力されていることを確認 17. フォルダ / の左にチェックがついていることを確認 ( ついていなければチェックボックスをクリック ) 18. 警告を出さずに既存リソースを上書き にチェックがついていることを確認 ( 上書きしたくないファイルがある場合はチェックを外す ) 19. 終了 (F) をクリック Java 1 第 3 回 49

テストドライバの導入に成功すると プロジェクト java20xx の中の test というフォルダに j1.lesson03 という名前のファイルが作成される このファイルには今週使用するテスト一式が記述されている Java 1 第 3 回 50

パッケージ 今回は j1.lesson03 というパッケージを作成する パッケージの作成は毎回の演習の最初に行うことを原則とする Java 1 第 3 回 51

パッケージの作成 1. java20xx プロジェクトの左側にある + をクリック 2. ツリーが展開されるので src の上で右クリック 3. マウスカーソルを 新規 に合わせる 4. パッケージ をクリック Java 1 第 3 回 52

クラスの作成クラス = プログラムと思ってよい 1. 先ほど作成したパッケージ j1.lesson03 の上で右クリック 2. マウスカーソルを 新規 に合わせる 3. クラス をクリック 4. クラス名は Adder とする Java 1 第 3 回 53

実際のソースファイル この教室でパッケージ j1.lesson03 に Adder クラスを作成すると U: Eclipse3.1 Windows java20xx src j1 lesson03 Adder.java というファイルができる Java 1 第 3 回 54

以下のようにプログラムの骨格を書いて保存 ( 自動コンパイル ) Ctrl+S package j1.lesson03; import java.io.*; public class Adder { public static void main(string[] args) throws IOException { Java 1 第 3 回 55

ここで骨格テスト 1. test フォルダの中にある j1.lesson03.xml を右クリック 2. ファイル メニューの中にある Adder に対する骨格テスト を選択し実行する Java 1 第 3 回 56

骨格テストのエラーメッセージ メッセージ クラスが存在しません クラスが public で宣言されていません main メソッドが存在しません main メソッドが public で宣言されていません main メソッドが static で宣言されていません main メソッドが void で宣言されていません main メソッドに throws IOException の指定がありません 詳細 j1.lesson03 に Adder クラスが存在していない パッケージやクラス名を確認 class の前に public の指定がない public static void main(string[]) が存在していない mainという名前やstring[] の部分を確認 main メソッドを作る際に public が抜けている main メソッドを作る際に static が抜けている main メソッドを作る際に void 以外を指定している mainメソッドを作る際にthrows IOExceptionの指定を行っていない Java 1 第 3 回 57

main メソッドの中身を書くこのプログラムの意味が分かりますか package j1.lesson03; import java.io.*; public class Adder { public static void main(string[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); // 一つ目の整数を入力させる System.out.print(" 一つ目の整数を入力 :"); int input1 = Integer.parseInt(reader.readLine()); // 二つ目の整数を入力させる System.out.print(" 二つ目の整数を入力 :"); int input2 = Integer.parseInt(reader.readLine()); System.out.println(" 合計は :" + (input1 + input2)); Java 1 第 3 回 58

プログラムの実行 1. Adder.java の上で右クリック 2. メニューが表示されるので 実行 (R) にマウスカーソルを合わせる 3. 1 Java アプリケーション をクリック 4. コンソールでプログラムのメッセージにしたがって入力をしてみよう 5. 結果に納得できただろうか Java 1 第 3 回 59

機能テスト 1. Jtaf ウィンドウの ファイル メニューの中にある Adder に対する機能テスト を選択し実行 2. エラーが出たらメッセージをよく読みソースプログラムを直して 今までのステップを繰り返す Java 1 第 3 回 60

条件分岐を行うプログラム 1. 先ほど作成したパッケージ j1.lesson03 の上で右クリック 2. マウスカーソルを 新規 に合わせる 3. クラス をクリック 4. クラス名は Sign とする 5. 先と同じ手順でクラスを作成する Java 1 第 3 回 61

以下のようにプログラムの骨格を書いて保存 ( 自動コンパイル ) Ctrl+S package j1.lesson03; import java.io.*; public class Sign { public static void main(string[] args) throws IOException { ここで骨格テストを実施する Java 1 第 3 回 62

変数の初期化と宣言を分けてもよい以下の 2 つは同等 // 一つ目の整数を入力させる System.out.print(" 一つ目の整数を入力 :"); int input1 = Integer.parseInt(reader.readLine()); // 二つ目の整数を入力させる System.out.print(" 二つ目の整数を入力 :"); int input2 = Integer.parseInt(reader.readLine()); int input1, input2; // 一つ目の整数を入力させる System.out.print(" 一つ目の整数を入力 :"); input1 = Integer.parseInt(reader.readLine()); // 二つ目の整数を入力させる System.out.print(" 二つ目の整数を入力 :"); input2 = Integer.parseInt(reader.readLine()); Java 1 第 3 回 63

main メソッドの中身を書くひとつの命令文を書く度に保存 ( 自動コンパイル ) package j1.lesson03; import java.io.*; public class Sign { public static void main(string[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); // 実数を入力させる System.out.print(" 値を入力 :"); double input = Double.parseDouble(reader.readLine()); if (input == 0) { System.out.println(" 入力された値は0"); else if (input > 0) { System.out.println(" 入力された値は正の値 "); else { System.out.println(" 入力された値は負の値 "); Java 1 第 3 回 64

実行してみよう 続けて機能テスト コンソールから入力を適切に行い 結果が期待通りになるか確認 コンソール入力をいろいろ変えてプログラムが正しいことを検証しよう どうすればよいテストになるだろうか 機能テストはその点をきちんとやるために用意されている Java 1 第 3 回 65

課題 各自のペースで 第 03 週目の課題 をやってみよう 1. http://java.cis.k.hosei.ac.jp/ をブラウザで開く 2. 第 03 回 Conditional Branch (if-else) - をクリック 3. 第 03 週目課題をクリック Java 1 第 3 回 66

課題 0302 のヒント a, b, c に入力 if(a >= b){ if(a >= c) a が最大 else c が最大 else if (b >= c) b が最大 else c が最大 a b c Java 1 第 3 回 67

課題 0303 のヒント芸がないが素朴な書き方 if( 確率 >100){ else if( 確率 >=50){ else if( 確率 >=20){ else if( 確率 >=0){ else{ Java 1 第 3 回 68