- PR -

次のファイルを使用したJavaファイル作成のヒントを下さい

投稿者投稿内容
dejavu
ベテラン
会議室デビュー日: 2009/03/13
投稿数: 71
投稿日時: 2009-04-14 09:39
引用:

引用:

まだジェネリクスの<E>とか<T>の意味すらも知らない私にはちゃんとJava5の新機能と補足説明をして下さらないと意味不明に陥ってしまいましたよ。
今は専らJavaの基礎を学んでいるので、まだJava5の新機能まで覚える余裕がありません。


もはやJ2SE1.4.2はサポートを終了しています。
そして、J2SE5.0も2009/10/30でサポートを終了します。
制御構文は言語の基礎ですから、新機能と分けて考えずに、習得しておいた方が良いですよ。(というか、既にJ2SE5.0は新じゃない)


satomiさん、ご指摘ありがとうございます。
J2SE1.4.2がサポートを終了しているのは知っていますが、J2SE5.0については何も知りませんでした。
いつも思うのですが、こういう情報源というのはどうやれば知る事ができるのでしょうか。
凄く不思議で仕方ありません。
まだjdk1.4ですかね。それからブランクが3年あってだいたい約1ヶ月前くらいにJava5についての新機能を知りました。
その間がスッポリ抜けている感じなのですが、これも言い訳ですね。
もう一度引用します。
引用:

制御構文は言語の基礎ですから、新機能と分けて考えずに、習得しておいた方が良いですよ。(というか、既にJ2SE5.0は新じゃない)


できるならデカデカと表示したいのですが、それは無理なのでもう1度引用しました。
基礎とはなんたるか、を思い知らされます。
既にJava5は新では無く、しかも、for in構文は基礎なんですね。
そう言われるとあたふたしてしまいますが、まだJava5に関して掲載しているサイトは少ないですよね。
やっぱりTigerの本が欲しいな。
今現在出版されているJavaに関する本でfor in構文まで網羅している本ってありますかね。
あれば、教えて頂きたいです。
soluna
ベテラン
会議室デビュー日: 2004/06/15
投稿数: 59
投稿日時: 2009-04-14 10:20
引用:

今現在出版されているJavaに関する本でfor in構文まで網羅している本ってありますかね。
あれば、教えて頂きたいです。


ない方を探すのが大変だと思うが。

Javaチュートリアル
中は見てないので詳しくは知らない。

プログラム言語Java

Effective Java
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2009-04-14 19:38
Javaチュートリアルを通読すれば基礎を学んだと言えると思いますよ。
私は研修用に使ってますね。Sun公式本なのはだてじゃない。

なお、for inと言っておられますが、Javaでは「拡張for文」というのが正式です。
他言語の呼び方でも通じることは通じるし、正式名称でも知らない人は
知らないわけですが、ある程度まっとうな記事であれば正式名称で表記していますから
検索などをする場合にも正式名称の方がよいですね。
覚えておいて損はないでしょう。

JavaSE5.0のリリースは2004年のことですから、5年ほど前のことです。
書店の棚の不良在庫のような本でもない限りはJava5対応のはずですね。
観測範囲にもよるでしょうがblogなどでも、ここ1年ぐらいに書かれた
エントリであれば当たり前のようにJava5以降の構文で書かれているように思います。

Java5の新機能特集のようなページは2004年当時のものばかりですね。
桜庭さんのページあたりがよくまとまってるかな。
http://www.javainthebox.net/laboratory/J2SE1.5/contents.html
sawat
大ベテラン
会議室デビュー日: 2006/08/02
投稿数: 112
投稿日時: 2009-04-14 22:20
引用:

solunaさんの書き込み (2009-04-14 10:20) より:
ない方を探すのが大変だと思うが。


残念なことにダメな本は確かに存在します。
http://d.hatena.ne.jp/JavaBlack/20080401/p1
後輩が独習Javaを自腹で買ってきたときは
「ちょ!先に相談してよ!」って思いました。
# 周りに独習C++をもっている人が多かったからか…

solunaさんの紹介した本ならどれもお勧めですね。
dejavu
ベテラン
会議室デビュー日: 2009/03/13
投稿数: 71
投稿日時: 2009-04-15 00:28
solunaさん、nagiseさん、sawatさん
レスを頂き大変ありがとうございます。
ちょっと酷いショックを受けた後の回答だけに個人的に凄く嬉しいです。
本当は1人1人にお礼を言いたいとこですが、レスが3件になってしまうので、1つのレスにまとめて書く事をお許し下さい。
最初から脱線ですが、アドバイスを頂いた事に感謝します。
まずですね、自分がこれからJavaの知識を深めるために購入したいと思っている本を書きます。


  1. Javaチュートリアル 第4版


  2. マスタリングJavaEE5


  3. Java言語仕様 第3版


一応以上の3冊は抑えておきたいな、と思っています。
とても値段が高いのが厳しいですが、給付金で賄えればと思っています。
何故、これを書いたか。
solunaさんのコメントと少し被るからです。(深い意味はありません)
なので、solunaさんも推奨する本と一致するので安心して購入できますね。
それと、solunaさんのおかげで今もう1冊加わりました。

プログラミング言語Java

ただ、これを全部購入して全部読破できるのか、が問題です。
予想するに、全冊分厚い事でしょう。
それと、内容に重複する点がある事でしょうか。
しかも、まずはJava5以前のJavaの基礎を学ばなければならないので以前の分厚い本ももう1度お浚いしなくてはならないし、プロのプログラマを目指していた頃よりかはやる気は落ちていると思うので、モチベーションをどれだけ維持できるかも心配なところです。
ただ、以前も書きましたがJavaは大規模プロジェクトで使用されると聞きました。
アマの私がこれでJavaを学んで何の利点があるのかは今一分かりません。
でも、ここでの質問回数は減るような気がしています。
1つ問題点があるとするならば、最後の
Effective Java 第2版
ですね。
私もお金が無尽蔵にあるわけではないのでこれを買うとしたら、
マスタリングJavaEE5
を諦めるかどうかですね。
私は全部リンクはAmazon.co.jpにしました。
ここなら殆どの本の目次と内容が見えるからです。
唯一見えないのが
マスタリングJavaEE5
です。
だから、引っかかります。どっちに転ぶか予想できないので。
でも、先ほども書きましたが、本当に全部読破できるのかな、と思います。
購入しただけで満足する悪い癖があるので。
でも、学ぼうと思えば時間は限りなくあると言えます。
別に、スピードをゆっくりにすれば出来無い事は無いと思うのですが、どうでしょうか。
何かアドバイスがあれば、書いて頂けると大変有り難いです。
nagiseさんへ、URL拝見しました。
大変参考になるサイトを紹介して頂き、感謝します。
後は、
Javaチュートリアル 第4版
ですか。
お二人からのお薦めなら、なおさら購入したいですね。
nagiseさんはプロの方なのですかね。
こういう事は訊いてはいけないのかもしれませんが、プロだとするならばある意味必然的なモノだと思ったからです。
私はいくらJavaを学んでもお金は一銭も入ってきません。支出ばかりです。
確かにJavaの知識は得られますね。
これからもJavaを勉強し続けるなら私にとっても必須になるかもしれません。
でも、先行きはどうなるか自分でも分かりません。
sawatさんへ、アドバイスありがとうございます。
引用:

solunaさんの紹介した本ならどれもお勧めですね。


これでお三方からの推奨本となりましたね。
これからもJavaを続けたいなら、購入するが吉みたいですね。
大変参考になりました。
長々と書きましたが、とても満足感に満ち溢れた気持ちです。
Kazuki
ぬし
会議室デビュー日: 2004/10/13
投稿数: 298
投稿日時: 2009-04-15 00:56
個人的な意見だと
1.Javaチュートリアル
Java言語を学ぶ
2.Effective Java 第二版
 Javaをやるうえで良いプログラムの書き方を学ぶ
3.マスタリングJavaEE5
 Web開発するときに必要なテクノロジを学ぶ

の順番になると思います。
ただ、1と3は結構重量級なので、途中で挫折してしまうかもしれません。
こういうバイブル的な感じの本とあわせて、何かを作りながら学ぶような
本とか@IT内の連載記事をあわせて学んでいくのがいいと思います。

がんばってください。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2009-04-15 02:17
人によって理解度や理解力が違いますので、
なかなかお勧めするのは難しいという現実もあります。
一度大型書店へ足を運んで選んでみてはいかがでしょうか。

Java言語仕様やEffective Javaあたりは、私も今なら普通に読めますが、
業界に入りたての時は、正直読んでも意味不明な感じでした。
ですので、網羅的なバイブルのような本を入手するのも結構ですが、
サクっと読めるものから読んでいくというのも、ありなのかなと思います。

Java言語仕様についてはJavaの公式サイトにHTMLで置いてありますので、
自分にとっては買うまでもないという印象です。

とはいえ、お勧めはなんだ?といわれると、
何だかんだで大体皆さんとお勧めは被ってしまいます。
そしてsawatさんが書かれたリンク先の、
JavaBlackさんの非推奨の本は、私も激しく同意です。
dejavu
ベテラン
会議室デビュー日: 2009/03/13
投稿数: 71
投稿日時: 2009-04-15 06:29
引用:

個人的な意見だと
1.Javaチュートリアル
Java言語を学ぶ
2.Effective Java 第二版
 Javaをやるうえで良いプログラムの書き方を学ぶ
3.マスタリングJavaEE5
 Web開発するときに必要なテクノロジを学ぶ

の順番になると思います。
ただ、1と3は結構重量級なので、途中で挫折してしまうかもしれません。
こういうバイブル的な感じの本とあわせて、何かを作りながら学ぶような
本とか@IT内の連載記事をあわせて学んでいくのがいいと思います。

がんばってください。


Kazukiさんアドバイスありがとうございます。
KazukiさんのおかげでマスタリングJavaEE5が良い本だという事が分かりました。
多分4冊全部購入すると思います。
勿論、給付金で(笑)
これぞ有効活用と言うものでしょう。
宝の持ち腐れにならないように気をつけなければいけませんね。
それと、元々ここのスレの本題であったファイルのサンプルが届いたので貼り付けます。
できれば、このソースコードの率直なご意見を聞きたいですね。
コード:

public class Enshu1 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		//引数チェック
		if (args.length < 1) {
			System.out.println("引数を入力して下さい。");
			System.exit(0);
		}
		//第1引数で書き込みと読み取りを判別
		String option = args[0];
		if (option.compareToIgnoreCase("w")==0) {
			//書き込み
			String[] output = new String[args.length -1];
			for (int i=0; i<output.length; i++) {
				output[i] = args[i+1];
			}
			new FileIOSample().fileSave(output);
		}else if (option.compareToIgnoreCase("r")==0) {
			//読み取り
			String[] input = new FileIOSample().fileRead();
			for (int j=0; j<input.length; j++) {
				System.out.println(input[j]);
			}
		}else{
			//エラー
			System.out.println("引数を正しく入力して下さい。");
			System.exit(0);
		}
	}

}


ぴあちゃんさんのソースコードを見てif文のところがequals()メソッドだったのをcompareToIgnoreCase()メソッドに変えました。
後大きく違う点はthrow new IllegalArgumentExceptionで例外処理をスローしているのをSystem.exit(0)で強制終了させている部分ですかね。
例外をスローするのいいか強制終了するのがいいかの違いだけですね。
例外に関してはそういう知識が無いと書けない点ではいい勉強になりました。
「囲む」→「try〜catchブロック」は使えないので自動生成もできないし。
でも、System.exit(0)の方が処理が簡単だと感じるのは私だけでしょうか。

スキルアップ/キャリアアップ(JOB@IT)