
初めまして。最近Javaを勉強し始めたんですが、
友人に聞いたところ短期間にJavaが理解出来るコツは
『Java (TM)2 SDK ドキュメント(API仕様)』を読みながら
次の順番でサンプルを作りながら主要なパッケージを覚えて行けばいいんじゃない?
と言われました。
(1)JAVA.LANG (2)JAVA.IO (3)JAVA.UTIL (4)JAVA.NET
(5)JAVA.TEXT (6)JAVA.STRING (7)JAVA.MATH
必死でメソッドやインターフェース等のサンプルを作っている所なのですが、
同じような単語があったり、継承関係が複雑だったり。。。
頭の中で整理出来ず、ただ闇雲にやっているだけのような感じがしてきました。
皆さんはどのような工夫や方法でAPIを覚えて行きましたか?
是非ご回答の程お願いします。
No.4ベストアンサー
- 回答日時:
JavaのAPIを覚えることは、そんなに重要ではありません。
一番大切なのは、必要なときにAPIを調べて実際に使えるかどうかですね。(慣れてくると、よく使うAPIは覚えてしまいます)
あとは、Javaの言語仕様を理解することでしょうか。言語仕様は、SUNのSJC-Pなどの試験の問題集などを見るのが一番良いと思います。
Javaを覚える上でのポイントは、
(1)APIは覚える物ではなく、必要なときに調べられる事。
(2)Javaの言語仕様を理解すること。
(3)オブジェクト指向を理解すること…
こんな感じだと思います。
更に、効率的な設計を行いたければ、デザインパターンなどを勉強すると良いでしょう。
返事が遅れまして申し訳ありませんでした。
ご回答ありがとうございました。
APIを覚えるよりも、いろんなプログラムを作ってみる。
その過程でAPIを使えばいい。僕はこのように解釈致しました。
APIドキュメントが目移りしていた僕にとっては精神的にかなり楽になりました。
アドバイスを頂きましてありがとうございました。
No.3
- 回答日時:
私も同じく、いちいちそんなもの覚えません。
必要時に見るだけです。
Javaの文法やオブジェクト指向について理解できたなら、「Java言語で学ぶデザインパターン入門(著・結城浩)」がお勧めです。Javaのソースによるサンプルを交えながらオブジェクト指向プログラムの書き方を覚えられるので良い勉強になると思います。
参考URL:http://www.amazon.co.jp/exec/obidos/ASIN/4797316 …
返信が遅れて申し訳ありませんでした。
回答頂きましてありがとうございました。
是非、薦めて頂いた本を参考に読んでみようかと思います。
ありがとうございました。
No.2
- 回答日時:
API なんか覚えてません。
API を覚えることが重要なんじゃなくて必要な機能を API の中から探し出す能力を身につけることが重要です。そうじゃないと、自分の知らない機能を使おうとしても何もできなくなってしまいます。API の中でも特に重要なものは実際にプログラムを作るときに何度も使うので自然に覚えられます。
それに、API を使ってサンプルを作るだけじゃ Java 言語の「理解」はできません。理解するにはできる限り API に頼らずに自分で作ることが大切です。
クラスの仕組みなどを理解しないうちに API を使いまくると、API がただの便利なブラックボックスと化してしまう恐れがあります。
クラスの継承の仕方とか四つのアクセス権の違いとか、そういう文法的なことを身につけてから、実際にそれらが API でどのように使われているかを見ていくのがいいと思います。
返信が遅れて申し訳ありませんでした。
また、回答頂きましてありがとうございました。
APIよりもJava言語仕様を理解していく方が、
効率が良くスムーズに勉強が出来ると思うようになりました。
アドバイスありがとうございました。
No.1
- 回答日時:
覚えてません。
いまだにAPIドキュメントを見ます。
ブラウザのブックマークに入れて。
(高速化のため、ダウンロードしてHDDの中に入れてます)
基本的には、「オブジェクト指向」なので、
「関連するメソッドはクラスの中にある」
と考えます。
Stringクラスに何メソッドがあるか…ということは覚えません。
「とにかく関係するメソッドはその中にあるだろう」
との見当で、クラスを開いてメソッドを探します。
そうはいっても、java.ioなどはたしかに複雑で、
使いこなせないこともあろうかと思います。
これはやはり、多少の金を掛けても参考書を買って読むのが近道だと思います。
IOについて簡単に言うと、あそこにあるクラスはだいたい4種類に分類されます。
・バイナリ入力
・バイナリ出力
・テキスト入力
・テキスト出力
そしてそれぞれに対して、「ファイルとつなげる」
「他のストリームとつなげる」「メモリとつなげる」
などの種類があります。
たとえばjava.utilにあるコレクションクラスは
「setの仲間」と「Listの仲間」がに分かれます。
setの仲間は、要素が重複しないもの。
Listの仲間は、同じ要素が何回も出てくる(可能性がある)もの。
というふうに単純化して覚えます。
Listの仲間にはArrayListとかLinkedListなどありますが、
対して変わりないので、好きな方を使ってかまいません。
「継承関係が複雑」と思わず、
「継承関係によって分類されている」と考えれば多少覚えやすくなるのではないでしょうか?
返信が遅れて申し訳ありませんでした。
また、回答頂きましてありがとうございました。
回答を読んで、今までAPIに拘りすぎていたような気がしてきました。
APIを覚える事に越したことはありませんが、
『こんな感じのものがあったな~』という程度で抑えておいて、
Javaの言語仕様を十分理解出来るように努力したいと思いました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java JavaでWebページ作成 7 2023/07/21 21:09
- C言語・C++・C# C#の基本文法が詳しく書かれている教科書的な本ありますか 2 2023/02/11 03:48
- Java mac mini 2009 でのmac OS における Java の入れ替えについて 1 2022/12/27 19:23
- Java プログラミングのプの字も知りませんが、プログラミングを勉強したいです。とりあえず、学ぶものを決めない 3 2022/11/04 13:10
- ゲーム Ps5で、マイクラJava版って出来ますか?今マイクラ統合版でやってて、マイクラJava版もやってみ 1 2023/02/07 20:25
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- その他(ソフトウェア) JavaとOracle Javaって何が違うんですか? 1 2022/05/05 05:46
- Java javaでパソコンの内臓カメラや内臓マイクの映像や音をリアルタイムで映し出した 1 2022/07/09 14:02
- Java 質問です。 Java言語を勉強出来る機会がありますが、プログラマーに将来性はあるのでしょうか? AI 3 2023/05/25 16:54
- その他(ゲーム) マインクラフトJAVA版の導入・ローカルマルチプレイについて 1 2022/03/23 18:59
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB DLLプロジェクトについて
-
interface,extend,implementの...
-
メソッドの引数にクラス名を渡す
-
Class.forName("org.postgresql...
-
デバッグ時に「Source not found」
-
(vba)他のアプリケーションの右...
-
Strutsのバージョンアップによ...
-
JTextFieldの入力制限
-
JavaのimplementsをC言語で例え...
-
System.Collections.Generic.Li...
-
オブジェクト指向のインターフ...
-
compareToにおける「自然順序付...
-
private継承はどう使う?
-
【C#】クラスのコンストラクタ...
-
スタックで成績表を作るプログ...
-
C#のクラスと継承が理解できま...
-
Ftpでの帯域制限の設定方法につ...
-
ファイルパスが取得出来ない(P...
-
「継承されたメソッドの可視性...
-
「タイプ初期化子が例外をスロ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C# 「データが失なわれる可能性...
-
「継承されたメソッドの可視性...
-
(vba)他のアプリケーションの右...
-
【C#】クラスのコンストラクタ...
-
VB DLLプロジェクトについて
-
メソッドの引数にクラス名を渡す
-
「ラッパークラス」の存在意義...
-
interface,extend,implementの...
-
c++でのヘッダーファイルの循環...
-
このエラーメッセージの意味を...
-
委譲って何ですか?
-
ゲッターを使わないで変数にア...
-
Javaのインスタンス化の構文の...
-
ファイルパスが取得出来ない(P...
-
ASP.NETでの共通コードの書き方...
-
Commons-Discovery.jarとは?
-
デバッグ時に「Source not found」
-
JTextFieldの入力制限
-
JavaのimplementsをC言語で例え...
-
オーバーライドとラッパーの違い
おすすめ情報