• ベストアンサー

C言語でいうexit();はJavaでもありますか?

プログラミングするときよくCではexit()を使用してそこまでの処理を確かめるのによく用いてきましたが、Javaではそのようなものが存在するのですか?教えてください。

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

  • ベストアンサー
  • shige_70
  • ベストアンサー率17% (168/946)
回答No.2

#1さんの意見に異を唱えます。 普通に使っていいと思います。 そもそも、exit()がだめと言われると、じゃあどうすればいいの、という話になります。 main() メソッドを抜けても他にスレッドがあればアプリケーション自体は終了しません。すべてのスレッドを終了してあげればいいのですが、AWT等を使った場合は、プログラマが意図せずとも裏にスレッドが立ちますのでそこまで管理できません。 それから、Cと違いmain()はvoid型ですから、main()を抜けても0以外の終了ステータスを返せません。 SunのページにあるAPI仕様には、非推奨のAPIにははっきりと『推奨されていません』と、理由を添えて記述されています。 exit()の説明にはその記述がありません。 また、exit()呼び出しによる終了処理時にやりたい処理を登録しておける『シャットダウンフック』というのがありますから、勝手に終了されて困るということがないようにできます。 勝手にexit()されては困るときには、セキュリティマネージャというのを使えば、exit()を禁止することもできます。 参考URLに、System.exit() からよばれる Runtime.exit() の仕様を挙げておきます。 ところで、Cでデバッグのためにexit()を使っているのですか。 私ならそういうときはprintf()をあちこちに埋め込んで確認しますね。もしくは素直にデバッガを使います。 Javaだったらexit()ではなく例外をthrowしたほうがデバッグしやすいと思います。

参考URL:
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/lang/Runtime.html#exit(int)
全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

あるにはあるが・・・・。 System.exit() これを使うべきでない理由を解説したサイトがあるのでぜひ一度目を通しておいていただきたい。 君はexitをデバッグ目的で利用しているようなので、大丈夫だと思うが一応。

参考URL:
http://www.dmz.hitachi-sk.co.jp/Java/Tech/jre/jre.html#exit
yukikundesuyo
質問者

お礼

教えていただきありがとうございます。 今後活用していきたいと思います。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • javaとC言語について

    ふと疑問に思ったのですが、プログラミング言語にjavaとC言語と言うものがありますが、これから先(将来)、どちらの方が役に立つ(主流になる)と思いますか。 よろしくお願いします。

  • C言語でのプログラミングについて

    C言語でのプログラミングについて これまでJavaでよくプログラミングをしてきたのですが、最近Cもよく使っています。 しかしJavaに慣れすぎたのか、Cで大きなプログラムを作ろうとすると、どうすればいいのかよく分かりません。 HeaderファイルはJavaでいうと継承みたいなもので、複数のファイルに同じ機能を持たすときに使うのでしょうか? Javaではクラスがありそれぞれに役割がありますが、Cの場合はファイルごとに大まかな役割を分けるのでしょうか? (例えばユーザーからインプットを取ってくるファイルをgetInput.cで、それを処理するファイルをvefiryInput.cというようにするのでしょうか?) C言語でのプログラミングの仕方を教えてください。

  • JAVA と C について

    これから JAVA の勉強を始めようかと 考えています. C は昔からやっています. JAVA と C を比べたときの 長所,短所を教えてもらえませんか? プログラミングの使用は グラフィカルなシミュレーションを 行いたいと考えています. ちなみに C では OpenGL を使っています. JAVA も OpenGL が使えるんですよね? OS は Windows も Linux も使います.

  • C言語でmain関数でのreturnとexit

    C言語でmain関数でのreturnとexitは同等とされてますが、 それは『プログラムを呼び出した元の動作』も同じですか? 例えばshellやOSから見て、割り当てメモリ開放などの点で returnで終了したプログラムの後処理と exitで終了したプログラムの後処理は 全く同じになりますか?

  • 動的メモリとexit(C言語)

    fpA=fopen("name1", "r"); fpB=fopen("name2", "r"); fpC=fopen("name3", "r"); if(fpA==NULL || fpB==NULL || fpC==NULL){ exit(1); } fpAとfpBのファイルオープンに成功してfpCで失敗した場合、exit(1)によってfpAとfpBはクローズされますよね? じゃあ、 a=malloc(size); b=malloc(size); c=malloc(size); if(a==NULL || b==NULL || c==NULL){ exit(1); } aとbのメモリ確保に成功してcで失敗した場合、aとbのメモリはどうなっちゃうんでしょう?exitは動的メモリも解放してくれるのですか? とりあえず以下のようにしてますが…。 a=malloc(size); b=malloc(size); c=malloc(size); if(a==NULL || b==NULL || c==NULL){ free(a); free(b); free(c); exit(1); }

  • JavaとCのどっちがいい???

    こんにちは。 プログラミングを始めようと思うのですが、 言語はどれがいいのかよく分からないし、プログラミングという言葉も抽象的でいまいちパッとしません。 今人気なのはJavaとCと聞きました。 独学でもできますか? 将来、パソコンをさわる仕事につきたいのですが、プログラミングの他に何かありますか。 お願いします。

    • ベストアンサー
    • Java
  • C言語のポインタについて

    情報処理技術者試験を受ける場合、 C言語、COBOL、Javaのどれが一番習得しやすいでしょうか。 だいぶ前にC言語でプログラミングしたことがあったので 問題を解いていたのですが、 全然理解が出来ず辟易してしまいました。 情報処理技術者試験を受けた方、アドバイスお願いします。

  • JavaとCはどちらが速い?

    質問タイトルどおりですが、JavaとC言語ではどちらが 速いでしょうか? プログラムを作成しようと考えているのですが、 解析のスピードを重視するプログラムを作成するので JavaとCでどちらのほうが速いかによって、どちらの 言語でプログラミングしようか迷っています。

  • JAVAはどんなプログラミング言語を用いて開発されたんですか?

    JAVAに関して質問があります。 (1)JAVAはどんなプログラミング言語を用いて開発されたんですか? (例えばC言語で作成されたとか) (2)JAVAで作られたプログラミング言語とかはありますか? (例を挙げるとRubyやHSPはC言語で書かれているとか、なでしこはDelphiで書かれているとかです。)

  • Javaを使用したファイル操作について

    Javaを使用したプログラミングと聞くと、Webアプリケーションの開発というイメージがあるのですが、VBNやbat処理等でできるファイル操作などはできるのでしょうか? また、Javaに限らず、c言語等のプログラミング言語でも可能なのでしょうか? よろしくお願いします。

    • ベストアンサー
    • Java