Java と C はどちらも命令型言語 (命令型言語) です。違いは、Java にはオブジェクト指向 (OO) コンポーネントが含まれているのに対し、C は完全にプロセス指向であるという点です。C の高度なバージョンでは、 C および C#、OO コンポーネントをサポートします。
もう 1 つの違いは、Java はクロスプラットフォームであり、さまざまなオペレーティング システムが JVM を通じて Java プログラムを解釈できるのに対し、C、C、および C# は異なることです。これはプラットフォームに関連しており、一部の命令は特定のオペレーティング システムでのみ実行できます。 (推奨学習: java コース)
具体的な理由は、Java がインタープリタ型言語であり、すべてのコードが統一されたシステムに依存しないバイトコードに変換されてから、 JVM コンピュータ上で実行します。C はコンパイル言語ですが、コードを実行するには、まずコンパイラによってコードがシステム関連の中間コードに変換される必要があります。
もう 1 つの違いは、Java はシステム コールをサポートしておらず、オペレーティング システムと対話できないことです。これはクロスプラットフォームの特性によって決まりますが、C は fork() などのシステム内の命令を呼び出すことができます。これが、Java にはスレッド (Thread) の概念のみが存在し、プロセス (Process) の概念がないのに対し、C には両方の概念がある理由です。
さらに、Java はメモリを制御できませんが、C はポインタを通じて人為的にメモリを割り当てることができます。
もう 1 つのポイントは、Java には、使用されなくなったスペースを自動的に再利用できるガベッジ コレクション メカニズムがあるのに対し、C では free() 関数を使用してスペースを解放できることです。
速度の点では、C 言語で書かれたプログラムの方が Java より優れています。これは、Java は仮想マシン環境で実行する必要があるためですが、仮想マシンのおかげで Java はプラットフォームに依存しないのに対し、C 言語はプラットフォームの移植を実現するには、プログラムを再変更してコンパイルする必要がある場合があります。
一方、C 言語は Java 言語よりも「低レベル」であるため、たとえばハードウェア ドライバーは C で作成できますが、Java では作成できません。 Java と C 言語のもう 1 つの明らかな違いは、C 言語はアルゴリズムに重点を置いているのに対し、Java は異なり、使いたいときにパッケージをインポートするだけで済むことです。
C 言語のアルゴリズムは非常に重要ですが、Java のアルゴリズムは C 言語ほど複雑ではありません。印刷方法:C言語はprintf("…….")、JavaはSystem.out.print("…….")、printlnも使えます、lnは改行を意味します。
Java プログラムの基本データ型 (boolean、char、byte、short、int、long、float、double) はオブジェクトへの参照です。C 言語にも、 struct、union に加えて多くの基本型があります。列挙型、配列、ポインタ。
Java には列挙型や共用体型はありません。 Java は Unicode 文字セットを使用し、C 言語は通常、ASCII 文字セット、A-65、a-97 を使用します。 C言語の変数は初期化する必要はありませんが、Javaの変数は初期化する必要があります。
C 言語では char 型は 1 バイトを占め、Java では char 型は 2 バイトを占めます。
一般に、Java は C よりも始めるのが簡単で、習得も早いですが、プログラミング言語を理解する上では C ほど役に立ちません。
以上がJavaとCの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。