Maison  >  Article  >  Java  >  La différence entre Java et C

La différence entre Java et C

(*-*)浩
(*-*)浩original
2019-11-11 10:20:398877parcourir

Java et C sont tous deux des langages impératifs (Imperative Language). La différence est que Java contient des composants orientés objet (OO), tandis que C est entièrement orienté processus. C++ et C#, prennent en charge l'objet OO.

La différence entre Java et C

Une autre différence est que Java est multiplateforme et que différents systèmes d'exploitation peuvent interpréter les programmes Java via la JVM, tandis que C, C++ et C# Il est lié à la plate-forme et certaines instructions ne peuvent être exécutées que dans certains systèmes d'exploitation. (Apprentissage recommandé : cours java )

La raison spécifique est que Java est un langage interprété, et tous les codes seront traduits en bytecode unifié et indépendant du système, puis placés dans la JVM s'exécute sur l'ordinateur ; alors que C est un langage compilé, le code doit d'abord être converti en code intermédiaire lié au système par le compilateur avant de pouvoir être exécuté.

Une autre différence est que Java ne prend pas en charge les appels système et ne peut pas interagir avec le système d'exploitation. Ceci est déterminé par ses caractéristiques multiplateformes, tandis que C peut appeler des instructions dans le système, telles que fork() . C’est pourquoi il n’y a que la notion de thread (Thread) en Java mais pas la notion de processus (Process), alors que C possède les deux.

De plus, Java ne peut pas contrôler la mémoire, tandis que C peut allouer artificiellement de la mémoire via des pointeurs.

Un autre point est que Java dispose d'un mécanisme Gabbage Collection qui peut récupérer automatiquement l'espace qui n'est plus utilisé, tandis que C utilise la fonction free() pour libérer de l'espace.

En termes de vitesse, les programmes écrits en langage C sont meilleurs que Java, car Java doit s'exécuter dans un environnement de machine virtuelle, mais grâce à la machine virtuelle, Java gagne en indépendance de plate-forme, tandis que le langage C Le le programme devra peut-être être re-modifié et compilé pour réaliser le portage sur la plate-forme.

D'un autre côté, le langage C est plus "bas niveau" que le langage Java, il est donc possible d'écrire des pilotes matériels en C, mais pas en Java. Une autre différence évidente entre Java et le langage C est que le langage C se concentre sur les algorithmes, mais Java est différent. Vous pouvez simplement importer le package lorsque vous souhaitez l'utiliser.

Les algorithmes en langage C sont très importants, mais les algorithmes en Java ne sont pas aussi complexes que le langage C. Méthode d'impression : le langage C est printf("……."); Java est System.out.print("……."), vous pouvez également utiliser println, ln signifie saut de ligne.

Les types de données de base dans les programmes Java (boolean, char, byte, short, int, long, float, double) sont des références à des objets ; le langage C possède également de nombreux types de base, ainsi que struct, union , énumération, tableaux et pointeurs.

Il n'y a pas de types d'énumération ou d'union en Java. Java utilise le jeu de caractères Unicode et le langage C utilise généralement le jeu de caractères ASCII, A-65, a-97. Les variables en langage C n'ont pas besoin d'être initialisées, mais les variables en Java doivent être initialisées.

En langage C, le type char occupe un octet, et en Java, le type char occupe 2 octets.

En général, Java est plus facile et plus rapide à apprendre que le C, mais il n'est pas aussi utile que le C pour comprendre les langages de programmation.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn