ホームページ  >  記事  >  Java  >  C#とJavaの違いは何ですか

C#とJavaの違いは何ですか

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼オリジナル
2019-11-11 13:16:443392ブラウズ

C#とJavaの違いは何ですか

Java と C# はどちらもプログラミング言語であり、2 つの異なる方向性を持つ 2 つの言語です。

同じ点:

これらはすべてオブジェクト指向言語です。つまり、すべてオブジェクト指向のアイデア (カプセル化、継承、ポリモーフィズム) を実装できます。

違い:

1. C# の名前空間は Java のパッケージに似ており、Java でパッケージをインポートするには import を使用し、C# では use を使用します。

2. C#もJavaもmain関数から入りますが、c#のmain関数の先頭文字は大文字にする必要があり、以下の4通りの書き方があります。 }

static int Main(string args[]){}

static void Main(){}

static void Main(){}

そして Java には static void main(String [] args){}

3 という形式が 1 つだけあります。データ型: Java と C# は基本的に同じですが、Java では String 型の最初の文字を大文字にする必要がありますが、C# では小文字または大文字にすることができます。また、Boolean 型もあります。Java では boolean、bool です。 C#で。

4.変数の命名: $ 記号は Java では使用できますが、C# では使用できません。 ####5.注: Java のドキュメント コメント「///」は C# より 1 つ少ないです。

6.出力: C# には 3 つの出力方法があります: Cosole.WriteLine(); Cosole.WriteLine (出力する値); Cosole.WriteLine ("書式文字列"、変数リスト); 最初の 2 つの使用法は system と同じです。 Java での出力 .println() メソッドの使用方法は同じですが、3 番目のメソッドはプレースホルダーに基づいて出力するため、Java よりも便利です。 ######7。制御フロー ステートメント: C# は Java に似ており、ケースの背後にコンテンツがある場合、C# のスイッチにはブレークが必要ですが、Java にはブレークは必要ありません。

8.配列: どちらの言語の宣言でも new キーワードが使用されます。 int a[]={1,2,3,5,5}; のように、配列の作成中に配列を初期化できますが、C# では、int a[]=new int[3 のように、Java よりも初期化が 2 つ多くあります。 ]{1, 2,3}; int a[]=new int[]{1,2,3};

9.メソッドで渡されるパラメータ: どちらの言語も値渡しと参照渡しを使用します。

C# 参照によって渡されるキーワードは ref と out で、ref は変更に焦点を当て、out は出力に焦点を当てます。 Java では、すべてのメソッドは値によって渡されます;

10。アクセス修飾子: C# のアクセス修飾子は基本的に Java のアクセス修飾子に対応しますが、追加の内部修飾子があります。つまり、C# には次の 5 種類のアクセシビリティがあります。

public: メンバーには任意のコードからアクセスできます。 protected: メンバーには派生クラスからのみアクセスできます。

internal: メンバーには同じアセンブリ内からのみアクセスできます。

protected: メンバーには、同じアセンブリ内の派生クラスからのみアクセスできます。

private: メンバーは現在のクラス内でのみアクセスできます。

11. C# には Final キーワードが存在しないため、クラスを派生させたくない場合は、sealed キーワードを使用してクラスをシールできます。

12.コレクション: どちらの言語にもコレクション ArrayList があり、キーによる値へのアクセスは Java では HashMap、C# では HashTable です。 C# は Java の複数ジェネリック コレクションである List や Dictionary よりも簡単で、開梱して梱包する必要がなく、より安全です。

13.継承: Java はキーワード extends を使用し、C# は ":" のみを使用します。親クラスのコンストラクター メソッドを呼び出すには、Java は super キーワードを使用しますが、C# は Base キーワードを使用します。

14.ポリモーフィズム: 抽象クラスと抽象メソッドはどちらの言語でも、abstract キーワードを使用します。 Java の別のクラスがこのメソッドを継承する場合は、このメソッドを直接オーバーライドできますが、C# では、キーワード override を追加して実装する必要があります。 C# には、ポリモーフィズムを実装するための仮想メソッドが Java よりも 1 つ多くあります。

15.インターフェース: これらはすべてキーワード「インターフェース」で定義され、Java はキーワード「implements」で実装され、C# は「:」で実装されます。 C# では、インターフェイス内のすべてのメソッドはデフォルトでパブリック メソッドです。 Java では、メソッド宣言に public 修飾子を含めることができます (これは必須ではありません)。しかし、C# では、インターフェイス メソッドに public 修飾子を明示的に指定することは違法です。

16. C# の is 演算子は Java の instanceof 演算子と同じで、どちらもオブジェクトのインスタンスが特定の型に属しているかどうかをテストするために使用できます。 Java には、C# の as 演算子に相当する演算子はありません。 as 演算子は is 演算子とよく似ていますが、より「積極的」です: 型が正しい場合、as 演算子はテスト対象のオブジェクト参照をターゲットの型に変換しようとします。そうでない場合は、変数参照を null に設定します。 。

17.列挙子は列挙型 (Java ではなし) であり、変数の値の型として使用されるため、変数の可能な値の範囲が列挙子に表示される値に制限されます。

18.構造体はクラスに非常に似ており、スタックに格納されるか埋め込まれた値型です。構造体はインターフェイスを実装し、クラスのようなメンバーを持つことができますが、構造体は継承をサポートしません。

19. C# はポインタを保持します。安全ではありません。 (C# はポインタを使用するのが安全ではありません。最後のポインタは検証する必要があります)

php 中国の Web サイト、多数の無料の

Java 入門チュートリアル

、オンラインで学ぶことを歓迎します。

以上がC#とJavaの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

関連記事

続きを見る