トップ 一覧 検索 ヘルプ ログイン

Javaの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
{{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をカンマで分解して読むコード
!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() ) ));