トップ 差分 一覧 ソース 検索 ヘルプ ログイン

Java

[プログラム]


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() ) ));

最終更新時間:2012年05月21日 11時15分04秒