dポイントプレゼントキャンペーン実施中!

研修生としてJavaを勉強しています。

研修といっても書籍やインターネットで情報を調べて
自分で考えてやっていく形式でそれには課題があります。

課題を解いていくのですがいざプログラムを
書こうとしたときにプログラムが頭に浮かびません。
書籍を読み、インターネットで色々情報を調べ
サンプルプログラムなんかもいくつか組んでみました。
人が完成させた課題のプログラムはある程度は
理解できるのですがやはり書けません...
真似したくないけど自分で書くとそうなってしまいます...

こんな人にいい処方箋はありますでしょうか?

A 回答 (5件)

3ヶ月に一日8時間と定まっているのならば、余計にいい条件です。



エンジニアとして生きていくには、技術力以上にタイムマネジメントの能力がもとめられます。

ですから自分の学習のスケジュールをたててみましょう。

・基本的な文法と構造の理解
・JAVA APIリファレンスの参照の仕方
・統合開発環境の使い方の熟知 ← これは軽視されがちですが、生産性をあげるためにも必須です。
・処理ロジックの引き出しを増やす

といったところが目標ですかね。

基本的な文法の理解に関してはWebを参照くらいでいいと思います。
ちなみにJavaの試験参考書はあんまり役にたちません。
コンパイルしたらコンパイラが教えてくれるような重箱の隅をつっつくようなことを隅々まで暗記してても実務では関係ありません。
極論すればコンピューターが教えてくれることはなんとなく知っていればいいだけです。
http://www.atmarkit.co.jp/channel/javaentry/java …

http://msugai.fc2web.com/java/
この辺を必要におうじて参照するだけで事足りるかと思います。

イディオム的なことは
逆引きシリーズがいいかと思います

「つまりファイルをコピーしたいときはこうする」
「ボタンを作りたいときはこうする」
といったような単位でサンプルプログラムを紹介してくれている本です

http://www.shuwasystem.co.jp/cgi-bin/detail.cgi? …

http://www.shuwasystem.co.jp/cgi-bin/detail.cgi? …

こういった処理単位でサンプルプログラムを書いてくれているリファレンス集のサンプルを、
使われているAPIをAPIリファレンスで参照しながら自分で打ち込んで、動作確認して、
こういう感じのことをしたいときはこういう感じに書けばいいんだなと覚えていきます。
余力があれば改造をして自分専用のライブラリをつくっていきましょう。

上記2冊を覚えると1000近い処理ロジックを身につけることができます。
これだけ理解していて、APIリファレンスの引き方を習熟すればビジネスロジックを実装するのにはほとんど困りません。
やってるうちに基本文法は頭ではなく手がおぼえてくれます。

最初の一年目はビジネスロジックを仕様書に沿って書いていくコーダーとの仕事とテストの仕事になると思いますので、
中途半端にならないように、最初から設計の分野までは考えないほうがいいです。

自作ライブラリを作っているうちに

効率が悪いな・・・こうやったら効率よくなるかな??

っとプログラムの見栄えや構造に試行錯誤するようになったころが設計分野に食指をのばすころかと思います。
そういったころに
http://www.amazon.co.jp/exec/obidos/ASIN/4797316 …
といったようなところを学習しだすと試行錯誤していたことの解答を得られて、
すっと身に着けることができます。
最初からこういった類の本をよんでも、なんでこういったことをするのか意味がわからないと思います。
オブジェクト指向の概念にしても、ある弱点を補うために考案されたものなのですが、
その弱点を体感してからでないと、そういった概念の意味を本当の意味で理解できないと思います。

好みはわかれますが翔泳社の10日で覚えるシリーズも日割りで章立てされているので学習計画が立てやすいので、余力があるなら一度本屋でみてみるのもいいかもしれません。
    • good
    • 0
この回答へのお礼

早速、書籍を購入して打ち込んでます。
細かい回答ありがとうございます。
大変参考になりました。

お礼日時:2005/01/31 18:07

一週間でしたらそれで十分ですよ。



とりあえず3ヶ月ほどは、短いサンプルプログラムを打ち込みまくって引き出しを増やすことに集中しましょう。
一日100行程度のサンプルプログラムを1個以上打ち込んで覚えるといった感じで。。。

日本語を上手になろうとおもったら、アタマの中にいろんな引き出しがないとうまく喋れないのと同じですね^^;

で、真っ白な状態からプログラムを書くときのアドバイスとしては、
プログラムでなにがしたいのかということを、処理の時系列順に日本語で書いていくことをオススメします。
基準としては他人にみせて、どういったものを作ろうとしてるのか伝えられる内容でしたら十分すぎるでしょう。
それをみながらJava語に翻訳していくわけです。

で、ながーいmainルーチン書いてると、そのうち分割したくなって関数を作りたくなってきます(タブン。
関数への分割作業をしていると処理の粒度を細かくしていく感覚が見についていきます。
そうしているうちに、オブジェクト指向といった意味不明なものの必要性も理解できるようになってくるでしょう。

実地訓練すっとばして本格的な設計を勉強しても、必然性が理解できないため、すぐに忘れてしまうと思うので、しっかりと引き出しを増やしていきましょう。
    • good
    • 0
この回答へのお礼

>一週間でしたらそれで十分ですよ。
この言葉にホッとしました。

勉強する時間は1日8時間以上あるので
じっくり考えてやることにします。
ちなみにサンプルプログラムはどういった
感じのものがよいのでしょうか?
自分が持っている書籍だと100行もある
サンプルがないので。。。
サンプルを打ち込むときはそのプログラムを
なんとなく理解しながらでよいのでしょうか?
あと、こんな人にお勧めな書籍ってありますか?

ちなみに研修期間は3ヶ月間でJSPやサーブレットまで
理解しなければなりません。

お礼日時:2005/01/27 23:53

>コマンドライン引数、if文、for文、変数、配列


>を利用してならなんとか書けますが、インスタンスを
>生成してそれを利用してとか前に作ったクラスを
>継承して・・・となると書けなくなってしまう
>のですよ。

Javaでプログラムを組む場合、サンプルプログラムの
ような簡単なものであればJavaの文法を習得する程度で
組めてしまうかもしれませんが、少々複雑なものになって
くると(もしくは規模が大きいもの)、きちんと"設計"と
いう工程を踏まなければ作成することは難しくなります。
まずは、プログラム設計を勉強をされることをお勧め
します。Javaでプログラムを組むのであれば、「オブジェ
クト思考設計」、「デザインパターン」などをキーワード
としてお調べになると良いでしょう。
    • good
    • 0

JAVAのおおまかな形は



class A {
フィールド;

    コンストラクタ(){
}
    メソッド(){
}
}
class Sample
{
public static void main(String args[])
{
A a=new A();
a.メソッド();
}
}
この形が理解できていれば 簡単なプログラムは大丈夫ですよね。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

コマンドライン引数、if文、for文、変数、配列
を利用してならなんとか書けますが、インスタンスを
生成してそれを利用してとか前に作ったクラスを
継承して・・・となると書けなくなってしまう
のですよ。

ちなみに研修始めて約1週間たちました。やる気は
あるけど頭がついていかないって感じですね。

お礼日時:2005/01/26 21:40

JAVAは使ったことないのでJAVAに通用するかは謎ですが、私の場合は、とことん人が作ったソースを改造して、改造した結果どうなったかを見て勉強していきます。


そして次にその結果を自分が思ったように出力させられるように勉強します。
それを繰り返すとすぐに覚えれます
(この回答はアドバイス程度でお願いします)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!