サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大そうじへの備え
www.ohshiro.tuis.ac.jp/~ohshiro
●もっとも単純なJavaプログラム もっとも単純な Java プログラムを例に,学習の始めに知っておいた方が良い初歩知識を紹介する。 以下の List 1 が最も単純な Java プログラムのひとつと言える。 ▼ List 1 "Hello.java" 構造を把握しやすい書き方 public class Hello { public static void main( String args[] ) { System.out.println( "hello!" ); } } この List 1 の一番外側の構造はクラスと呼ばれる(下図の薄緑部分)。 ●クラスとは ・クラス(class)とは,ある「事物」がどのようなものであるかを,プログラム上で表現したもの(下図)。 「事物」には, ・属性(データ) ・振る舞い(処理) がある。したがって,これらを組み合わせれば,「事物」を表現できる。 ・
■どこがC言語と違うか C言語で書いたプログラムがC++のプログラムでもあることを説明し,ついでC++の流儀で書いた 最も簡単なソースコードを示して,C++のソースコード中に現れるC++特有の表現や機能について解説 します。例えば,データを表示するにはどうしたらよいか,そのためにインクルードするヘッダファイル は? などという基本的な疑問に答えます。 ●やっぱりhello.c List 1.1(hello1.c)を見て下さい。これはC言語プログラムのもっとも単純な例です。 printf()関数は第2引数以降のデータを第1引数の文字列で書式を指定することができますが,この例では %s指定で4つの文字列を出力するようになっています。このプログラムをC言語処理系でコンパイルして 実行すると Hello World! と表示されるはずです。そして,このプログラムはれっきとしたC++プログラムでもあ
10-7 【Ecliipseでのパッケージの扱い】 ※2024/6/19(水)までの古いEclipseの画面を使った資料はこちら。 ※Eclipse での Javaプロジェクトの作成方法が未だ理解できていない場合は,こちらで復習し,実際に Eclipse でプロジェクトを作成してみること。 ●Eclipse では,以下の様に操作することで,自動的にパッケージのフォルダ階層ができあがる。 ■手順1:プロジェクトのソースフォルダ「src」にパッケージを追加する。図の例ではプロジェクト名を「PackageTest」としている。 ・プロジェクトフォルダ内の 「src」フォルダの上で右クリック(①)。表示されたサブメニューから「パッケージ」を選んで(②)新規にパッケージを作成する。 ■手順2:「新規Javaパッケージ」ウィンドウが表示されるので,「package-info.javaを作成する」のチェ
■大学設置基準で定められている予習・復習時間について ・文科省の省令で定められている大学設置基準では,学生が予習・復習に相当の時間をかけることを前提に 到達目標をさだめて授業を行うように規定されています。 ・大学設置基準から抜粋 (単位) 第二十一条 各授業科目の単位数は、大学において定めるものとする。 2 前項の単位数を定めるに当たつては、一単位の授業科目を四十五時間の学修を必要とする 内容をもつて構成することを標準とし、授業の方法に応じ、当該授業による教育効果、 授業時間外に必要な学修等を考慮して、次の基準により単位数を計算するものとする。 一 講義及び演習については、十五時間から三十時間までの範囲で大学が定める時間の授業 をもつて一単位とする。 二 実験、実習及び実技については、三十時間から四十五時間までの範囲で大学が定める時 間の授業をもつて一単位とする。ただし、芸術等の分
●条件を判定して,その結果により異なる処理をさせるためには, if文を使う。ここでは,if文を学ぼう。 if文にもいくつか種類がある。まず,一番シンプルなif文から学習しよう。これは, 条件が成立しているときだけ特定の処理を行わせるものである。 上図で紹介したif文は,条件が成立しているときに実行できる文は if( 条件式 ) 文 という具合にひとつだけである。これでは,少し不自由である。そこで,複数の文をひとつにまとめる ブロック文(下図)を使用すると便利である。 次に,ある条件が成立しているときと成立していないときで別の処理を行わせることの出来る if-else文を学習しよう。 if-else文は2方向への分岐であったが,if-else文を組み合わせることで,多方向への分岐 も可能となる。 問題1:キーボードから入力したint型の整数値が,正の数か,負の数か,それとも0かを判別して表示
●Java APIの参照とjavadocの使い方「もっとJavaを学ぶ 第1回 (2003年4月 )」 【はじめに】 Javaには「窓を開く」「通信する」「ファイルを読み書きする」といった高度な機能を 持つクラスとそれらをパッケージまとめたものが元から用意されてる。これはJava APIと 呼ばれる。 実用的なソフトウェア・本格的なソフトウェアを作成するためには,このJava APIを知る 必要がある。今回は, ・Java API のマニュアルの見方, ・Javaのソースプログラムからマニュアルを自動生成する javadoc について解説する。 【APIとJava API】 ●API 多少なりとも付加価値の高いソフトウェアを作成するためには, ・音を出す ・ウィンドウを表示する ・グラフィックデータを表示する ・データ通信をしたりする といった,機能を利用する必要がある。一般に,このような
●2次元の座標上で座標回転を行う関数を考えてみる。 座標(x, y) を,(xc, yc)を中心に θラジアン回転した座標は,次の式で計算できることが知られている。 ・回転した後のX座標 = (x - xc) * cosθ - (y - yc) * sinθ + xc ・回転した後のY座標 = (x - xc) * sinθ + (y - yc) * cosθ + yc ※ただし,数学の座標とコンピュータ画面座標ではy軸方向が逆なので,注意する必要がある。 この座標の回転を計算してくれる関数 rotation2D() は以下の様に定義できる。 main_rotation.cpp #include "DxLib.h" /* DXライブラリという便利な機能を使うため */ #include <math.h> /* C言語に用意されているsin()とcos()を使うため */ /* 座標(x,
■9.プログラムの実行制御(その4) メモリの制御、仮想記憶 【目的】メモリ管理の方法,特にOSが行う仮想記憶のメカニズムを理解するのが目的。 ●テキストでの対応部分 2.4 メモリの制御 コンピュータで処理される情報(データ)やプログラムは,メインメモリに記憶されている。しかし,メモリはハードディスクなどの外部記憶装置に比べて高価なため,コンピュータに搭載しているメモリの容量が,必要とされる量より少ない場合が多い。 メモリが不足すると,プログラムの実行もできなくなる。そういった問題を解決するのが,仮想記憶(virtual memory)という仕組みである。仮想記憶は,『十分な容量を持つ仮想的なメモリ』を想定する。プログラムは,この『仮想的なメモリ(仮想メモリ)』を使う。実際には,この仮想メモリは, ・本当のメモリ と ・ハードディスク からなっている。『本当のメモリ』の容量を使い切ると,
●ファイルの入出力 その0 サンプルプログラムは,サンプルファイル bat.mid をバイナリデータ のファイルとして読み込んで表示している例です。 ●バイナリファイルとは? ファイルの中身にはどんな種類のデータも記録できますが, その内容(用途)によって2種類に分かれます。 1.テキストファイル 人間が読める文字データが詰まったファイル。 改行を表す特殊な文字(改行文字)によって 行単位に分かれている。1行当たりの文字数 は行によって違って良い。 2.バイナリファイル 人間の読めないデータばかり入ったファイル。 画像や音声データ,圧縮されたデータ,MIDI ファイルなどがこれにあたる。 添付したファイルは,C言語の機能だけを使ってファイルをバイ ナリデータとして1バイトずつ読み込んで表示するものです。 使用している関数など(「Cリファレンスマニュアル第5版」P.P.388-445)。 「
●定数 定数とは,変数とは異なり,内容がずっと変化しない値のことである 定数の種類 定数には以下の4種類がある。
<body bgcolor="#ccd4eb"> <p><font size="4"></font></p> </body>
●入出力処理(後編)「もっとJavaを学ぶ 第5回 (2004年1月 )」 今回は,入出力処理のしめくくりとして,RandomAccessFileによるランダムアクセス ファイルの使い方,Fileによる抽象パスの表現とファイル操作,そしてファイル記述子 FileDescriptorの用途を解説する。 【ランダムアクセスファイル】 前々回に,入出力には大きく2種類あるということを紹介した。ひとつは,一連のデー タがひとつひとつ順次に入出力されるタイプのもので,Javaではこの種の入出力を,スト リームという概念で一括して扱っている(Fig.1)。 ストリームでは,データが順序よく入出力すればいいだけなので,多くの入出力機器をこ のストリームの概念で扱うことができる。たとえば,キーボードやモニタ(出力端末)も ストリームとして扱うことが可能である。 もうひとつのタイプは,メモリのように好きな位
2020年度講義課目 20191123体験授業用ファイル 【前期】 2年次:プログラミング応用a,同演習a (水曜日3,4限) 3年次:ゲームプログラミングa(旧カリ:ソフトウェア設計論) (金曜1限) 3年次:モバイルプログラミグa (金曜日3限) 【後期】 2年次:プログラミング応用b,同演習b (水曜日3,4限) 2年次:専門演習(ゲーム・アプリケーション研究室)「ゲーム制作演習」(水曜2限) 3年次:言語処理論 (水曜日5限) 3年次:ゲームプログラミングb(ゲームデザイン) (金曜1限) ●東京情報大学『東京ゲームショウ』参加プロジェクト ●東京情報大学ソフトウェアコンテスト 【昨年度以前の講義資料】 1年前期:プログラミング入門 (シューティングゲーム作成を例にC言語を学ぶ) 1年後期:ゲーム・アニメーション基礎演習 ((シューティングゲーム作成を例にC言語を学ぶ(その2))
●一番簡単なC言語プログラムを例に,C言語の基本知識,主に書き方を説明します。 一番簡単なC言語プログラムは次のようなものである(下図)。 #include <stdio.h>int main( void ) { printf( "hello!\n" ); getchar( ); return 0; } これは,画面に"hello!"と表示するプログラムであった。"hello!"と表示しているのは, 真ん中あたりにある printf( "hello!\n" ); という部分である。それ以外の部分は,プログラムの基本的な骨格と言える(下図)。 ※なお,getchar( ); は,コンソールウィンドウがすぐ閉じてしまうのを防ぐために 書かれているだけなので,今後の説明では省くことがある。自分で実際に授業の 課題などを作成するときは,return 0; の前に,getchar( ); を書き込む
『プログラミング応用a』『同演習』『プログラミング応用b』『同演習』 水曜3〜4限 (総合情報学科・情報システム学系2年次配当) 担当教員:斎藤・大城・佐藤・秋山・北風・平塚・渡辺・須賀 2024年度授業内容 ●スケジュール表へジャンプ! Webブラウザは FireFoxでお願いします(HTMLアニメーション対応のため)。 ●2024年度「プログラミング応用b」「同演習」のクラス分けと課題の提出先ついて (2024/09/25 Updated!) クラス分けは基本的に前期と同じでJ-Port掲示板に掲示されています。こちらからも確認できます(表に掲載されていない人 はクラス分け表上部に記載のルールに従って学籍番号末尾数字によってクラスが決まるようになっています)。 課題は,必ず自分のクラスの『プログラミング応用b演習』用WebClassコース(以下のリンク先)で確認・提出をして下さい。 後
●例外「もっとJavaを学ぶ 第2回 (2003年5月 )」 【エラー処理の課題】 プログラムにとって必要不可欠でありながら,扱いが難しいもののひとつが,エラー処理である。 どのようにエラーを回復するか,という点については,それぞれのエラーごとに対応が違うので, ここではふれない。ここでは,エラー処理を行うためのメカニズムについての課題を考えてみよう。 ●エラー処理記述の複雑さ エラー処理を行う場合,もっとも原始的な方法は,エラーが起こってないかどうかをif文でチェッ クし,エラーが起こっていない場合は通常の処理を行い,エラーが起こっていた場合は,else節でエ ラー処理を行うという方法である。 たとえば,List 1のように,4つの処理を実行している場合を考えてみよう。この例では,処理1か ら処理4まで,順序よく処理が記述されていて(List 1-(1)),処理の流れが明確である。 しか
このページは,2007年前期まで実施されていた旧カリキュラム科目「オブジェクト指向アプローチ論」 の補助教材ページです。既に履修し終わった方々の参考のために公開を継続しています。したがって, 内容が古いままのものが残っておりますので注意して下さい。 ※2007年度より実施されている2年生選択科目「オブジェクト指向プログラミングa」のページはここ ではありません。「オブジェクト指向プログラミングa」のページはこちらです。 2007年度授業内容 ●6/11の授業で提出課題を出しました。提出〆切は6/257/2の授業前までです。 ●夏休み中に,プログラミング言語C++の自主集中講義を行います。受講したい方はこちらを読んでエントリーしてください。 ●重要なお知らせ ■補講について New! ・今年度は月曜日が休日で1回休みになっているため,7/13(金) 5限目 16:30-18:00に102-1
●UNIXのファイルシステムは,Windowsのように,フォルダ(ディレクトリ)の中に 更にファイルやディレクトリが入っているという階層構造になっている。ここでは, UNIXファイルシステムの基礎を学習する。 UNIXのファイルシステムと同じように,フォルダ(ディレクトリとも言う)の中に,更に 他のファイルやフォルダが入っているという,階層構造になっている。たとえば,下の 左図の場合, ・hobbyディレクトリの中に,pic ディレクトリと musicディレクトリが入っている ・picディレクトリの中には,さらに mypicsというディレクトリが入っている ・そのmypicsディレクトリの中には,さらにa.jpg,b.jpg,c.jpgという3個のファイルが入っている ・一方,musicディレクトリの中には,m.mpg,n.mpgという2個のファイルが入っている ということが言える。 この
2013年度授業内容 ●スケジュール表へジャンプ! ●後期の『オブジェクト指向プログラミングb』(大城クラス)の取り纏めページはこちらです。 ● 重要なお知らせ(前期用) ■ソフトウェアコンテストに応募しよう! 2013年度も環境情報学科ソフトウェアコンテストを開催します。お知らせはこちら。ぜひ,参加してみて下さい。 ■出席に関して ・携帯電話を使った出席管理システムは使用しません。 ・出席登録は, WebClassの環境情報学科「オブジェクト指向プログラミングa」(総合:出席確認) で行います。出席したらすぐに出席登録をしてください。クラス別になっていますので,自分のクラス用の出席確認を使ってください。 ・第2回より毎回の出席点は次の基準で算出します。 a)「授業開始5分後」より前に出席登録した人は出席点1 b)「授業終了10分前」以降に出席登録したものは出席点0 (欠席扱い) c)「授
2013年度授業内容 ●前期の『オブジェクト指向プログラミングa』の取り纏めページはこちらです。 ●重要なお知らせ ■定期試験対策の確認問題 ・作成に時間が掛かりましたが,定期試験用の確認問題を アップロードしました(こちらからダウンロードして下さい)。 ※簡単な解説(随時追加します。問題4&6に関してFLASHによる解説の追加をしました。これで補足解説はすべて追加済みとなりました。) 【問題1】 一番簡単な実行可能なプログラムの例です。基本ですので,書けるようにしておきましょう。クラス定義の基礎についてはこちらを参考にすること。 main メソッドですが,「ぱぶりっく・スタティック・う゛ぉいど・メイン・すとりんぐ・アーグス・大括弧」とリズミックな呪文のように20回ほど口に出して繰り返せば憶えてしまうものです。 【問題2】 クラス名とファイル名の約束事についてはこちらを参照して下さい。基本
●入出力処理(中編)「もっとJavaを学ぶ 第4回 (2003年12月 )」 今回は,引き続き入出力処理の基礎として,バイトデータ入出力系ストリームの使用例と, 文字データ入出力系ストリームの解説をする。文字エンコーディングの変換例も登場するの で,しっかり勉強しよう。 【バイトデータ入出力系の使用例】 前回は,バイトデータ入出力系のストリーム全般を解説した。今回はその続きとして,い くつかのバイトデータ入出力系のストリームの使用例を紹介することから始めよう。 ●DataInputStream/DataOutputStream まず,基本的なデータ型の値をバイトデータとして入出力する ・DataInputStream ・DataOutputStream の使用例を見てみよう。 List 1は,指定されたファイルにint型データとdouble型データをバイトデータとして書き 込んだ後,逆にフ
次のページ
このページを最初にブックマークしてみませんか?
『www.ohshiro.tuis.ac.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く