Java et C# sont tous deux des langages de programmationdans deux directions différentes.
Mêmes points :
Ce sont tous deux des langages orientés objet, c'est-à-dire qu'ils peuvent tous mettre en œuvre des idées orientées objet (encapsulation, héritage, polymorphisme).
Différence :
1. L'espace de noms en c# est similaire au package en Java. Pour importer un package en Java, utilisez import et en c#, utilisez using.
2. C# et Java entrent à partir de la fonction principale, mais la première lettre de la fonction principale en c# doit être en majuscule. Il existe quatre façons de l'écrire comme suit :
static void Main(string args[]){. >
static int Main(string args[]){}
static void Main(){}
static void Main(){}
Et en Java, il n'y a qu'une seule forme : static void main(String [] args){}
3. Type de données : Java et C# sont fondamentalement les mêmes, mais la première lettre du type String en Java doit être en majuscule, tandis qu'en C# elle peut être en minuscules ou en majuscule, et il existe également un type booléen, qui est booléen en Java et bool en C#.
4. Nommage des variables : Le symbole $ peut être utilisé en Java, mais pas en C#.
5. Remarque : Java a un commentaire de documentation "///" de moins que C#.
6. Sortie : C# dispose de trois méthodes de sortie : Cosole.WriteLine(); Cosole.WriteLine (valeur à afficher) ; Cosole.WriteLine ("chaîne de format", liste de variables) ; out en Java L'utilisation de la méthode .println() est la même. La troisième méthode génère des résultats basés sur des espaces réservés, ce qui est plus pratique que Java.
7. Instruction de flux de contrôle : C# est similaire à Java, et le commutateur en C# doit avoir une pause s'il y a du contenu après le cas ; Java n'a pas besoin de pause
8. Array : La déclaration dans les deux langues utilise le mot-clé new. Vous pouvez initialiser le tableau lors de sa création, par exemple : int a[]={1,2,3,5,5} mais C# a deux initialisations de plus que Java, par exemple : int a[]=new int[3; ]{1, 2,3}; int a[]=new int[]{1,2,3};
9. Paramètres transmis dans les méthodes : les deux langages utilisent le passage par valeur et le passage par référence.
Les mots-clés transmis par les références C# sont ref et out, ref se concentre sur la modification et out se concentre sur la sortie. En Java, la valeur est transmise ;
10. Modificateurs d'accès : les modificateurs d'accès en C# correspondent essentiellement à ceux de Java, mais il existe un supplément interne. En bref, C# dispose de 5 types d'accessibilité comme suit :
public : les membres sont accessibles depuis n'importe quel code. protégé : le membre n'est accessible qu'à partir des classes dérivées.
interne : les membres ne sont accessibles qu'à partir de la même assemblée.
protected : le membre n'est accessible qu'à partir des classes dérivées au sein du même assembly.
privé : les membres ne sont accessibles que dans le cours en cours.
11. Puisque le mot-clé final n'existe pas en C#, si vous souhaitez qu'une classe ne soit plus dérivée, vous pouvez utiliser le mot-clé scellé pour la sceller.
12. Collections : les deux langages ont des collections ArrayList, et l'accès aux valeurs par clés est HashMap en Java et HashTable en C#. C# est plus simple que les collections multigénériques Java List
13. Héritage : Java utilise le mot-clé extends et C# utilise uniquement ":". Pour appeler la méthode constructeur de la classe parent, Java utilise le mot-clé super, tandis que C# utilise le mot-clé base.
14. Polymorphisme : les classes abstraites et les méthodes abstraites utilisent le mot-clé abstract dans les deux langages. Si une autre classe en Java en hérite, elle peut directement remplacer cette méthode ; tandis qu'en C#, le mot-clé override doit être ajouté pour l'implémenter. C# dispose également d'une méthode virtuelle de plus que Java pour implémenter le polymorphisme.
15. Interface : Ils sont tous définis avec le mot-clé interface, Java est implémenté avec le mot-clé Implements ; C# est implémenté avec ":". En C#, toutes les méthodes d’une interface sont des méthodes publiques par défaut. En Java, une déclaration de méthode peut avoir le modificateur public (même si cela n'est pas obligatoire), mais en C#, il est illégal de spécifier explicitement le modificateur public pour une méthode d'une interface.
16. L'opérateur is en C# est le même que l'opérateur instanceof en Java. Les deux peuvent être utilisés pour tester si une instance d'un objet appartient à un type spécifique. Il n’existe pas d’opérateur équivalent en Java à l’opérateur as en C#. L'opérateur as est très similaire à l'opérateur is, mais il est plus « agressif » : si le type est correct, l'opérateur as tente de convertir la référence de l'objet testé en type cible, sinon, il définit la référence de variable sur null ; .
17. L'énumérateur est le type enum (aucun en Java), qui est utilisé comme type de valeur de variable, limitant ainsi la plage de valeurs possible de la variable aux valeurs qui apparaissent dans l'énumérateur.
18. Struct est très similaire à une classe, et une structure est un type de valeur stocké sur la pile ou incorporé. La structure peut implémenter des interfaces et avoir des membres comme une classe, mais la structure ne prend pas en charge l'héritage.
19. C# conserve les pointeurs. Dangereux. (Il n'est pas sûr d'utiliser des pointeurs en C#, le dernier doit être vérifié)
Site Web chinois php, un grand nombre de Tutoriels d'introduction à Java gratuits, bienvenue pour apprendre en ligne !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!