• ベストアンサー

2冊目のJAVA本

 僕は今大学1年で、4月からJAVAを習い始めました。今とりあえず『やさしいJAVA』を読み終えて、次にどの本を使うか困っています。 やさしいJAVAの目次はこんな感じです。 はじめの一歩   Javaの基本 変数       式と演算子 場合に応じた処理 何度も繰り返す 配列 クラスの基本 クラスの機能 クラスの利用 新しいクラス インターフェイス 大きなプログラムの作成 例外と入出力処理 スレッド アプレット  希望としては、字が小さくなくて(かなり重要)、アプリケーションが主のがいいです。  よろしくお願いします。

  • Java
  • 回答数5
  • ありがとう数5

質問者が選んだベストアンサー

  • ベストアンサー
  • kacchann
  • ベストアンサー率58% (347/594)
回答No.4

「Java入門書は終えた人が、 次にアプリケーション作成を目的としたときに、 役立つだろう、ごく入門的な本」 という視点で、 本屋で良さそうなのを探してみました。 (コンポーネントの解説に終始してる本は除外) うーん、マイナーな本のオンパレードになってしまった… Java本の世界に「定番」はないので、 基本的には「自分が気に入ったもの」を選ぶしかなさそうです。 ・ごく初心者用 「ムズかしくないJavaアプレット入門」(※目にやさしい) http://www.amazon.co.jp/exec/obidos/ASIN/4812520762/qid=1096255047/sr=1-3/ref=sr_1_10_3/249-5615493-5107511 「Javaで楽しむプログラミング入門」 http://www.amazon.co.jp/exec/obidos/ASIN/4434042513/qid=1096254982/sr=1-1/ref=sr_1_8_1/249-5615493-5107511 ・初心者用 「理工系のJava」(※短いサンプルコードが多数掲載されていて良い。字が小さい、値段が高い) http://www.amazon.co.jp/exec/obidos/ASIN/4254121598/qid=1096255168/sr=1-1/ref=sr_1_8_1/249-5615493-5107511 「Javaによるはじめてのアルゴリズム入門」(※題名の通り、基本的にはアルゴリズム入門本) http://www.amazon.co.jp/exec/obidos/ASIN/4774112402/qid=1096255580/sr=1-1/ref=sr_1_2_1/249-5615493-5107511 ・中級者用 「Javaサンプルプログラム集」(※字が小さい、値段が高い) http://www.amazon.co.jp/exec/obidos/ASIN/4320120558/qid%3D1096255256/249-5615493-5107511 「Javaゲームプログラミング アルゴリズムとフレームワーク」(※ゲーム入門) http://www.amazon.co.jp/exec/obidos/ASIN/4797318422/qid=1096255307/sr=1-1/ref=sr_1_10_1/249-5615493-5107511

seagoo
質問者

お礼

「Javaによるはじめてのアルゴリズム入門」にすごく興味をもちました! ちょうどアルゴリズムとAWTを詳しく知りたかったところなので最適かもしれません。ありがとうございました!

その他の回答 (4)

回答No.5

アルゴリズムの勉強をされたらいいと思います。 あと、高いですけどSunのJava2の資格取得に挑戦したり。 思い出せないんですけど、前橋なんとかさんが 書かれた書籍、「Java 謎+落とし穴」という書籍が お勧めです。

seagoo
質問者

お礼

やはりアルゴリズムは必須ですよね。 ありがとうございました!

  • groke
  • ベストアンサー率34% (17/50)
回答No.3

やさしいJAVAはわかりやすかったですか? もし、やさしいJAVAが気に入っているのならその次の「やさしいJAVA 活用編」という本がありますよ~! 著者も同じく高橋さんで、seagooさんの希望通りアプリケーション作成が主の本です これを読めば簡単なアプレットが作れるようになります

seagoo
質問者

お礼

 やさしいJAVAはとてもよかったです。ただ、Amazonで活用編の評判がよくなかったので、ためらってしまいます。  ありがとうございました。

回答No.2

字は小さいですが、 「Javaプログラミングの教科書」 掌田津耶乃 著 が、今まで読んだ中では非常にわかり易くお勧めです。 基礎をしっかり学びたい人向けですね。 後は必要に応じて、それぞれの機能の専門書籍を読むか、 コアJavaやモアJava辺り(非常に内容が充実しているが、読みにくいと思う)を押さえれば、そこそこ応用も出来るのかな。

seagoo
質問者

お礼

立ち読みして考えます。ありがとうございました。

  • gonic
  • ベストアンサー率30% (18/59)
回答No.1

あまり知らないのでお薦め自体は何とも言えませんが、とりあえず参考までに。 2ch Books 2ちゃんねるで推薦されたコンピュータ関連書籍の紹介。(閉鎖されたのでWeb Archiveから) http://web.archive.org/web/20040205023132/www.1point.jp/~book_2ch/program/java.html 2ch Books ver.2 http://2chbooks.seesaa.net/category/77377.html

seagoo
質問者

お礼

2ちゃんねる・・・ありがとうございました。

関連するQ&A

  • インターフェイスの使い方がわかりません(初心者です)

    Javaを始めたばかりの初心者です。 「やさしいJava」を買って一通り学んだのですが、 インターフェイスの使い方がよくわからず、困っています。 インターフェイスを実装することでインターフェイスが持つメソッドがすべて定義されてることが保障される、 というのはわかるんですが、そのことがどうして有用なのでしょう? また、具体的にはスレッドを扱うときにRunnableインターフェイスを実装する理由がわかりません。 Threadクラスのオブジェクトを作成するときに、 Runnableを実装したクラスのオブジェクトの変数を 引数にしないといけないんですよね? このとき、Runnableインターフェイスが 「runメソッドが定義されていなければならない」 とだけいうものだったとしたら、 Runnableを実装してなくてもrunメソッドさえ定義してあれば 実行できそうな気がするんですが・・・

    • ベストアンサー
    • Java
  • Java:スレッドでエラー発生時に処理を終わらせる

    以下の事が出来ずに悩んでいます。 これ参考になるかな? というようなWEBページ等がありましたら、教えていただけると助かります。 ■やりたいこと ・aaa.javaから、「スレッド1」「スレッド2」「スレッド3」の処理を呼び出し、それぞれのスレッドで処理を実行する。 ・全てのスレッド処理が完了したら、次の処理へ進む。 ・「スレッド1、2、3」で、何かしらのエラーが発生した場合は、「aaa.java」の処理を終わらせる。 ■現状 ・aaa.javaから、「スレッド1、2、3」の処理を呼び出し、それぞれ処理を実行させる事は出来た。 ・すべてのスレッドが完了したら次の処理へ進む事は出来た。 ・「スレッド1、2、3」のどこかでエラーが発生した場合でも、処理の完了となり、「次の処理」へ進んでしまう。 もうちょっと細かい事を書くと、各スレッドでは、それぞれデータ作成のSQLを実行する処理をさせているのですが、 そのSQLが何かしらの要因でエラーで戻ってきた場合、次の処理へ進んでしまうとまずいです。 そのため、どこかのスレッドのSQLがエラーになったら、スレッドを呼び出した元の「aaa.java」でエラー・終了。となるようにしたいです。 一応、各スレッドでSQLのエラーとなった場合には「catch」に飛んでる。状態ではあるのですが、aaa.java側に戻って終わらせる事が出来ず。。。 ソースはだいぶ削りましたが、参考に以下記載します。 (削りすぎている可能性もありますが、その際はごめんなさい。) すみませんが、よろしくお願いします。 ---------------------------------------- aaa.java   public void Sql_Exec() throws SQLException, IOException {     /*     ループ条件の取得。(省略)     */     //ループ処理。     for (ループ条件(省略)) {       //スレッドの呼び出し。       //スレッド1       Thread_1 exec_1 = new Thread_1(引数もろもろ);       Thread thr_1 = new Thread(exec_1);       thr_1.start();       //スレッド2       Thread_2 exec_2 = new Thread_2(引数もろもろ);       Thread thr_2 = new Thread(exec_2);       thr_2.start();       //スレッド3       Thread_3 exec_3 = new Thread_3(引数もろもろ);       Thread thr_3 = new Thread(exec_3);       thr_3.start();       try {         //全てのスレッドが終わるまで待つ。         thr_1.join();         thr_2.join();         thr_3.join();       } catch (InterruptedException e) {         //例外処理         e.printStackTrace();       }     }   } ---------------------------------------- スレッド1~3.java public class Thread_1 extends Thread{   public void run(){     /*     ループ条件の取得。(省略)     */          //ループ処理。     for (ループ条件(省略)) {       try (Connection con1 = DB接続。) {         String sql1 = 実行SQL取得;         PreparedStatement pstmt1 = con1.prepareStatement(sql1);         int aaa = pstmt1.executeUpdate();         con1.close();       } catch (SQLException | IOException | JAXBException e) {         e.printStackTrace();         throw new RuntimeException("例外!");       }     }   } } ----------------------------------------

    • ベストアンサー
    • Java
  • コマンドライン引数のチェック

    args[]ってString型の配列変数ですよね? たとえば、 コマンドライン引数で数字を受け取って演算するために Stringからint等の数値に変換するとします。 Integer.ParseInt()を使うと、もし数字ではない引数 だったときに例外処理が発生します。 事前に文字か数字がチェックする方法はあるのでしょうか? それとも例外処理で対応するしかないのでしょうか?

    • ベストアンサー
    • Java
  • Javaの配列について

    お世話になります。 Javaでは配列は基本型ではなくオブジェクト型(参照型)だということなのですが(実際equals()やtoString()などを持っている)、配列に他のクラスやインターフェイスを継承させる方法はあるのでしょうか?例えば配列にSerializableをimplementsさせて、他のクラスのインスタンスのように直接ファイルに読み書きできるようにすることは、可能なのでしょうか? よろしくご教授ください。

    • ベストアンサー
    • Java
  • java のスレッドについて

    java のスレッドについて javaでスレッドを作って処理をさせたいと思います。 メインのクラスでスレッドAを呼び出し、スレッドAで計算をしてその結果をメインのクラスで利用したい場合、一番簡単な方法は何でしょうか? なお、メインのクラスは、 while (Thread.isAlive()); な感じでスレッドが終わるまで処理を止めておきたいと思います。 簡単なコードを書いていただけないでしょうか?

    • ベストアンサー
    • Java
  • Vistaでアプレットを終了するとき

    VistaのPCでコマンドプロンプトでアプレットビューアを実行し、アプレットを終了すると、コマンドプロンプトに 「Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: component argument pData---」 と例外が発生してしまいます。XPのPCだと例外は発生しません。Vista特有の問題なのでしょうか。どなたか教えていただければ幸いです。

    • ベストアンサー
    • Java
  • JAVAプログラムの基本的な書き方

    JAVAを始めて数日の者です。 クラス、メソッド、コンストラクタ、インターフェイスなど初心者にはかなりキツイです! どうも理解できません。 プログラムを書くとき、クラス定義したらその度にnew演算子を使うのでしょうか? メソッドとは処理する内容を記述するものなのでしょうか? メインは最後に記述するのでしょうか? 最初に呼び出されるのはメインですか? プログラムを書くとき、頭の中で流れを考えながら英語みたいに組み立てていくのでしょうか? 訳のわからない質問ですが、プログラムを書くときの基本的な注意点を教えてください!

  • javaプログラミング

    JAVAプログラミングです。 教えてください 次のコードを実行すると、 「ary= new int[-5]; 」では例外が発生するのでtry文を用いてこの例外に対する例外処理をしたいんですがどう書けばいいですか?プログラムを実行した後に[例外処理後の実行例〕になるようにしたいです。 〔NegativeArraySizeException 例外を発生するコード〕 class Assignment9_1 { public static void main(String[] args) { int[] ary; // 例外 NegativeArraySizeException が発生 ary=new int[-5]; } } 〔例外処理前の実行結果〕 Exception in thread "main" java.lang.NegativeArraySizeException at Assignment9_1.main(Assignment9_1.java:7) 〔例外処理後の実行例〕 配列要素数の指定は負です

    • ベストアンサー
    • Java
  • java初心者です。基本的ですがよろしくおねがいします◎

    下記の内容でコンパイル時にエラーが出てしまいます。 ■問題■要素数10の配列を任意のデータで初期化し、最大値と最小値を求めよ。 import java.io.*; class Ensyu4 {    public static void main(String args[])     {    int i=0,max=0,min=0;//カウンタ、最大値変数、最小値変数         int[10] intArray = {5, 6, 7, 8, 9, 10, 1, 2, 3, 4}; //配列任意初期化         max = intArray[0];         min = intArray[0];         for(i=0;i<10;i++)//最大・最小判定         {             if(max<intArray[i])                 max = intArray[i];             if(min>intArray[i])                 min = intArray[i];         }     System.out.println(max + "が最大値です");     System.out.println(min + "が最小値です");     } } エラーの内容・・・ Ensyu4.java:9: ']' がありません。 int[10] intArray = {5, 6, 7, 8, 9, 10, 1, 2, 3, 4}; //配列任意初 期化 ^ Ensyu4.java:9: 文ではありません。 int[10] intArray = {5, 6, 7, 8, 9, 10, 1, 2, 3, 4}; //配列任意初 期化 ・・・どうやら配列の初期化の仕方が間違っているようなのですが、何が間違っているかわかりません。きっと基本的な間違いなのでしょうが・・・^^; 下記のサイトを参考にさせていただいています◎ http://www.javaroad.jp/java_array1.htm なにとぞご協力お願いいたします^^;

    • ベストアンサー
    • Java
  • if と配列の組み合わせ

    なにやら思いつかなかったのでこちらで相談します。 配列のaと変数bがこんな感じだったとします。 int a[4]={1,3,4,7}; b=6; もしbが配列aのどの数字にも当てはまらないならこうしますよ もしbが配列aのどれかの数字に当てはまるならこうしますよ といったプログラムを作りたいのですが短く処理できる プログラムを思いつきません。(理論演算子を使えば長くなる) どうすれば短く処理できますか?