教育サーバーのページ オンラインテキスト目次 コンピュータリテラシー演習 2002年度ソフトウエア入門・演習 担当:朴、マッキン、海老原、大見 教科書:『Javaによるプログラミング入門』(権藤克彦、サイエンス社) マッキン先生のページ (第1講目) お約束、JavaでHelloWorldを表示する (第2講目)Javaの変数 (第3講目) 標準入出力を使う (第4講目) コメントとインデント (第5講目) 演算子 (第5+講目) 数のビット表現 (第6講目) 制御構造、流れ図 (第7講目) if文、if-else文 (第8講目) 繰り返し(while文 do-while文)と制御式の論理演算 (第9講目) 繰り返しその2(for文)とジャンプ(break文 continue文) (第10講目) 参照と配列 (第11講目) メソッド (第11+講目) 再帰プログラミング (第12講目)
前回から引き続き、ネーミング規約について説明をします。今回はメソッド、引数、変数全般、ローカル変数についての説明です。
ネーミング規約を無視したプログラムの読み辛さにイライラした経験はありませんか? ネーミング規約は、プログラムを書く時には「何故こんなルールを守らなくてはいけないのか」と煩わしく思われます。しかし、ネーミング規約に違反したソースコードを読む時には「何故こんなルールも守れないのか」と、腹立たしく思うものです。 規約にそったソースコードを書くのが煩わしいのは何故でしょうか?人によって理由は様々でしょうが、以下のような理由をあげる人が多いと思います。
処理を一時的に止めるため、sleepされるには下記のように記述すれば良い。 try { Thread.sleep(3000); //3000ミリ秒Sleepする } catch (InterruptedException e) { } 現在のスレッドが待機中に他のスレッドによって割り込まれた場合などに Thread.sleep は例外を投げてくるので、try ~ catch は必須です。
前回のサンプルで自動で迷路を作成しましたが、今度は作成した後ゴールするまで自動的に解いていきます。ゴールしたらまた新しい地図を作成します。 アプレット:迷路を作成し自動で解く 実際に実行すると下記のような感じになります。 迷路を解くためのアルゴリズムは一番簡単な「左側添え走法」です(正式な名前は知りません)。左側に手を付きながら迷路を進むというものです。 private void move(){ /* まず左に行けるかどうかチェック */ int leftd = marud + 1; if (leftd == 4){ leftd = 0; } int left =block[maruy + dy[leftd]][marux +dx[leftd]]; if (left == 0){ marud = leftd; oldx = marux; oldy = maruy; marux += d
この投稿は DroidKaigi で話そうと思ったけど採択されなかった RejectedKaigi な内容です。 プログラムは、書けば書くほど複雑になります。行数が増え、分岐や繰り返しが増え、メソッドが増え、クラスが増え、パッケージが増え、管理するものは日に日に増えていきます。これらのものを使う側からすると、使うものが増えるということは、それだけ覚えることが増えることになります。勿論、IDE やエディタプラグインによって、そのような労力が極力減らされることもありますが、覚えることが少ないに越したことはありません。 この記事では、IDE やエディタプラグインはひとまず脇に置き、チームでコミュニケーションを取りながらコードを書くという観点で、従来のプログラミングのプラクティスを基に、開発時のミスを少なくし、チームで素早くアプリを作り続けていく方法論を深めていこうと思います。 Agenda 型を

java-for-android-app.markdownAndroid アプリ開発のためのJava 入門 MEMO declaration は 「宣言」 と訳しているが、「定義」 の方が適しているような気がしなくもない。 「インスタンス」 と 「オブジェクト」 という言葉を使うことがあるが、本文書中ではどちらも同じ意味で使用している。 「String オブジェクト」 という表現は、「String クラスのインスタンス」 を意味している。 (Java に限らず一般的な表現だと思う。) はじめに この文書はAndroid アプリ開発をしようと思うプログラマのためのJava の入門文書である。 まともにAndroid アプリを書くために最低限必要だと思われる知識をひととおり記述している。 また、C の流れをくむ文法であるため、C やその類似言語を知っている場合には既知であろうと考えら

バッファはプリミティブに特化したデータ・コンテナのクラスです。ArrayListクラスなどのコレクションとは異なり,オブジェクトを保持することはできないし,サイズを変更することもできません。また,バッファに異なる型の値を保持することもできません。 これらの機能の制限は,入出力に特化していることに起因しています。基本的に入出力ではバイトが読み書きできればいいので,この割り切りは潔いですね。 バッファの特徴を列挙しておきます。 プリミティブに限定したコンテナ サイズ不変 型の混合は不可 基本的にシーケンシャル・アクセス(ランダム・アクセスも可能) position,limit,capacityという三つのプロパティを持つ ヒープ外のメモリーへの直接アクセスをサポート バッファは,基底クラスとなるjava.nio.Bufferクラスと,intなどの型ごとに定義されている派生クラスから構成されてい

■Javaによる画像処理■ ■田村研での画像処理プログラムについて■ 田村研では,プログラム開発にJavaを使用することとします.本来,ロボットビジョンの分野ではロボットに搭載されるような小型コンピュータの処理能力が低いため,C言語によって性能をぎりぎりまでチューニングすることが必要とされています.また,intelが開発し現在はオープンソースとして配布されているOpenCVなど既存の画像処理ライブラリや,画像処理用の専用ハードウェアに付属する開発環境もC言語を前提としているものが多いです. なぜJavaなのか しかし,C言語よりもJavaの方がプログラミング自体は楽に行えます.Javaも改良が進み,現在のPCを前提とするならば処理速度に不満が生じることはあまりなくなってきました.そこで,田村研の研究ではJavaにより画像処理プログラミングを行い,動作を確認し,必要なときだけC言語に移植す
アクセス修飾子の機能にパッケージ、継承と書いてありますが、 今は気にしないでください。これらは後の回で説明します。 ここで、覚えてもらいたいことは、アクセス制御の強さが private > アクセス修飾子なし > protected > public 強い←・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・→弱い の順であることです。 そして、アクセス修飾子「private」を用いれば、 他クラスからのアクセスを全て禁止することができるということです。 他からアクセス(参照)されたくないものに「private」をつけましょう。 これで、先ほど太郎が-1歳になってしまった処理を防ぐことができるようになります。 ところで、「protected」と「指定なし」は今は使いません。 まずは、「private」と「public」の使い分けを覚えてください。 「protecte
![Java言語入門 ~C言語を学んだ君へ~ [第8回]クラス - ほぷしぃ](/image.pl?url=https%3a%2f%2fcdn-ak-scissors.b.st-hatena.com%2fimage%2fsquare%2f4e1d5be70192d8129c725fa49788b74f945ba832%2fheight%3d288%3bversion%3d1%3bwidth%3d512%2fhttp%253A%252F%252Fwww.isl.ne.jp%252Fpcsp%252Fimages%252F08_01_01.png&f=jpg&w=240)
1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く