Quelles sont les différences entre c# et java
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

H5. La principale différence entre les mini programmes et l'application est: Architecture technique: H5 est basé sur la technologie Web, et les mini-programmes et l'application sont des applications indépendantes. Expérience et fonctions: H5 est légère et facile à utiliser, avec des fonctions limitées; Les mini-programmes sont légers et ont une bonne interactivité; Les applications sont puissantes et ont une expérience fluide. Compatibilité: H5 est compatible multiplateforme, les applets et les applications sont limités par la plate-forme. Coût de développement: H5 a un faible coût de développement, des mini-programmes moyens et une application la plus élevée. Scénarios applicables: H5 convient à l'affichage d'informations, les applets conviennent aux applications légères et les applications conviennent aux fonctions complexes.

Explication détaillée de la méthode de recherche XPATH sous les nœuds DOM en JavaScript, nous devons souvent trouver des nœuds spécifiques de l'arbre Dom basé sur les expressions XPath. Si vous avez besoin de ...

Exporter PDF protégé par mot de passe dans Photoshop: ouvrez le fichier image. Cliquez sur "Fichier" & gt; "Export" & gt; "Exporter en PDF". Définissez l'option "Sécurité" et entrez le même mot de passe deux fois. Cliquez sur "Exporter" pour générer un fichier PDF.

La nécessité d'enregistrer VUerouter dans le fichier index.js dans le dossier du routeur Lors du développement d'applications VUE, vous rencontrez souvent des problèmes de configuration de routage. Spécial...

Une discussion approfondie des différences de console. La sortie de la log dans cet article analysera les raisons pour lesquelles les résultats de sortie de la fonction Console.log dans un morceau de code sont différents. Les extraits de code impliquent une résolution des paramètres URL ...

Discussion sur les problèmes lors de l'utilisation de RXJ pour fonctionner sur des éléments dans les flux dans l'apprentissage et l'utilisation de RXJ ...

1.0.1 Préface Ce projet (y compris le code et les commentaires) a été enregistré pendant ma rouille autodidacte. Il peut y avoir des déclarations inexactes ou peu claires, veuillez vous excuser. Si vous en profitez, c'est encore mieux. 1.0.2 Pourquoi Rustrust est-il fiable et efficace? La rouille peut remplacer C et C, par des performances similaires mais une sécurité plus élevée, et ne nécessite pas de recompilation fréquente pour vérifier les erreurs comme C et C. Les principaux avantages incluent: la sécurité de la mémoire (empêcher les pointeurs nuls de déréférences, les pointeurs pendants et la contention des données). Filetage (assurez-vous que le code multithread est sûr avant l'exécution). Évitez le comportement non défini (par exemple, le tableau hors limites, les variables non initialisées ou l'accès à la mémoire libérée). Rust offre des fonctionnalités de langue moderne telles que les génériques

PHP et Python ont chacun leurs propres avantages, et le choix doit être basé sur les exigences du projet. 1.Php convient au développement Web, avec une syntaxe simple et une efficacité d'exécution élevée. 2. Python convient à la science des données et à l'apprentissage automatique, avec une syntaxe concise et des bibliothèques riches.
