{{category プログラム}} {{outline}} !!!Java学習にあたって 技術書籍というものは、書いている内容により想定している「読者」があります。 世間で評価の高い本でも、読者のレベルはよっては良い本になるとはいえません。 プログラム言語経験が無い場合は、Javaをコーディングするにあたって必要な情報が、 網羅されていない本でも構いません。 書店などでざっと内容を見て、とにかく読んでなにが書いてあるのか分かるものを選んでください。 !!!基本 !!コーディング !コーディング時のクラス、メソッドの命名の慣習 言語として間違いでは無いが、従って書いたほうが良いもの http://java.sun.com/docs/codeconv/ 他、所属したプロジェクトなどで規定があれば、それに従う。 !!読み方 {}波括弧、ブレース !インデントの意味 Javaに限らず、プログラム初心者にありがちなのが、インデントをちゃんとつけない事。 インデントには見やすくする以外に、変数のスコープ(有効範囲)を明確にする。 !!変数のスコープ Javaは基本で出来ているので、クラスの変数であるメンバ変数とメソッドで定義されるメンバ変数(javadocではフィールドと書かれる)とに分かれる。 基本的に宣言をされた{から}までの範囲で有効となる。 なのでスコープが分かれていれば同じ名前の変数を定義することもできる。 メンバ変数には修飾子による !!演算子でやっかいなもの !!アプレット アプレットでウインドウサイズにアプレットサイズを追従する方法 http://javatec.blog105.fc2.com/blog-entry-48.html 但し、appletviewerではwidthとheightを%指定では認識してくれない。 !!!Javaで便利なエディタ クリムゾンエディタ http://www.crimsoneditor.com/ 最新版はv3.7だが、日本語パッチを提供してくれるサイトが3.6までなので、 ツールに慣れるまでは日本語のv3.6で良いと思う。 日本語化(v3.6用) http://web.archive.org/web/20080219155028/http://www.kawachi.zaq.ne.jp/goemon/patch_room/archives/souko/cedt3.60JP.cab 本家は消えているが、webarchiveで取得可能 !!!とてもためになるサイト 基本 http://nextindex.jp/java/memberVar.html もうすこし、へぇ〜な機能等 http://www.atmarkit.co.jp/fjava/column/andoh/andoh32.html デザインパターン http://www.nurs.or.jp/~sug/soft/java/java32.htm !!!SJC-P受験情報 http://home.b-star.jp/~nagaz/ex-other/ex-sjcp5.html この本ほしいなぁ http://shikaku.impress.co.jp/book/m_java2_p5.htm 浅いコピーと深いコピー http://www.syboos.jp/java/doc/object-clone-deep-copy.html http://omoshiro-joho.com/tech-center/tips/tips_200501081430.html !!!ツール !!JDKのツールたち クラスファイルを読む javap クラス名 どんなメソッドや、メンバーもっているかはパッとわかる便利 JavaScriptの実行 jrunscript JavaDoc Androidのソースからdoc作りたいけどめんどくさい http://java.sun.com/j2se/1.3/ja/docs/ja/tooldocs/win32/javadoc.html#documentingpackages !!jad http://web.archive.org/web/20080214075546/http://www.kpdus.com/jad.html#download クラスファイルから.javaファイルを作成できる。 javacなどが暗黙で行っている事が良くわかる。 !!!Javaで遊ぶ MP3再生の参考サイト http://labs.unoh.net/2007/11/javamp3.html 画像保存 !!!参考サイト SJCP認定ガイド並みに細かい事や疑問に感じる事が書いてあります。 http://www.ne.jp/asahi/hishidama/home/tech/java/index.html http://allabout.co.jp/gm/gc/80729/4/ !!!スニペット !Excel形式のCSVをカンマで分解して読むコード // CSVの一行にみなすデータ hello,good,mike,"125","245,523" String line = "hello,good,mike,\"125\",\"245,523\""; // Excelの出力するCSVの1セルにマッチする正規表現 Pattern p = Pattern.compile("((\"[^\"]*(?:\"\"[^\"]*)*\"|[^,]*),?)"); // マッチさせる Matcher m = p.matcher(line); // グローバルマッチングを使うには、findがfalseになるまで繰り返す。 // するとCSV一行にあるセルをすべて取得できる。 while(m.find()) { //System.out.println(m.groupCount()); System.out.println(m.group(2)); } !文字コードエンコード 残念ながら文字コード判定の機能はないみたい。 // 文字のエンコード、Shift_JISで出力 Charset charset = Charset.forName("Shift_JIS"); String str = "はろー、わーるど!"; CharsetDecoder decoder = charset.newDecoder(); ByteBuffer bb1; CharBuffer cb = null; System.out.println( decoder.decode(ByteBuffer.wrap( str.getBytes() ) ));