通信ネットワーク補足 TCP サーバプログラムその 14 フロー制御基本は確実に伝達することでした 次に受け取るべき情報の確認応答 (ACK 番号 = 受け取った シーケンス番号 + 受信データ量 ) のメッセージ受信で相手が受け取ったと判断する訳ですがその応答セグメントを待っていると遅くなります

Size: px
Start display at page:

Download "通信ネットワーク補足 TCP サーバプログラムその 14 フロー制御基本は確実に伝達することでした 次に受け取るべき情報の確認応答 (ACK 番号 = 受け取った シーケンス番号 + 受信データ量 ) のメッセージ受信で相手が受け取ったと判断する訳ですがその応答セグメントを待っていると遅くなります"

Transcription

1 通信ネットワーク補足 TCP サーバプログラムその 13 プリント 7 の UDP Multicast の両方を実験できる作品 を検討する問題で作ったクラスの 作成例となる UDPrec と UDPsnd そして前のプリントで示した TcpClient TcpServer のクラスが P:\ 鈴木 \javanet の中にあり 実験で利用できます トランスポート層 : TCP や UDP 送受信は ポート番号で相手側が実行しているソケットプログラムを識 別します つまりサーバに限らず 情報の送信にポート番号を利用しているのです そのため 通信中 の一つのソケットは送信元と宛先の 2 つポート番号があります 送信元のポートをローカルポート 宛 先のポートをリモートポートと呼びます Windows には 使われているソケットの状態を表示するツール netstat コマンド があるので 以下 に実行例を示します (TCP 状態の参考 ) これは 以前のページで紹介した TcpServer と TcpCVlient を動かして それぞれを接続中の状態にして アクセサリのコマンドプロンプトで netstat -no と実行させた例です PID が 1196 番の TcpServer と 3184 番 TcpClient の通信 中で TcpClient のポートが になってと分かります (PID はプロセス ID で Windows であれ ばタスクマネージャで確認できます ) 例えば java TcpServer 3184 のように実行した時の例です C: work>netstat -no Active Connections Proto Local Address Foreign Address State PID TCP : :49155 ESTABLISHED 3184 TCP : :49370 ESTABLISHED 1196 上記で指定しているオプションで n が IP アドレスとポートをコロンで区切って表示させ る指定で o がプログラムの識別番号表示指定です State キーワードの意味を次の表で示します クライアント状態 State 補足説明サーバー状態 State 表示なし CLOSEED 接続していない待機状態 LISTENING データ送受信可能 ESTABLISHED SYN_SENT 接続要求中 SYN_REC FIN セグメント送出から ACK を受け取 FINE_WAIT1 切断中 1 るまで コネクション確立中データ送受信可能 ESTABLISHED FIN セグメント受け取りから CLOSE_WAIT ACK を受け取って から FIN セグメント FINE_WAIT2 切断中 2 CLOSE_WAIT が受信までの状態 FIN セグメントが受信から ACK 送出ま TIME_WAIT 切断中 3 で FIN セグメント送出から ACK を受け取 LAST_ACK るまで netstat a のコマンド入力で 接続待機状態も表示することもできます これでと UDPsnd の実行状態も確認できます 色々試してみましょう TCP 通信の仕組みその 2( 前回プリントの続き ) TCP プロトコルで送信したデータは 送り先に確実に届いたかを判断する仕組みを含んでい ます もちろん受信側で受信 送信のプログラムが実行していなければなりませんが 受信側が 送信データ を正しく受け取ったかどうかのやり取りが行われます この正しく受け取ったかのやり取りで エラーがあった場合は 内部で再度送り直す規則になっ ています 送り直す場合も 内部的にその回数や経過時間などを記憶し 何回送っても応答が戻 らないようなら通信不能と判断し 実行エラーとします これは シーケンス番号と ACK 番号で同期 (Synchronize) を取りながら確実に届ける仕組み を利用して実現しています これ以外で次のフロー制御と輻輳制御の仕組みが備わっています

2 通信ネットワーク補足 TCP サーバプログラムその 14 フロー制御基本は確実に伝達することでした 次に受け取るべき情報の確認応答 (ACK 番号 = 受け取った シーケンス番号 + 受信データ量 ) のメッセージ受信で相手が受け取ったと判断する訳ですがその応答セグメントを待っていると遅くなります それで 相手の応答セグメントを待たずに送信できる規則があります それは自身がどれだけのセグメントをまとめて受けられるかを TCP ヘッダ内のウィンドウサイズに指定して ACK のセグメントで応答することから始まります このウィンドウは 広告ウィンドウ (advertised window) と呼ばれます ( これは受信用のバッファに相当します ) また ウインドウプローブ というセグメントで 相手の広告ウィンドウサイズの要求ができます これは定期的に送信され 受信側は ウィンドウ更新通知セグメント で応答する仕組みになっています これを受信した送信側では 以降でその数のセグメントを連続して送ることができます このような制御はフロー制御と呼ばれます ここの連続したセグメント受信において 途中のセグメントを受け取れなかった場合はどうするのでしょうか? 失ったと判断されたセグメントを要求することに相当するセグメント で重複して応答する規則になっています これは重複確認応答や重複 ACK と呼ばれます (ACK シーケンス番号が 次に送って欲しいシーケンス番号 のなので その設定のセグメントで応答する動作です ) データの送り手でこの重複 ACK を受け取った時 タイムアウトを待たずに失われたセグメントが分かるので そのセグメントを再送します この転送は 高速再転送 と呼ばれます 輻輳制御通信路の状態によって セグメントの送る量を制御します これは受信用の広告ウィンドウとは別に 送信用に持つパラメタで輻輳ウィンドウと呼ばれます 接続直後は混雑状態が分からないので 初期の輻輳ウィンドウは 1 のセグメントで連続送信はしません ACK を受け取ったら1 増やした 2 にします 2 セグメント連続送信で応答した ACK が 2 つ戻った場合は それぞれで 1 ずつ増やすので 4 の輻輳ウィンドウとなります 指数関数的に増えていきますが 初期は1なので スロースタート 呼ばれる制御です そして 予め決められた スロースタートのしきい値 に輻輳ウィンドウサイズが達すると 輻輳回避 と呼ばれるアルゴリズムに変ります これは 1 回の ACK 応答に対して 1 輻輳ウィンドウサイズ を割った値だけ増やします そして 重複 ACK のエラーで 輻輳ウィンドウサイズを スロースタートしきい値 +3 に戻し タイムアウトエラーで 1 に戻して スロースタート に戻します なお 実際の送信で使われるウィンドウは 輻輳ウィンドウと広告ウィンドウのどちらか小さい方が使われます 最大セグメント長 MSS(Maximum Segment Size) について TCP セグメントに格納されるデータの最大バイト長のことです TCP は上位アプリケーションからのデータを必要に応じて複数に分割しますが その分割は MSS のサイズより大きなデータの時に行われます (TCP ヘッダの大きさは含まれません ) MSS の決定は TCP のコネクションの確立時です 確立時の送信側で 送信に使うデータリンク層の最大転送単位 (MTU:Maximum Tranmission Unit) の値から 可能な MSS の値を計算して SYN セグメントで相手先に通知する形態です 例えば イーサネットに接続している場合の MTU は 1500 バイトなので IP ヘッダの 20 バイトと TCP ヘッダの 20 バイトを除いた 1460 バイトを MSS とします なお カプセル化などの環境によってもっと少ない値に設定されることがあります

3 通信ネットワーク補足 TCP サーバプログラムその 15 プリント 7 で UDP Multicast の両方を実験できる作品 を検討する問題がありました その 解答例を示します ( 課題ではありません 参考資料です ) import java.io.*;//bufferedreadered 用 import java.net.*;//datagramsocket InetAddress 用 public class UDPsnd { public static void main(string[] args) throws Exception { if(args.length!= 2){ System.out.println(" 使い方の例 java UdpSndTest IP アドレスポート番号 "); return; String oct1 = args[0].substring(0, args[0].indexof('.'));// 第 1 オクテット InetAddress inet = InetAddress.getByName(args[0]);// 送信先 int portnumber = Integer.parseInt(args[1]);// ポート番号 DatagramSocket sendsocket = new DatagramSocket();//UDP 送信用ソケット if((integer.parseint(oct1) & 0x0f0) == 0xe0){// クラス D sendsocket = new MulticastSocket();// 送信用ソケット System.out.println(" マルチキャスト第 1 オクテット :" + oct1); //((MulticastSocket)sendSocket ).joingroup(inet); // マルチキャストアドレスのグループに参加 ((MulticastSocket)sendSocket ).settimetolive(1);// 寿命設定 :( 外部に流さない ) BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); for(;;){ System.out.print(" 送信文字列 >"); String msg = br.readline();// 送信メッセージキー入力 msg = "s140000" + msg; byte[] buf = msg.getbytes("ms932");// バイト列に変換 DatagramPacket packet; packet = new DatagramPacket(buf, buf.length, inet, portnumber); //IP アドレス ポート番号も指定 sendsocket.send(packet);// 送信 if(msg.equals("s140000")) break; sendsocket.close();// ソケットを閉じる import java.net.*;//datagramsocket 用 public class UDPrec { public static void main(string[] args) throws Exception { if(args.length!= 1 && args.length!= 2){ System.out.println(" 使い方の例 java UDPrec マルチゃストアドレスポート番号 "); System.out.println(" java UDPrec ポート番号 "); return; int portnumber = Integer.parseInt(args[args.length==2? 1 : 0]);// ポート番号 InetAddress inet = InetAddress.getByName(args[0]); DatagramSocket recsocket = new DatagramSocket(portNumber);// 受信用ソケット if(args.length == 2){ String oct1 = args[0].substring(0, args[0].indexof('.'));// 第 1 オクテット if((integer.parseint(oct1) & 0x0f0) == 0xe0){// クラス D recsocket = new MulticastSocket(portNumber);// 送信用ソケット System.out.println(" マルチキャスト第 1 オクテット :" + oct1); ((MulticastSocket)recSocket).joinGroup(inet); // マルチキャストアドレスのグループに参加 else IP.printLocal(); byte[] buf = new byte[256]; DatagramPacket packet = new DatagramPacket(buf, buf.length); for(;;){ System.out.println(" 受信待機状態 "); recsocket.receive(packet);// 受信 & wait int len = packet.getlength();// 受信バイト数取得 String msg = new String(buf, 0, len,"ms932");// 受信バイト列のデコード System.out.print(packet.getAddress() + " より受信 \n "); System.out.println(msg + " : 以上 " + len + "byte を受信しました "); if(msg.equals("s140000")) break; recsocket.close();

4 通信ネットワーク補足 TCP サーバプログラムその 16 余裕がある人の検討問題 11 ページで示した TcpServer.java のプログラムでは 32 行目の s = tcp_in.readline(); //1 行受信で 1 行の受信文字列を受け取るまで停止して進まない状態になります この状態をブロック状態とよびます 各種サーバのアプリケーションでは ブロック状態になりプログラム全体が進まないと 他の接続などができなくなるので プログラムの進行の流れを複数に分ける方法が使われます これを Java のプログラミングで行う場合は スレッド (Thread) を使って実現します 一つの実行の流れをスレッドと呼びます main から実行したスレッドより 別のスレッドを作る方法の一つを以下で紹介します 次は 接続相手に対して一つのスレッドを使います import java.io.*; import java.net.*; public class SocketThread implements Runnable { Socket socket; // 通信用ソケット Thread thread; // スレッド管理クラス InputStream sok_in; //byte 入力用 InputStreamReader sok_is; // 文字入力用 BufferedReader sok_br; // 文字列入力用 OutputStream os; //byte 出力用 String senddata = " ここはクライアント側へ送信するメッセージとして変更 r n"; String receivedata = null; public void init() throws Exception {// 送受信ストリームを取得 this.sok_in = socket.getinputstream(); this.sok_is = new InputStreamReader(sok_in); this.sok_br = new BufferedReader(sok_is);// 入力用 this.os = socket.getoutputstream();// 出力用 public void send() throws Exception{// 送信メソッド this.os.write(senddata.getbytes()); this.os.flush();// 送信してない情報があれば 全て送信する public void receive() throws Exception {// 受信メソッド System.out.println(receiveData = sok_br.readline()); public void doloop()throws Exception {// 送受信ループ while(thread!= null){ send();// 送信 receive();// 受信 public void run() {// スレッドの実行範囲 try{ init();// 送受信ストリームを取得 doloop();// 送受信ループ catch(exception e) { e.printstacktrace(); thread = null; public SocketThread(Socket socket) throws Exception { this.socket = socket; // コンストラクタ this.thread = new Thread(this);// スレッドインスタンス生成 this.thread.start();// 上記のrunメソッドを別スレッドで実行する

5 通信ネットワーク補足 TCP サーバプログラムその 17 前述の SocketThread クラスを使うプログラムです プリント 11 の TcpServer.java を TcpServer2.java の名前でコピーします そして プリント 11 の TcpServer.java の 19 行から 22 行を次のように変更すれば何回でも接続可能なサーバになります System.out.println(" クライアントからの接続受け入れ待機 "); while (true) { // クライアントからの接続を待ち 接続してきたら // そのクライアントと通信するソケットを取得する Socket socket = serversock.accept();// クライアント通信用ソケット取得 new SocketThread(socket);// そのソケットと別スレッド通信開始 プリント 11 の TcpServer.java のクラス変数は利用せずに クライアントとの通信は SocketThread クラスに任せる使い方です どのような利用法ができるか? 考えてみましょう

6 通信ネットワーク補足 TCP サーバプログラムその 18 中間テスト出題範囲 これまでのネットワークの内容全部です 学外の資格試験を目指しているためです ですがそのための基本となる重要部分のみです 基本的な用語の文章問題の空欄を埋める問題が多くを占めます 前期期末テストの出題と同じような問題が 70% ぐらい出題の予定です ( グループログインする Web ページの目標の最後近辺が練習ページになっています ) OSI 参照モデルの階層名 それぞれの階層で使われるプロトコルや機器の名前 などです 一部がトランスポート層の問題に置き換わっています 期末テストと類似する問題で 各コンピュータに設定すべきサブネットアドレスを問う ネットワークアドレスを問う ホストに設定する IP アドレスを問う クラス名を問う 分割数を問う 問題があります 各説明に最も合う コマンドプロンプトで使うコマンド を 解答群から選択する問題が 新しく出題の予定

12.1 インターネットアドレス インターネットアドレス インターネットアドレス 32 ビットの長さを持つインターネットに接続されたマシンを識別するのに使う インターネットアドレスは ピリオドで区切られたトークンの並びで表現されることもある インターネットアドレス

12.1 インターネットアドレス インターネットアドレス インターネットアドレス 32 ビットの長さを持つインターネットに接続されたマシンを識別するのに使う インターネットアドレスは ピリオドで区切られたトークンの並びで表現されることもある   インターネットアドレス Java 独習第 3 版 12.1 インターネットアドレス 12.2 サーバーソケットとソケット 2006 年 7 月 5 日 ( 水 ) 南慶典 12.1 インターネットアドレス インターネットアドレス インターネットアドレス 32 ビットの長さを持つインターネットに接続されたマシンを識別するのに使う インターネットアドレスは ピリオドで区切られたトークンの並びで表現されることもある www.mycompany.com

More information

2.5 トランスポート層 147

2.5 トランスポート層 147 2.5 トランスポート層 147 TCP と UDP TCP (Transmission Control Protocol) コネクション型 ギャランティード マルチキャスト ブロードキャスト不可 UDP (User Datagram Protocol) コネクションレス ベストエフォート マルチキャスト ブロードキャスト可 cf. IP (Internet Protocol) コネクションレス ベストエフォート

More information

(Microsoft PowerPoint - \223\306\217KJava\221\346\202R\224\305.ppt)

(Microsoft PowerPoint - \223\306\217KJava\221\346\202R\224\305.ppt) 独習 Java 第 3 版 12.1 インターネットアドレス 12.2 サーバーソケットとソケット 12.3 データグラムソケット とデータグラムパケット 12.4 URL インターネットアドレス インターネットアドレスとは? 32 ビットの長さを持ち インターネットに接続されたマシンの識別のために用いられる アドレスはピリオドで区切られた 4 つの番号からなる ピリオドで区切られたトークンの並びで表現されることもある

More information

第1回 ネットワークとは

第1回 ネットワークとは 1 第 8 回 UDP TCP 計算機ネットワーク 2 L4 トランスポート層 PDU: Protocol Data Unit L4 セグメント L4 ヘッダ データ セグメントデータ最大長 =MSS maximum segment size L3 パケット IP ヘッダ TCP ヘッダ IP データ L2 フレーム イーサヘッダ IP ヘッダ TCP ヘッダ イーサネットデータ イーサトレイラ フレームデータ

More information

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

ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする ) ためには 同期処理を用いるこ とが必要になる 同期処理は 予約語 synchronized で行うことができる ここでは sy オブジェクト指向プログラミング演習 2010/10/27 演習課題 スレッド ( その 2) 同期処理 結果不正 デッドロック 前回のスレッドの演習では 複数のスレッドを実行し 一つのプログラムの中の違う処理を同時に実行し た ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする )

More information

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

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

More information

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

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 条件判断文 3 switch 文 switch 文式が case の値と一致した場合 そこから直後の break; までを処理し どれにも一致しない場合 default; から直後の break; までを処理する 但し 式や値 1 Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 条件判断文 3 switch 文 switch 文式が case の値と一致した場合 そこから直後の までを処理し どれにも一致しない場合 default; から直後の までを処理する 但し 式や値 1 値 2は整数または文字である switch( 式 ) case 値 1: // コロン : です セミコロン ; と間違えないように!!

More information

TFTP serverの実装

TFTP serverの実装 TFTP サーバーの実装 デジタルビジョンソリューション 佐藤史明 1 1 プレゼンのテーマ組み込みソフトのファイル転送を容易に 2 3 4 5 基礎知識 TFTP とは 実践 1 実際に作ってみよう 実践 2 組み込みソフトでの実装案 最後におさらい 2 プレゼンのテーマ 組み込みソフトのファイル転送を容易に テーマ選択の理由 現在従事しているプロジェクトで お客様からファームウェアなどのファイル転送を独自方式からTFTPに変更したいと要望があった

More information

PowerPoint Presentation

PowerPoint Presentation 上級プログラミング 2( 第 1 回 ) 工学部情報工学科 木村昌臣 今日のテーマ 入出力に関わるプログラムの作り方 ネットワークプログラミングの続き TCP の場合のプログラム 先週のプログラムの詳細な説明 URLクラス サーバープログラムの例 データ入出力プログラミングの復習 テキストの読み込み関係のクラス テキストからデータを読み込むときには 通常 三段構えで行う バイナリデータとして読み出し

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅱ 10 回目への出力 ストリーム ストリームとは入力または出力の流れをもつデータの連鎖ですストリームは異なる機器からのデータを統一的に扱う考え方です 文字ストリーム 文字ベースの入出力をサポートします - Unicode(Java 内部 ) とローカルコード (Java 外部 ) の変換が行われ プログラマはその違いを意識しなくてすみます バイトストリームバイナリデータの入出力をサポートします

More information

55 7 Java C Java TCP/IP TCP/IP TCP TCP_RO.java import java.net.*; import java.io.*; public class TCP_RO { public static void main(string[] a

55 7 Java C Java TCP/IP TCP/IP TCP TCP_RO.java import java.net.*; import java.io.*; public class TCP_RO { public static void main(string[] a 55 7 Java C Java TCP/IP TCP/IP 7.1 7.1.1 TCP TCP_RO.java import java.net.*; import java.io.*; public class TCP_RO { public static void main(string[] argv) { Socket readsocket = new Socket(argv[0], Integer.parseInt(argv[1]));

More information

PowerPoint Presentation

PowerPoint Presentation コンピュータ科学 III 担当 : 武田敦志 http://takeda.cs.tohoku-gakuin.ac.jp/ IP ネットワーク (1) コンピュータ間の通信 to : x Data to : x y Data to : y z Data 宛先 B のパケットは z に渡す A 宛先 B のパケットは y に渡す ルーティング情報

More information

Network Programming

Network Programming ネットワークプログラミング 田村寿浩馬建華 目次 サーバーの概要 構成 ネットワークのレイヤー TCPを利用した通信 Javaによるネットワークプログラミング サーバーとは サーバーとはクライアントからの要求に対して何らかのサービスを提供する役割を果たしているプログラム又は稼働させている機器を表す 例 :Web サーバー ウェブブラウザの URL に指示された Web サーバ内に存在する HTML

More information

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

オブジェクト指向プログラミング・同演習 5月21日演習課題 オブジェクト指向プログラミング 同演習 5 月 21 日演習課題 問題 1 配列の例外処理例外が発生する可能性のある処理を try で囲み その後に catch で例外を捕捉します 例外処理の終了処理として finally が行われます これは書かなくて自動的に行われます 提出課題 1 (Kadai052301.java) 以下のプログラムは例外処理をしていない ArrayIndexOutOfBoundsException

More information

Programming-C-9.key

Programming-C-9.key プログラミングC 第9回 例外 スレッド 白石路雄 2 finally try{ ( 例外が発生するかもしれない処理 ) catch(exception のクラス名 e){ ( 例外が発生した時の処理 ) finally{ ( 例外の発生の有無に関わらず 必ず行う処理 ) 3 Integer.parseInt() NumberFormatException

More information

プログラミングA

プログラミングA プログラミング A 第 10 回 演習 2015 年 6 月 29 日 東邦大学金岡晃 本日の内容 中間テストの解説 演習 1 2015/6/29 プログラミング A 中間テスト解説 : 問 1 < 問 1> 下記の命令が実行された後の a の値を書きなさい ( 省略 ). int a=13; 答え : 13 2 中間テスト解説 : 問 2 < 問 2> 下記の命令が実行された後の a の値を書きなさい

More information

K227 Java 2

K227 Java 2 1 K227 Java 2 3 4 5 6 Java 7 class Sample1 { public static void main (String args[]) { System.out.println( Java! ); } } 8 > javac Sample1.java 9 10 > java Sample1 Java 11 12 13 http://java.sun.com/j2se/1.5.0/ja/download.html

More information

2

2 問題 次の設問に答えよ 設問. Java のソースコードをコンパイルするコマンドはどれか a) java b) javac c) javadoc d) javaw 設問. Java のバイトコード ( コンパイル結果 ) を実行するコマンドはどれか a) java b) javac c) javadoc d).jar 設問. Java のソースコードの拡張子はどれか a).c b).java c).class

More information

r1.dvi

r1.dvi 2006 1 2006.10.6 ( 2 ( ) 1 2 1.5 3 ( ) Ruby Java Java Java ( Web Web http://lecture.ecc.u-tokyo.ac.jp/~kuno/is06/ / ( / @@@ ( 3 ) @@@ : ( ) @@@ (Q&A) ( ) 1 http://www.sodan.ecc.u-tokyo.ac.jp/cgi-bin/qbbs/view.cgi

More information

プログラミング入門1

プログラミング入門1 プログラミング入門 1 第 5 回 繰り返し (while ループ ) 授業開始前に ログオン後 不要なファイルを削除し て待機してください Java 1 第 5 回 2 参考書について 参考書は自分にあったものをぜひ手元において自習してください 授業の WEB 教材は勉強の入り口へみなさんを案内するのが目的でつくられている これで十分という訳ではない 第 1 回に紹介した本以外にも良書がたくさんある

More information

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

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

More information

スライド 1

スライド 1 1 コンピュータの運用形態の移り変わり バッチ処理 TSS 処理 1 コンピュータ分散処理 インターネット処理 3 4 ネットワーク処理 2 リング型 ネットワークを構成する各種機器 バス型 スター型 3 LAN 構築に必要な基本パーツ ネットワーク OS はネットワークで接続されたコンピュータ同士の情報交換などを可能とします コンピュータを LAN に接続するためには LAN カード / ボードが必須です

More information

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

問題1 以下に示すプログラムは、次の処理をするプログラムである 問題 1 次に示すプログラムは 配列 a の値を乱数で設定し 配列 a の値が 333 より大きく 667 以下の値 の合計値を求めるプログラムである 1 と 2 に適切なコードを記述してプログラムを完 成させよ class TotalNumber { public static void main(string[] args) { int[] a = new int[1000]; // 1 解答条件

More information

Microsoft PowerPoint - netprog_2015_07.ppt [互換モード]

Microsoft PowerPoint - netprog_2015_07.ppt [互換モード] ネットワークプログラミング 21005 2 号館 10 階 第 7 回 2014/11/10 岩井将行 ( もう2015 年終わりじゃ無い Thread を少々やりたい ) 2015/11/10 1 課題提出方法 課題提出ネットワークフォルダ第 2 回のフォルダにファイルを提出してください Javaファイル Classファイルを両方提出すること 2 Xmas プレゼントを渡そう XmasTCPServ.java

More information

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

break 文 switch ブロック内の実行中の処理を強制的に終了し ブロックから抜けます switch(i) 強制終了 ソースコード例ソースファイル名 :Sample7_1.java // 入力値の判定 import java.io.*; class Sample7_1 public stati Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の まで処理しますどれにも一致しない場合 default: から直後の まで処理します 式は byte, short, int, char 型 ( 文字または整数 ) を演算結果としますラベルには整数リテラル

More information

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

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

More information

2

2 問題 1 次の設問 1~5 に答えよ 設問 1. Java のソースプログラムをコンパイルするコマンドはどれか a) java b) javac c) javadoc d) jdb 設問 2. Java のバイトコード ( コンパイル結果 ) を実行するコマンドはどれか a) java b) javac c) javadoc d) jdb 設問 3. Java のソースプログラムの拡張子はどれか a).c

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅱ 11 回目スレッド課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) スレッドは 1 つの実行箇所をもつ一連の処理の流れである (2) マルチスレッドで各スレッドの処理は並行して実行される (3) Java はマルチスレッド処理を記述できない (4) 新たにスレッドを生成する場合 Thread クラスを拡張し かつ Runnable インタフェースを実装する必要がある

More information

プログラミング入門1

プログラミング入門1 プログラミング入門 1 第 6 回 Switch 文 プロジェクトの持ち運び 授業開始前に ログオン後 不要なファイルを削除し て待機してください Java 1 第 6 回 2 前回のテーマ while 文を用いた繰り返し実行 for 文との使い分け 複雑な条件判定 && かつ または を使って Java 1 第 6 回 3 復習 : while 文はfor 文から 初期化式 を外に出し ステップを進める式

More information

JavaプログラミングⅠ

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

More information

Microsoft PowerPoint - prog09.ppt

Microsoft PowerPoint - prog09.ppt プログラミング言語 3 第 09 回 (2007 年 11 月 26 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/40 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 11 月 27 日分と書いてある部分が 本日の教材です

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念

More information

Microsoft PowerPoint - prog09.ppt

Microsoft PowerPoint - prog09.ppt プログラミング言語 3 第 09 回 (2007 年 11 月 26 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/40 1 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 11 月 27 日分と書いてある部分が 本日の教材です

More information

// このクラスの有効期間中の各呼び出しに使用される キャッシュされた Socket オブジェクト Socket socket = null; // 非同期処理が完了したことを通知するために信号を送るオブジェクト static ManualResetEvent clientdone = new Ma

// このクラスの有効期間中の各呼び出しに使用される キャッシュされた Socket オブジェクト Socket socket = null; // 非同期処理が完了したことを通知するために信号を送るオブジェクト static ManualResetEvent clientdone = new Ma HOW DO I ソケットで通信を行うには ここでは以下の手順で説明します ソケットクライアントを作成するデータを送信するデータを受信するソケットクライアントを使用する ソケットクライアントを作成する 1. このコンテンツのサポートファイルの Start フォルダから "UDPClient" プロジェクトを開きます 2. クライアントを動作させるため コンピューターで簡易 TCP/IP サービスを有効にする必要があります

More information

<4D F736F F F696E74202D DB A B C C815B E >

<4D F736F F F696E74202D DB A B C C815B E > ネットワーク工学 第 13 課アプリケーションと トランスポート 学習内容アプリケーションプロトコル TCP 制御とポート番号 13.1.1 アプリケーションプロトコルの概要 ネットワークを利用するアプリケーション特有の通信処理を行う OSI モデルの第 5 6 7 層のすべての機能をもつ通信コネクションの管理 ( セッション ) データフォーマットの変換 ( プレゼンテーション ) 相手ホストとのやり取り

More information

プログラミング入門1

プログラミング入門1 プログラミング入門 1 第 4 回 繰り返し (for ループ ) 授業開始前に ログオンして待機して ください Java 1 第 4 回 2 不要ファイルの掃除 前回デスクトップにファイルをダウンロードした場合 次のものを削除してください week03.zip デスクトップにファイルを置きすぎると コンピュータをシャットダウンできなくなります Java 1 第 4 回 3 授業を始めます 前回の課題は

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 12 回目クラス 今日の講義で学ぶ内容 クラスとは クラスの宣言と利用 クラスの応用 クラス クラスとは 異なる複数の型の変数を内部にもつ型です 直観的に表現すると int 型や double 型は 1 1 つの値を管理できます int 型の変数 配列型は 2 5 8 6 3 7 同じ型の複数の変数を管理できます 配列型の変数 ( 配列変数 ) クラスは double

More information

メソッドのまとめ

メソッドのまとめ メソッド (4) 擬似コードテスト技法 http://java.cis.k.hosei.ac.jp/ 授業の前に自己点検以下のことがらを友達に説明できますか? メソッドの宣言とは 起動とは何ですか メソッドの宣言はどのように書きますか メソッドの宣言はどこに置きますか メソッドの起動はどのようにしますか メソッドの仮引数 実引数 戻り値とは何ですか メソッドの起動にあたって実引数はどのようにして仮引数に渡されますか

More information

Javaプログラムの実行手順

Javaプログラムの実行手順 戻り値のあるメソッド メソッドには 処理に使用する値を引数として渡すことができました 呼び出し 側からメソッドに値を渡すだけでなく 逆にメソッドで処理を行った結果の値を 呼び出し側で受け取ることもできます メソッドから戻してもらう値のことを もどりち戻り値といいます ( 図 5-4) 図 5-4. 戻り値を返すメソッドのイメージ 戻り値を受け取ることによって ある計算を行った結果や 処理に成功したか失

More information

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

Java (9) 1 Lesson Java System.out.println() 1 Java API 1 Java Java 1 Java (9) 1 Lesson 7 2008-05-20 Java System.out.println() 1 Java API 1 Java Java 1 GUI 2 Java 3 1.1 5 3 1.0 10.0, 1.0, 0.5 5.0, 3.0, 0.3 4.0, 1.0, 0.6 1 2 4 3, ( 2 3 2 1.2 Java (stream) 4 1 a 5 (End of

More information

<4D F736F F D2091E F196E291E889F090E C4816A82CC838C E646F6378>

<4D F736F F D2091E F196E291E889F090E C4816A82CC838C E646F6378> 公益財団法人全国商業高等学校協会主催 [2 級 Java 選択者のための問題 ] 平成 26 年度 ( 第 52 回 ) ( 平成 27 年 1 月 18 日実施 ) 情報処理検定試験 2 級プログラミング部門 Java 選択者のための問題 7 問 1 概要 誕生日を入力し 12 星座名を表示させる問題である 星座日と星座名を配列に各データを格納し 各配列の関連性 格納された星座日からどのようにして星座名を探索

More information

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

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

More information

スライド 1

スライド 1 i-path ルータのフロー情報を用いた DoS 攻撃検知法 情報理工学専攻後藤研究室 5108B096-1 野上晋平 1 研究背景 従来のインターネット エンドノードからネットワーク内部の情報が得られない (ICMP を用いて間接的に得る ) ネットワークの多様化情報開示を求める声の高まり 2 研究概要 本研究ではこれまで注目されてないルータが持つ情報を活用する ルータを通過するフロー情報を用いて

More information

Prog1_15th

Prog1_15th 2017 年 7 月 27 日 ( 木 ) 実施 応用プログラム (3) キー検索 コレクションには, ハッシュテーブルと呼ばれるものがある これは, キー (key) と値 (value) とを組として保持しているものである 通常の配列が添字により各要素にアクセス出来るのに比べて, ハッシュテーブルではキーを用いて各値にアクセスすることが出来る キー及びそのキーから連想される値の組を保持していることから,

More information

< F2D B838A835882CC8CF68EAE2E6A7464>

< F2D B838A835882CC8CF68EAE2E6A7464> ウォーリスの公式 [Java アプレット ] [Java アプリケーション ] 1. はじめに 次のウォーリスの公式を用いて π の近似値を求めてみましょう [ ウォーリスの公式 ] π=2{ 2 2 4 4 6 6 1 3 3 5 5 7 シミュレーションソフト ウォーリスの公式による π の近似 を使って π の近似値が求まる様子を観察してみてください 2.Java アプレット (1) Javaプログラムリスト

More information

課題 4 クライアント GUI プログラム 再実験 / 追加課題 UDP 通信プログラム 2

課題 4 クライアント GUI プログラム 再実験 / 追加課題 UDP 通信プログラム 2 情報通信実験 JAVA 言語による TCP/IP 通信 課題 1 TCP 通信 サーバプログラム 課題 2 TCP 通信クライアントプログラム 課題 4 クライアント GUI プログラム 再実験 / 追加課題 UDP 通信プログラム 2 1. 実験の目的 ソケットを用いたクライアント / サーバアプリケーション作成を通して TCP/IP 通信に関する理解 を深める 2. 背景アプリケーションプログラムとネットワークモジュールとの間の仲立ちをするインタフェースの代表に

More information

JavaプログラミングⅠ

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

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 独習 Java ( 第 3 版 ) 6.7 変数の修飾子 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 Object クラスと Class クラス 6.7 変数の修飾子 (1/3) 変数宣言の直前に指定できる修飾子 全部で 7 種類ある キーワード final private protected public static transient volatile 意味定数として使える変数同じクラスのコードからしかアクセスできない変数サブクラスまたは同じパッケージ内のコードからしかアクセスできない変数他のクラスからアクセスできる変数インスタンス変数ではない変数クラスの永続的な状態の一部ではない変数不意に値が変更されることがある変数

More information

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

問 次の Fortran プログラムの説明及びプログラムを読んで、設問に答えよ。 ソフトウェア基礎演習課題 文法理解度確認範囲 問題 1 データ型 ( 変数, データ型 ) 問題 2 制御構造 (switch 文 ) 問題 3 制御構造 (while 文 ) 問題 4 制御構造と配列 ( 総和 ) 問題 5 制御構造と配列 ( 総和, 平均 ) 問題 6 データ型と各種演算子 ( 文字列, 検索 ) 問題 7 クラスの定義 ( メソッドの定義, コンストラクタの定義, キャスト

More information

マークアップ言語

マークアップ言語 東北大学全学教育科目 情報基礎 B 1 セメスター金曜 2 講時工学部 15, 16 組 JAVA 言語初級プログラム (f( f or ループ ) 建築 社会環境工学科 このスライド週の内容 for 文 ( 繰り返し文 ) break 文 情報基礎 B 2 for による繰り返し 以前,1 から 10 まで足すプログラムを作った. 同じ処理を 10 回繰り返すために, 同じような命令 ( 式 )

More information

(Microsoft PowerPoint - \223\306\217KJAVA\221\346\202R\224\ ppt)

(Microsoft PowerPoint - \223\306\217KJAVA\221\346\202R\224\ ppt) 独習 JAVA 第 3 版 8.4 例外とエラークラス 8.5 throws ステートメント 8.6 独自の例外 Throwable コンストラクタ catch ブロックには Throwable 型のパラメータが必ず 1 つなければならない Throwable コンストラクタ Throwable() Throwable( String message ) message には問題を通知する文字列のメッセージ

More information

< F2D834F838C A815B A CC>

< F2D834F838C A815B A CC> グレゴリー ライプニッツの公式 [Java アプレット ] [Java アプリケーション ] 1. はじめに 次のグレゴリー ライプニッツの公式を用いて π の近似値を求めてみましょう [ グレゴリー ライプニッツの公式 ] π 4 =1-1 3 + 1 5-1 7 + 1 9-1 + 11 シミュレーションソフト グレゴリー ライプニッツの公式による π の近似 を使って π の近似値が求まる様子を観察してみてください

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 4 回目演算子 今日の講義で学ぶ内容 演算子とオペランド 式 様々な演算子 代表的な演算子の使用例 演算子とオペランド 演算子 演算の種類です例えば + - * / 掛け算の記号は ではなく *( アスタリスク ) を使います割り算の記号は ではなく /( スラッシュ ) を使います オペランド 演算の対象です例えば 5( 値 ) num( 変数 ) 式 演算子とオペランドの組み合わせにより構成される数式です式は演算結果をもちます

More information

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

コンピュータ中級B ~Javaプログラミング~  第3回 コンピュータと情報をやりとりするには? Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 1 プログラミング初級 (Java) 第 4 回コンピュータと情報をやりとりするには? 白銀純子 Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved.

More information

Microsoft Word - java a.doc

Microsoft Word - java a.doc 4 入出力の基本として ディスプレイへの文字出力と キーボードからの文字入力の方法を学びます 入出力とは何か 標準出力 標準入力 43 4.1. 入出力とは プログラムと外部機器の間でデータをやりとりすることをいいます プログラムから出て行く方向が 出力 プログラムに入って来る方向が 入力 です 出力 外部機器 プログラム 入力 外部機器 外部機器はさまざまな種類があります 出力を行うには ディスプレイ

More information

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

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード] 第 3 回 Java 基本技術講義 クラス構造と生成 33 クラスの概念 前回の基本文法でも少し出てきたが, オブジェクト指向プログラミングは という概念をうまく活用した手法である. C 言語で言う関数に似ている オブジェクト指向プログラミングはこれら状態と振る舞いを持つオブジェクトの概念をソフトウェア開発の中に適用し 様々な機能を実現する クラス= = いろんなプログラムで使いまわせる 34 クラスの概念

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 6 回目 if 文と if else 文 今日の講義で学ぶ内容 関係演算子 if 文と if~else 文 if 文の入れ子 関係演算子 関係演算子 ==,!=, >, >=,

More information

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

問題1 以下に示すプログラムは、次の処理をするプログラムである 問題 1 次のプログラムの出力結果を a~d の中から選べ public class Problem1 { int i=2; int j=3; System.out.println("i"+j); a) 23,b) 5,c) i3,d) ij 問題 2 次のプログラムの出力結果を a~d の中から選べ public class Problem2 { int a=6; if((a>=2)&&(a

More information

アマチュア無線のデジタル通信

アマチュア無線のデジタル通信 アマチュア無線のための インターネット通信の基礎 2018 年 4 月 8 日 (V1.0) JR1OFP 1 1. インターネットとは 世界中の ISP のネットワークが相互接続された巨大なネットワークのこと AT&T AOL ティアワンプロバイダー OCN KDDI Yahoo (ISP: Internet Service Provider AT&T, AOL, OCN, KDDI など ) 家庭や企業は何処かの

More information

Java講座

Java講座 ~ 第 1 回 ~ 情報科学部コンピュータ科学科 2 年竹中優 プログラムを書く上で Hello world 基礎事項 演算子 構文 2 コメントアウト (//, /* */, /** */) をしよう! インデントをしよう! 変数などにはわかりやすい名前をつけよう! 要するに 他人が見て理解しやすいコードを書こうということです 3 1. Eclipse を起動 2. ファイル 新規 javaプロジェクト

More information

Java知識テスト問題

Java知識テスト問題 Java 知識テスト SDAS プログラマ(Java 編 ) 運営事務局 このテストは J2EE プログラマとしての Java の知識を評価するものです 問題は 30 問, テスト時間は J2EE 知識テストとあわせて 90 分です 問題は全て択一式です 選択肢から 1 つだけ選択してください 資料の閲覧は禁止です テストが終わり次第 答案用紙を提出していただいてかまいません テスト終了後, 本テストの内容を他の方に話さないでください

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 基本 Java プログラミング演習 第 13 回 担当 : 植村 今後の予定 7/15 第 13 回 今回 7/22 第 14 回 小テスト ( クラス ) 7/29 第 15 回 総まとめテスト レポート提出 期末テストの時間割に Java のテストの欄がありますが無視してください 再テストはまた別途連絡いたします 2 CHAPTER 11 はじめてのクラス前回の復習 クラスクラスを構成する要素

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念

More information

2. ネットワークアプリケーションと TCP/IP 2.1. クライアント / サーバモデル TCP/IP プロトコルに従うネットワークアプリケーションの典型的モデルは, クライアント / サーバモデルである. クライアント / サーバモデルでは, クライアントからの要求に対してサーバがサービスを提

2. ネットワークアプリケーションと TCP/IP 2.1. クライアント / サーバモデル TCP/IP プロトコルに従うネットワークアプリケーションの典型的モデルは, クライアント / サーバモデルである. クライアント / サーバモデルでは, クライアントからの要求に対してサーバがサービスを提 ソケットを用いたネットワークプログラミング実習 1. はじめに 1.1. 実験の概要授業科目 ネットワーク実験 の1 課題として, ソケットを用いたクライアント / サーバプログラミングの実習を行い, ネットワークアプリケーションプログラミングの基礎を学習する. 1.2. 実験の内容実験は 4 週間にわたって行う. 前半の 2 週で,TCP/IP の基礎の復習とコネクションレス型ソケットを用いたクライアント

More information

ボンドグラフと熱伝導解析による EHA熱解析ツールの開発

ボンドグラフと熱伝導解析による EHA熱解析ツールの開発 計算機通信基礎 (9). インターネットの技術 01 年度 九州工業大学大学院情報工学研究院塚本和也 今日の授業の内容 前回の授業の内容について. インターネットの技術.1 経路制御. 誤り制御. フロー制御と輻輳制御 前回の授業内容について インターネット上で用いられているネットワーク技術について その特徴を解説する 経路制御 : データグラム方式 ( とバーチャルサーキット方式 ) IP と IP

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 1. 通信プロトコル ( 通信規約 ) とは OSI 参照モデルの同一階層間でのデータのやり取りの仕方を規定したもの ( いわば 装置と装置がしゃべる言語の文法 ) ( 送信側 ) ( 受信側 ) 従わなければならない約束事 従わなければならない約束事 通信プロトコルで規定される項目の例 - 通信の開始はどのようにするか? - 通信中にエラーが発生した場合 どう回復するか? - 通信の終了はどのようにするか?

More information

プログラムの基本構成

プログラムの基本構成 Java 入門 この 2 回 ( 今回と次回 ) が勝負だ! プログラムは自転車の練習と同じだ! 今日の予定先ず プログラムの構造を学び (p.2~6) jcpad でプログラム ( 計算機実習室 ) 戻ってきてプログラムの解読手書きプログラムを TA にみてもらい OK の出た人は計算機実習室でプログラム作成し実行実行結果を TA がチェックして帰り プログラムの基本構成 Step1: 入力 Step2:

More information

情報通信ネットワーク特論 TCP/IP (3)

情報通信ネットワーク特論 TCP/IP (3) 情報通信ネットワーク特論 TCP/IP (3) 2004/04/21(WED) 渡邊晃 担当 : 鈴木秀和 参考文献 マスタリング TCP/IP 入門編 [ 第 3 版 ] 竹下隆史 村山公保荒井透 苅田幸雄共著 オーム社 (2002) 2 流れ 第 6 章 TCP と UDP TCP と UDP ポート番号 TCP の目的と特徴 シーケンス番号と確認応答 再送制御と重複制御 ウィンドウ制御 フロー制御

More information

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

た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name クラス ( 教科書第 8 章 p.267~p.297) 前回は処理をまとめる方法として メソッドについて学習した 今回はメソッドとその処理の対象となるデータをまとめるためのクラスについて学習する このクラスはオブジェクト指向プログラミングを実現するための最も重要で基本的な技術であり メソッドより一回り大きなプログラムの部品を構成する 今回はクラスにおけるデータの扱いとクラスの作成方法 使用方法について説明していく

More information

2

2 プログラミング応用演習 b 10 月 5 日演習課題 2016/10/05 PAb 演習課題 プログラム仕様書作成課題 課題クラスを読み 次に示すクラスの仕様書を完成させよ なお 仕様書は クラス 1 つに付き 1 つ作成す る 加えて 図 1 のようなクラス継承の模式図を作成せよ < クラス名 のプログラム仕様書 > 作成者 : 学籍番号 名前 (1) クラスクラス名 : クラス名 説明 : クラスが何を表現しているか

More information

Microsoft PowerPoint - chap10_OOP.ppt

Microsoft PowerPoint - chap10_OOP.ppt プログラミング講義 Chapter 10: オブジェクト指向プログラミング (Object-Oriented Programming=OOP) の入り口の入り口の入り口 秋山英三 F1027 1 例 : 部屋のデータを扱う // Test.java の内容 public class Test { public static void main(string[] args) { double length1,

More information

情報通信の基礎

情報通信の基礎 情報通信の基礎 2016 年 5 月 19 日 ( 木 ) 第 4 回授業 1 本日の予定 グローバルIPアドレスとプライベートIPアドレス DHCPサーバ (IPアドレスの自動割り当て等) DNSサーバ ( 名前解決 ) MACアドレス ARP( アドレス解決プロトコル ) ネットワークの階層モデル アプリケーションを識別するポート番号 2 TCP/IP (Transmission Control

More information

Microsoft PowerPoint - network8forPDF

Microsoft PowerPoint - network8forPDF 第 8 章 トランスポート層とフロー制御 インターネット上の TCP による高信頼 通信サービス 発信ノード あて先ノード 発信ノード あて先ノード アプリデータ アプリデータ アプリケーション層 アプリデータ アプリデータ TCP セグメント トランスポート層 高信頼 TCP コネクション TCP セグメント TCP コネクション型通信送信 TCP セグメント TCP コネクション型通信受信 TCP

More information

file:///C:/www/

file:///C:/www/ 1. インターネットの仕組み インターネットの基礎となる仕組み パケット交換方式 実用的な仕組みを構築するために採用された階層モデル 利用する上で必要な IP アドレスの知識などを学んで これからの講習に役立ててください 1.1 パケット交換による通信 電話は多数の通信線を交換機で繋ぎ換え送信側と受信側を 1 本の回線で接続して会話を可能にしています この回線交換方式は回線を占有するので通信速度が保障されるが

More information

スライド 1

スライド 1 第 4 回データの入出力 情報科学部情報メディア学科 鈴木基之 1 前回の演習の答え class CalcMean { public static void main(string[] args){ int a = 10, b = 15; double f; f = ( a + b ) / 2; System.out.println(f); f = ( a + b ) / 2.0; System.out.println(f);

More information

ガイダンス

ガイダンス 情報科学 B 第 2 回変数 1 今日やること Java プログラムの書き方 変数とは何か? 2 Java プログラムの書き方 3 作業手順 Java 言語を用いてソースコードを記述する (Cpad エディタを使用 ) コンパイル (Cpad エディタを使用 ) 実行 (Cpad エディタを使用 ) エラーが出たらどうしたらよいか??? 4 書き方 これから作成する Hello.java 命令文 メソッドブロック

More information

プログラミング入門1

プログラミング入門1 プログラミング入門 1 第 3 回 条件分岐 授業開始前に ログオンして待機して ください Java 1 第 3 回 2 不要ファイルの掃除 前回デスクトップにファイルをダウンロードした場合 次のものを削除してください week02.zip デスクトップにファイルを置きすぎると コンピュータをシャットダウンできなくなります Java 1 第 3 回 3 授業を始めます 前回の課題は うまくできましたか?

More information

通信プログラムの試作ーーー UDP を用いたじゃんけんゲームシステム ーーーー裘彬濱 南山大学情報理工学部 ソフトウェア工学科青山研究室

通信プログラムの試作ーーー UDP を用いたじゃんけんゲームシステム ーーーー裘彬濱 南山大学情報理工学部 ソフトウェア工学科青山研究室 通信プログラムの試作ーーー UDP を用いたじゃんけんゲームシステム ーーーー裘彬濱 南山大学情報理工学部 ソフトウェア工学科青山研究室 1:UDP を用いたじゃんけんゲームシステムの概要 本システムは通信プロトコル UDP を用いた簡単なじゃんけんゲームシステムであり 単一のユーザ ( クライアント ) が参加し パソコン ( サーバ ) とじゃんけんゲームするシステムである 本システムはユーザがゲームに参加できる時間を制限しており

More information

ガイダンス

ガイダンス プログラムの 1 行目に自分の名前を入れること // vm12345 杉崎えり子 情報科学 B 第 14 回課題作成 3 情報科学 B Info2/3 info14 今日のフォルダー作成 情報科学 B 第 14 回課題作成 3 Report14_1.java 1 教科書 資料 過去のプログラムを見ながらで OK 課題 3( 提出 ) ボタンとアニメーション ( 第 13 回 ) を組み合わせて オリ

More information

Microsoft PowerPoint - OOP.pptx

Microsoft PowerPoint - OOP.pptx 第 14 回 第 12 章アプレット 28 8 アプレットとは アプレット : ウェブ上で HTML のソースコードから参照されるプログラム.Web サーバや Web ブラウザ ( アプレットビューア ) から動的にアプレットはダウンロードされる. 289 HelloAp.java アプレットの基本事項 public class HelloAp extends Applet{ public void

More information

PowerPoint Presentation

PowerPoint Presentation 独習 Java ゼミ 11.4 PrintWriter クラス 11.5 バイトストリーム 07/06/22 鈴木慧 11.4 PrintWriter クラス PrintWhiter クラスとは Writer を拡張したクラス int float char などの基本データ型およびオブジェクトと等価の文字列を表示する PrintWriter コンストラクタ PrintWriter(OutputStream

More information

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

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド メソッド ( 教科書第 7 章 p.221~p.239) ここまでには文字列を表示する System.out.print() やキーボードから整数を入力する stdin.nextint() などを用いてプログラムを作成してきた これらはメソッドと呼ばれるプログラムを構成する部品である メソッドとは Java や C++ などのオブジェクト指向プログラミング言語で利用されている概念であり 他の言語での関数やサブルーチンに相当するが

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 7 回目 switch 文と論理演算子課題 1. 複数の選択肢から 1 つを選択するコードを switch 文で作りなさい 質問と解説は各自で設定しましょう ヒント : 選択肢の番号 1~4 で分岐するように switch 文を用いましょう あなたの好みの色は何色ですか? 1. 赤. 青. 黄 4. 緑 青の好きなあなたは沈着冷静な方です あなたの好みの色は何色ですか?

More information

Microsoft PowerPoint - OOP.pptx

Microsoft PowerPoint - OOP.pptx 第 12 回 第 10 章ファイルの入出力処理 24 4 入出力ストリームクラス 245 ファイルの書き出し (1) ファイルのオープン処理 FileWriter fw=new FileWriter(args[0]); 文字列 args[0] で指定された名前のファイルを作成する.FileWriter というストリームクラスのオブジェクトによりファイルがオープンされる. このオブジェクトは変数 fw

More information

2

2 次の課題 1~7 の を埋めてプログラムを完成させよ 1. 整数型の配列に格納されたデータの総和を計算し, その結果を出力するプログラムである このプログラムの処理手順を次に示す 1 配列の格納するデータの個数 n (n>0) を入力する 2n の大きさで配列を確保する 3 配列に n 個分のデータを格納する 4 配列の総和を求める 5 総和を出力する import java.io.*; public

More information

21 章のお話

21 章のお話 21 章のお話 オブジェクトヘッダ 型オブジェクトポインター (4byte, 8byte) 型の構造体へのポンタ 同期ブロックインデックス (4byte, 8byte) ロックとか COM で利用する フィールド マネージヒープ NextObjPtr マネージヒープ NextObjPtr オブジェクト A を割り当てたい! 同期ブロック 同期ブロックインデックス ~ フィールドまでが入るようにする

More information

インターネット,LAN,ネットワークに関する知識

インターネット,LAN,ネットワークに関する知識 第 9 回インターネット,LAN, ネットワークに関する知識 大学のキャンパス内にはネットワークが敷設されており, 教室, 図書館, 学生ラウンジなどで利用することができる LAN(Local Area Network) とは, 大学のネットワークなどのように, 比較的狭い範囲のネットワークを指す これに対して,LAN 同士を結んで, 遠隔地とデーターを交換することを目的としたネットワークを WAN(Wide

More information

** 平成 16 年度 FE 午後問題 Java** 示現塾プロジェクトマネージャ テクニカルエンジニア ( ネットワーク ) など各種セミナーを開催中!! 開催日 受講料 カリキュラム等 詳しくは 今すぐアクセス!! 平成 16

** 平成 16 年度 FE 午後問題 Java** 示現塾プロジェクトマネージャ テクニカルエンジニア ( ネットワーク ) など各種セミナーを開催中!! 開催日 受講料 カリキュラム等 詳しくは   今すぐアクセス!! 平成 16 平成 16 年度春期 FE 午後問題 Java 問 8 次の Java プログラムの説明及びプログラムを読んで, 設問に答えよ プログラムの説明 このプログラムは, 数量の単位変換を行う共通機能を提供するクラス群と, それらのテストプログラムからなる テストプログラムでは, セルシウス温度 ( セ氏温度, ) 及びカ氏温度 ( F ) の変換を行うクラスを利用する (1) インタフェース Converter

More information

< F2D82B682E182F182AF82F12E6A7464>

< F2D82B682E182F182AF82F12E6A7464> 3 人のじゃんけん [Java アプレット ] [Java アプリケーション ] 1. はじめに A 君 B 君 C 君の 3 人でじゃんけんを 1 回するときの勝ち負けを考えてみましょう あいこの場合は A 君 B 君 C 君の順に グー グー グー チョキ チョキ チョキ パー パー パー グー チョキ パー グー パー チョキ チョキ グー パー チョキ パー グー パー グー チョキ パー

More information

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

Javaセキュアコーディングセミナー東京 第3回 入出力(File, Stream)と例外時の動作 演習解説 Java セキュアコーディングセミナー東京第 3 回入出力と例外時の動作 演習解説 2012 年 11 月 11 日 ( 日 ) JPCERT コーディネーションセンター脆弱性解析チーム戸田洋三 1 Hands-on Exercises コンパイルエラーに対処しよう ファイルからのデータ入力を実装しよう 2 Hands-on Exercise(1) サンプルコードの コンパイルエラーに対処しよう 3

More information

Microsoft Word - SE第15回.doc

Microsoft Word - SE第15回.doc 1. ログ管理 Apache のログを参照し どのようなことが記述されているかを調べ どのコンピュータ からアクセスがあったかレポートにまとめなさい Apache のエラーログファイルである /var/log/httpd/error_log を開くと以下のようなログが表 示される [root@linux06 httpd]# vi /var/log/httpd/error_log [Tue Aug 16

More information

Prog2_10th

Prog2_10th 2013 年 11 月 28 日 ( 木 ) 実施 ファイル操作とディレクトリ操作今回の授業では,Java 言語でのファイル操作とディレクトリ操作とについて学習する ファイル操作ファイル操作は,C 言語プログラミングで学んだように, 次の順序で行う 1) ストリームを開く 2) ストリームからの入力, ストリームへの出力 3) ストリームを閉じる Java 言語では, ファイル操作に関係するクラスが複数用意されている

More information

II Java :30 12:00 I. I IV II. III. IV. ( a d) V. : this==null, T == N A ActionListener C class D actionperformed G getsource I implements K

II Java :30 12:00 I. I IV II. III. IV. ( a d) V. : this==null, T == N A ActionListener C class D actionperformed G getsource I implements K II Java 09 2 13 10:30 12:00 I. I IV II. III. IV. ( a d) V. : this==null, T == N A ActionListener C class D actionperformed G getsource I implements K KeyListener J JApplet L addmouselistener M MouseListener

More information

人工知能入門

人工知能入門 藤田悟 黄潤和 探索とは 探索問題 探索解の性質 探索空間の構造 探索木 探索グラフ 探索順序 深さ優先探索 幅優先探索 探索プログラムの作成 バックトラック 深さ優先探索 幅優先探索 n 個の ueen を n n のマスの中に 縦横斜めに重ならないように配置する 簡単化のために 4-ueen を考える 正解 全状態の探索プログラム 全ての最終状態を生成した後に 最終状態が解であるかどうかを判定する

More information

Microsoft PowerPoint - prog03.ppt

Microsoft PowerPoint - prog03.ppt プログラミング言語 3 第 03 回 (2007 年 10 月 08 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/33 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 10 月 08 日分と書いてある部分が 本日の教材です

More information

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

プログラミング基礎I(再) 山元進 クラスとは クラスの宣言 オブジェクトの作成 クラスのメンバー フィールド 変数 配列 メソッド メソッドとは メソッドの引数 戻り値 変数の型を拡張したもの 例えば車のデータベース 車のメーカー 車種 登録番号などのデータ データベースの操作 ( 新規データのボタンなど ) プログラムで使う部品の仕様書 そのクラスのオブジェクトを作ると初めて部品になる 継承 などの仕組みにより カスタマイズが安全

More information

Microsoft PowerPoint pptx

Microsoft PowerPoint pptx コンピュータネットワーク 第 6 回 2013 年 5 31 ( ) 授業 の Web ページを 意しました http://www.klab.is.sci.tohou.ac.jp/classes/ 2013/5/31 コンピュータネットワーク 2 先週までのおさらい 通信の階層 リンク層 イーサネット (Ethernet) CSMA/CD インターネット層 IP(Internet Protocol)

More information

ガイダンス

ガイダンス プログラムの 1 行目に以下を入れること // vm12345 杉崎えり子 情報科学 B 第 10 回 GUI 情報科学 B Info2/3 info10 今日のフォルダー作成 Example10_1.java 1 今日やること Windows などで見られるウィンドウを作 成して (GUI プログラム ) そこに実行結 果を表示させる 2 ウィンドウの作成 Java を使用してウィンドウの作成をしたい

More information

4章 システム評価

4章 システム評価 2003 JEP IM M 7 1.1 IM Yahoo!AOL IM Nilsen IM MSN Yahoo ICQ,AOL Nilsen IM Total 3,002,762 2,498,185 MSN Messenger 2,251,189 1,803,069 Yahoo! Messenger 698,645 638,660 ICQ 359,908 335,208 AOL Instant Messenger

More information

デジタル表現論・第6回

デジタル表現論・第6回 デジタル表現論 第 6 回 劉雪峰 ( リュウシュウフォン ) 2016 年 5 月 16 日 劉 雪峰 ( リュウシュウフォン ) デジタル表現論 第 6 回 2016 年 5 月 16 日 1 / 16 本日の目標 Java プログラミングの基礎配列 ( 復習 関数の値を配列に格納する ) 文字列ファイルの書き込み 劉 雪峰 ( リュウシュウフォン ) デジタル表現論 第 6 回 2016 年

More information