• 締切済み

JAVAプログラムの基本的な書き方

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

  • Java
  • 回答数2
  • ありがとう数4

みんなの回答

回答No.2

>クラス、メソッド、コンストラクタ、インターフェイスなど初心者にはかなりキツイです! 「初心者にはキツイ」、と言うことがわかっていると言うことはすばらしいと思います。Javaはそういう意味では非常にキツイ言語です。型宣言も厳密だしキャストもうるさいし。インターフェイスとかコンストラクタとかは特に難しいです。 >プログラムを書くとき、頭の中で流れを考えながら英語みたいに組み立てていくのでしょうか? ここまでわからないと言うことはプログラム経験ゼロですよね。それならとりあえずJavaScriptで勉強することをお勧めします。簡単に実行できるし、Javaと似た記述ですし。Javaで開発すると言うことはWeb系の開発になると思いますから、どうせ必要になるであろう言語でもあります。 ちなみにJavaScriptとはJavaのような文法で記述できる(ことを目指した)スクリプトのことです。スクリプトとは簡単に実行できる簡易プログラムと説明されます。ですので、Javaの勉強のはじめの段階でJavaScriptを使うと言うのは的外れではありません。 どんな言語でもそうですが、if文とfor文が書ければ8割がた記述することができます(タブン)。あとはそれをうまく組合わせてアルゴリズムを組み立てて行く思考力です。その辺はどんな言語も共通していますから、とりあえず簡単に実行できるJavaScriptをお勧めします。 コンストラクタ、インターフェイスの知識が必要なのは全体のごくわずかです。でもできないと後で困りますが、はじめは他の人のソースを参考にして書くと思いますので、わからなくてもいいと思います。 あと、javaを書くときにはエディタはエクリプスがお勧めです。 スクリプトとは 【script】 ─ 意味・解説 : IT用語辞典 e-Words http://e-words.jp/w/E382B9E382AFE383AAE38397E38388.html JavaScriptとは ─ 意味・解説 : IT用語辞典 e-Words http://e-words.jp/w/JavaScript.html Eclipse.org home http://www.eclipse.org/ FrontPage - EclipseWiki http://eclipsewiki.net/eclipse/

sachikazuchan
質問者

お礼

詳しい説明をどうもありがとうございます!! 本当に感謝です! URLとかとても参考になりました! お察しの通りプログラミング経験ゼロなんです。 仕事で使わなければいけなくて、かなり厳しいですが 一歩一歩頑張っていきます。 URLとかとても参考になりました!

noname#25358
noname#25358
回答No.1

 そんなの、いっぺんに覚えようとしても無理です。  どういった状況で勉強されているのでしょうか。  趣味でやっているのであれば、まずは「クラス」と「メソッド」の概念をしっかりと学んでください。  それ以外の要素はおいおい分かるようになれば大丈夫です。  んで、 >プログラムを書くとき、クラス定義したらその度にnew演算子を使うのでしょうか?  はい。そうです。  new 演算子はクラスをメモリ上に読み込み、いつでも使える状態にするためのものだから、使いたい全てのクラスに対して実行する必要があります。 >メソッドとは処理する内容を記述するものなのでしょうか?  そうです。  実際、全てのプログラムコードはメソッド内に記述されます。  メソッドとは、プログラム実体の入れ物のことです。 >メインは最後に記述するのでしょうか?  どこでもいいです。別に決まってません。 >最初に呼び出されるのはメインですか?  通常はそうです。 >プログラムを書くとき、頭の中で流れを考えながら英語みたいに組み立てていくのでしょうか?  大事なのは、「最終的に何がしたいのか」「その目的のためにどのような流れで処理を行いたいのか」ということです。  こればっかりは「慣れてください」としか言いようがないので、まずはサンプルプログラムを真似て、その内容を解析するところからはじめるといいと思います。  ゆえに、あらかじめ目標を持っておくといいでしょう。  俺はいつも、「最初はゲームを作ることを目指してはどうでしょうか?」と薦めることにしています。  あなたがプログラムに興味を持つことがまず一番大事だからです。

sachikazuchan
質問者

お礼

deagleさん、どうもありがとうございます! 実は4月から会社でプログラミングの仕事をするのですがなんせ初心者ですので、何から手を付けて良いやら・・と焦っております。 ゲームとか作れたら素敵ですね! 頑張ります!

関連するQ&A

  • JavaのFileWriterについて

    はじめまして。 以下のようなプログラムで、new FileWriter("test1.txt")の【test1.txt】が最終的にどの親クラスのコンストラクタ(メソッド?)に渡されて処理されるのかがわかりません。 new演算子で FileWriterオブジェクトを作成した際に、importした親クラスのFileWriterクラスにあるコンストラクタが呼び出されるのだろうとは思っています。 そこで、JavaのAPIのサイトにて、クラス FileWriterの説明(http://docs.oracle.com/javase/jp/6/api/)を読みましたが、コンストラクタが複数紹介されており、下記のプログラムに当てはまるものがどれか分かりませんでした。 また、クラス FileWriterの説明ページのコンストラクタの概要にあるpublic FileWriter(File file)というコンストラクタの場合、引数リストのFileにもリンクがあり、Fileのリンク先のページであるクラス Fileの説明(http://docs.oracle.com/javase/jp/6/api/)を読みましたが、結局test1.txtがどのクラスのコンストラクタ(メソッド?)でどのように処理されているのかが分かりません。 どうかご教示いただきたく、よろしくお願い致します。 import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; public class Sample7 { public static void main(String[] args){ PrintWriter pw = null; try{ pw = new PrintWriter (new BufferedWriter(new FileWriter("test1.txt"))); pw.println("Hello!"); pw.println("GoodBye"); System.out.println("ファイルに書き込みました。"); }catch(IOException e){ System.out.println("入出力エラーです。"); }finally{ if(pw != null){ pw.close(); } } } }

    • ベストアンサー
    • Java
  • javaの描画関係のプログラムの考え方について

    昔からあるJavaの基本的なグラフィックスのプログラム(下方のサンプル)の構造の基本についてお尋ねします。 プログラムの構成を言葉で言うなら、 1 クラスの設定 2 クラス内部のメソッドの作成(コンストラクタ、paint, main) (mainはメソッドとは言わないかもしれませんが、クラスの中の実働部隊のトップということでそういう位置づけにしました。) ここで疑問ですが、 疑問1 paintメソッドですが、どのようにして呼ばれていると考えるのでしょうか。プログラムの中で呼び出されていないように見えます。 mainの中のw.setVisible(true)とかw.show()が描画せよ、というトリガーだと思いますが、paintを動かせとはストレートには読めません。 w.paint() とかだとTestクラスのオブジェクトwのメソッドpaintを動かしているということが示されるわけですが。こういうのがないですね。 疑問2 mainの中のFrame w=new Test()はTest w=new Test()でも動作しますが、これはあまり気にしなくていいでしょうか。 ---- 以下はプログラムの構造です。--- import 適当に public class Test extends Frame{ public Test(){ クラスと同じ名前なのでコンストラクタですね。 setSize(300,300);ウィンドウのサイズ指定 addWindowListener() などいろいろウィンドウのセッティング ウィンドウの閉じ方とか 描画のためのキャンバスの用意 } public void paint(Graphics g){ g.drawLine(0,0,200,200); 描画本体 この部分をいろいろプログラミングする } public static void main(String[] args){ メインなのでここがスタートライン Frame w=new Test(); オブジェクトを作って // w.show(); w.setVisible(true); 描け } }

  • java アプリケーションをjava アプレットに

    java超初学者です。詳しいかたご教授願います。 java アプリケーションをjava アプレットに書き換えたいのですが、具体的にはどう書き換えを行ったらいいのか修正をお願いします。 (文字制限があるので、14個あるクラスファイルの中で(内1つはhtmlファイル)、メインメソッドを持つ実行クラスだけのせています。) Appletを継承させる、属性をメインクラスとコンストラクタはpublic にする、 mainメソッドを削除し、initメソッドへ書き換える、サイズ指定は<applet>タグで指定する。等調べましたが 具体的にわかりません。特にコンストラクタとメインメソッドの部分のアプレットへの書き換えがわかりませんでした。 宜しくお願い致します。 //実行クラスです。 import java.awt.*; import java.awt.event.*; /** *ゲームクラス(ここから始まる)<p> *画面の作成 */ public class Game extends Frame { /** * メインクラス */ public static void main(String args[]) { //フレームの作成 new Game(); } /** * 引数なしのコンストラクタ */ Game() { //*** ウィンドウの初期化 //タイトル super("Shooting Game"); //クローズボタンによる終了処理の実装 addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent evt) { System.exit(0); } }); setSize(500, 500); //ウィンドウのサイズ //*** キャンバスの初期化 MyCanvas mc = new MyCanvas(); add(mc); //フレームにキャンバスを追加 setVisible(true); //ウィンドウの表示 //ゲームデータの初期化 mc.init(); //スレッドを作成 mc.initThread(); } }

  • JavaプログラムのUML化

    Javaで書いたプログラムをUMLで書きたいのですが、 匿名クラスがある場合のUMLの記述法がわかりません。 プログラム内部で作り出すクラスなのでUMLで書かないのか、 書くべきなのかもわかりません。 例えば以下のコードの場合はどのような図になるのでしょうか。 // Constructor example(){ MouseListener mouse = new MouseListener(){ public void mouseClicked(MouseEvent e){}; public void mouseEntered(MouseEvent e){}; public void mouseExited(MouseEvent e){}; public void mouseReleased(MouseEvent e){}; }; } 回答よろしくおねがいします。

  • javaでのコンストラクタの実行

    javaでのコンストラクタの実行 フィールドにHello a=new Hello(); とかいてメインメソッドにもHello b=new Hello(); とかくとaインスタンスとbインスタンスのどっちのコンストラクタが先に実行されるんですか? よろしくお願いします。

    • ベストアンサー
    • Java
  • Java コード教えてください。

    【Java】以下のコードを教えてください。 夕食のメニューを表示するプログラムの作成を行う。 以下の仕様を満たし、実行例のように 動作するSupperMenu.java、Supper.javaを作成しなさい。 [SupperMenu.java]  String型のフィールドmaindish (主食)(初期値は設定しない)、sidedish(副菜・スープ)(初期値は設定しない)を持つ。 いずれもクラス外からはアクセスできない。 2つのコンストラクタを持つ。 引数を持たないコンストラクタは、コンストラクタを実行した際にSupperMenuクラス のフィールドmaindishとsidedishにそれぞれ”ムニエル”と”スープ”を代入する。 クラス 外からアクセスできる。  String 型の仮引数 md と sd を持つコンストラクタは、コンストラクタを実行した際に SupperMenuクラスのフィールドmaindishとsidedishにそれぞれmdとsdの文字列を 代入する。 クラス外からアクセスできる。  引数も戻り値も持たないメソッドshowMenu()を持つ。 maindishとsidedishの情報を用いて 夕食のメニューの表示を行う。 クラス外からアクセスできる。 [Supper.java]  以下の内容を記述する。 1 class Supper{ 2 public static void main( String [] args ){ 3 SupperMenu sm1 = new SupperMenu(); 4 SupperMenu sm2 = new SupperMenu("ステーキ", "サラダ"); 5 sm1.showMenu(); 6 sm2.showMenu(); 7 } 8 }

  • java ソート

    java ソート ソートプログラムを作ってみましょう ? double型の配列とメソッドを持つクラスを定義 ? コンストラクタで配列を初期化(0.0で初期化) ?配列を昇順,降順に並び替えるメソッドを持つこと ? 2種類のメソッドを持っても良い ? 引数の値で変えても良い ? ソート済み配列をチェックするメソッドを持つこと ? 1000000要素程度のソーティングで時間計測 課題です 全く手が出せず困ってます・・・。 ヒント、手順、解答 なんでも良いので、救いの手をお願いします!!

  • 基本情報処理技術者 平成24年度秋 JAVA

    javaのプログラミングは長らくやっていない状態で、問題を解き始めましたが、 プログラムが追えず困っています。 初歩的な質問になってしまいますが、下記についてどなたか教えてください。 1.プログラム3のmainメソッドにて new TimerTest().test(); とありますが、mainメソッドが所属しているクラスはTimerTestですよね? 自クラスってnewしないといけないんでしょうか。 また、newしているのに、インスタンスをTimerTest型の変数に格納しなくていいのでしょうか。 2.プログラム3のtimeメソッドにて、 longTimer = Timer.createTime("long timer",..................) とありますが、これはプログラム2のTimerクラスのメソッドを呼び出していますよね? 他クラスなのに、newしなくても使えるんでしょうか。 Timerクラスがpublicだからnewしなくていいという解釈であっていますか? それともcreateTimerメソッドがstaticだからでしょうか? Timer.createTimeのTimerは、クラス名なのか、 createTimeメソッドの形名?なんでしょうか。 初歩的なところですみません・・・ この質問を見て「このあたりが理解できていない」というような感じ方がありましたら、 そこを勉強したいのでご教示お願いします。

  • Javaの設計書について

    Javaの クラスやコンストラクタ、メソッドなどをわかりやすくできるExcelの設計書っぽいものってどこかにないでしょうか? 雛形みたいなものがみたいです。

    • ベストアンサー
    • Java
  • Javaのstaticメソッドの意味を教えて下さい

    Javaのstaticメソッドの意味を教えて下さい。 現在の解釈では、staticなメソッドとはインスタンスの生成に依存せず呼び出せる処理のことだと認識しています。逆にstaticでないメソッドは、生成後のインスタンスにしか使えない処理だと理解しています。 しかし、コンストラクタがstaticでないことに気がつき、疑問が生まれました。コンストラクタはstaticではないので、コンストラクタを呼び出す時にはそのクラスのインスタンスが必要になるはずです。しかしこのインスタンスを作るのにもコンストラクタが必要です。コンストラクタを使うためにインスタンスが必要で、インスタンスを作るためにコンストラクタが必要という無限ループになってしまいました。 そこで改めて、staticメソッドの意味を教えて頂きたいです。