Heim Java JavaBase Was ist der Unterschied zwischen Java und C++?

Was ist der Unterschied zwischen Java und C++?

Mar 24, 2021 pm 03:25 PM
c++ java

Unterschied: Java kann einen nicht-booleschen Wert nicht als booleschen Wert in einem logischen Ausdruck verwenden, C++ jedoch schon. C++ führt einen Mechanismus zum Überladen von Operatoren ein, den Java nicht unterstützt. C++ hat goto, Java nicht. In C++ gibt es Mehrfachvererbung und in Java nur Einzelvererbung, aber Java kann Mehrfachvererbung über Schnittstellen implementieren.

Was ist der Unterschied zwischen Java und C++?

Die Betriebsumgebung dieses Tutorials: Windows7-System, C++17- und Java8-Version, Dell G3-Computer.

Der Unterschied zwischen C++ und Java:

Obwohl Java auf C++ basiert, ist Java im Vergleich dazu eine reinere objektorientierte Programmiersprache. In Java wird alles als Objekt behandelt.

1. Nachdem C++ ein Objekt erstellt hat, müssen Sie die Löschmethode aufrufen, um es nach der Verwendung zu zerstören. Java verfügt über einen Garbage-Collection-Mechanismus, der alle neuen Objekte überwacht, Objekte identifiziert, auf die nicht mehr verwiesen wird, und dann den Speicherplatz freigibt . .

2. Geltungsbereich (der Geltungsbereich von C, C++ und Java wird durch die Position der geschweiften Klammern bestimmt):
Der folgende Code ist jedoch in C und C++ zulässig, und in Java meldet der Compiler, dass die Variable zulässig ist definiert. Weil C und C++ Variablen mit größeren Bereichen ausblenden, Java dies jedoch nicht zulässt.

{
    int x = 12;
    {
        int x = 96;
    }
}
Nach dem Login kopieren

3. Standardwerte von Basismitgliedern

Wenn Variablen als Mitglieder einer Klasse verwendet werden, gibt Java nur Standardwerte an, um sicherzustellen, dass diese Mitgliedsvariablen von Basistypen initialisiert werden, C++ verfügt jedoch nicht über diese Funktion. Bei lokalen Variablen gibt der C++-Compiler eine Warnung aus und Java behandelt dies als Fehler.

4. Java kann keinen nicht-booleschen Wert als booleschen Wert in einem logischen Ausdruck verwenden, C++ jedoch.

Wenn in C++ der Wert eines Ausdrucks 0 ist, ist er falsch, und wenn er nicht 0 ist, ist er wahr.

Zum Beispiel:

if(1){
}
Nach dem Login kopieren

5. Verschiebungsoperator

Es gibt einen neuen „vorzeichenlosen“ Rechtsverschiebungsoperator (>>>), der „Null-Erweiterung“ verwendet, unabhängig davon, ob positiv oder negativ, alle Einfügungen 0 in den High-Bits. Dies ist in C und C++ nicht verfügbar.

6. C++ führt den Mechanismus zum Überladen von Operatoren ein, der von Java nicht unterstützt wird, aber Sie können Ihre eigenen überladenen Operatoren in C# implementieren.

7. Mit Java können wir jeden Basisdatentyp in andere Basisdatentypen konvertieren, mit Ausnahme boolescher Typen. [Empfohlene verwandte Video-Tutorials: Java-Video-Tutorials]

8 Java verfügt nicht über Sizeof(). In CC++ kann uns der Operator sizeof() die Anzahl der für ein Datenelement zugewiesenen Bytes mitteilen, da unterschiedliche Datentypen in C++ auf verschiedenen Computern unterschiedliche Größen haben können. Aber alle Datentypen in Java sind auf allen Maschinen gleich groß. (Zum Beispiel ist int in C++ 16 Bit auf 16-Bit-Maschinen, 32 Bit auf 32 und höher, long ist 32 Bit auf 32 Bit und darunter und 64 Bit auf 64 Bit.)

9. C++ hat goto, Java kein goto .

Java bietet einen ähnlichen Sprungmechanismus: Tags. Verwendungsbezeichnung: In

label1:
outer-iteration{
        inner-iteration{
    break;(1)
    continue;(2)
    continue label1;(3)
break label1;(4)

}
}
Nach dem Login kopieren
  • (1) unterbricht break die interne Iteration und kehrt zur externen Iteration zurück

  • (2), continue verschiebt den Ausführungspunkt zurück zum Anfang der internen Iteration.

  • (3), setze Label1 gleichzeitig mit der internen und externen Iteration fort, gehe direkt zu Label1 und setze dann die Iteration fort, beginnend mit der externen Iteration.

  • (4) break label1 unterbricht ebenfalls alle Iterationen und kehrt zu label1 zurück, tritt jedoch nicht erneut in die Iteration ein. Das heißt, beide Iterationen vollständig zu beenden.

10. Der Destruktor in C++ bietet die Möglichkeit, die vom Objekt belegten Ressourcen freizugeben, bevor es gelöscht wird, Java bietet jedoch keinen „Destruktor“ oder ein ähnliches Konzept. [Empfohlene verwandte Video-Tutorials: C++-Video-Tutorial]

In C++ werden Objekte definitiv zerstört (wenn das Programm keine Fehler aufweist);

In Java werden Objekte nicht immer durch Müll gesammelt. (Garbage Collection ist nicht gleichbedeutend mit „Zerstörung“)

11. Namensmaskierung

Wenn die Java-Basisklasse einen Methodennamen hat, der mehrfach überladen wurde, wird durch die Neudefinition des Methodennamens in der exportierten Klasse keine Version davon maskiert in der Basisklasse. Wenn C++ eine neue überladene Methode in einer Unterklasse einführen möchte, muss es die Basisklassenmethode abschirmen.

12. In C++ gibt es Mehrfachvererbung, in Java jedoch nur Einzelvererbung. Java kann Mehrfachvererbung über Schnittstellen implementieren.

13. Java ist halbinterpretiert und halbkompiliert und läuft langsamer als C++.

14. Java verfügt nicht über Struct oder Union

15 Die Verwendung grundlegender Datentypen ist in Java nicht möglich.

16. Array

  • Wenn in C++ ein Array definiert ist, wurde Speicherplatz zugewiesen und kann verwendet werden. (Geben Sie beim Definieren die Array-Größe an)

  • In Java definiert int arr[] beim Definieren des Arrays nur die Array-Variable wörtlich und das Array kann nicht verwendet werden. Erst nachdem das Array neu ist, wird das Array erstellt, Speicherplatz zugewiesen und steht zur Verwendung zur Verfügung. (Es ist illegal, die Array-Größe beim Definieren anzugeben und die Array-Größe beim Erstellen anzugeben.)

17 C++ verfügt über Zeiger, Java jedoch nicht.

18. Im Anhang finden Sie einen Vergleich der Hauptlängen von C++ in 32-Bit- und 64-Bit-Systemen:

Was ist der Unterschied zwischen Java und C++?

Weitere Programmierkenntnisse finden Sie unter: Programmiervideo! !

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen Java und C++?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Brechen oder aus Java 8 Stream foreach zurückkehren? Brechen oder aus Java 8 Stream foreach zurückkehren? Feb 07, 2025 pm 12:09 PM

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist

Was ist die Rolle von CHAR in C -Saiten? Was ist die Rolle von CHAR in C -Saiten? Apr 03, 2025 pm 03:15 PM

In C wird der Zeichenentyp in Saiten verwendet: 1. Speichern Sie ein einzelnes Zeichen; 2. Verwenden Sie ein Array, um eine Zeichenfolge darzustellen und mit einem Null -Terminator zu enden. 3. Durch eine Saitenbetriebsfunktion arbeiten; 4. Lesen oder geben Sie eine Zeichenfolge von der Tastatur aus.

Warum tritt bei der Installation einer Erweiterung mit PECL in einer Docker -Umgebung ein Fehler auf? Wie löst ich es? Warum tritt bei der Installation einer Erweiterung mit PECL in einer Docker -Umgebung ein Fehler auf? Wie löst ich es? Apr 01, 2025 pm 03:06 PM

Ursachen und Lösungen für Fehler Bei der Verwendung von PECL zur Installation von Erweiterungen in der Docker -Umgebung, wenn die Docker -Umgebung verwendet wird, begegnen wir häufig auf einige Kopfschmerzen ...

Berechnung des C-Subscript 3-Index 5 C-Subscript 3-Index 5-Algorithmus-Tutorial Berechnung des C-Subscript 3-Index 5 C-Subscript 3-Index 5-Algorithmus-Tutorial Apr 03, 2025 pm 10:33 PM

Die Berechnung von C35 ist im Wesentlichen kombinatorische Mathematik, die die Anzahl der aus 3 von 5 Elementen ausgewählten Kombinationen darstellt. Die Berechnungsformel lautet C53 = 5! / (3! * 2!), Was direkt durch Schleifen berechnet werden kann, um die Effizienz zu verbessern und Überlauf zu vermeiden. Darüber hinaus ist das Verständnis der Art von Kombinationen und Beherrschen effizienter Berechnungsmethoden von entscheidender Bedeutung, um viele Probleme in den Bereichen Wahrscheinlichkeitsstatistik, Kryptographie, Algorithmus -Design usw. zu lösen.

Java -Programm, um das Kapselvolumen zu finden Java -Programm, um das Kapselvolumen zu finden Feb 07, 2025 am 11:37 AM

Kapseln sind dreidimensionale geometrische Figuren, die aus einem Zylinder und einer Hemisphäre an beiden Enden bestehen. Das Volumen der Kapsel kann berechnet werden, indem das Volumen des Zylinders und das Volumen der Hemisphäre an beiden Enden hinzugefügt werden. In diesem Tutorial wird erörtert, wie das Volumen einer bestimmten Kapsel in Java mit verschiedenen Methoden berechnet wird. Kapselvolumenformel Die Formel für das Kapselvolumen lautet wie folgt: Kapselvolumen = zylindrisches Volumenvolumen Zwei Hemisphäre Volumen In, R: Der Radius der Hemisphäre. H: Die Höhe des Zylinders (ohne die Hemisphäre). Beispiel 1 eingeben Radius = 5 Einheiten Höhe = 10 Einheiten Ausgabe Volumen = 1570,8 Kubikeinheiten erklären Berechnen Sie das Volumen mithilfe der Formel: Volumen = π × R2 × H (4

Vier Möglichkeiten zur Implementierung von Multithreading in C -Sprache Vier Möglichkeiten zur Implementierung von Multithreading in C -Sprache Apr 03, 2025 pm 03:00 PM

Multithreading in der Sprache kann die Programmeffizienz erheblich verbessern. Es gibt vier Hauptmethoden, um Multithreading in C -Sprache zu implementieren: Erstellen Sie unabhängige Prozesse: Erstellen Sie mehrere unabhängig laufende Prozesse. Jeder Prozess hat seinen eigenen Speicherplatz. Pseudo-MultitHhreading: Erstellen Sie mehrere Ausführungsströme in einem Prozess, der denselben Speicherplatz freigibt und abwechselnd ausführt. Multi-Thread-Bibliothek: Verwenden Sie Multi-Thread-Bibliotheken wie PThreads, um Threads zu erstellen und zu verwalten, wodurch reichhaltige Funktionen der Thread-Betriebsfunktionen bereitgestellt werden. Coroutine: Eine leichte Multi-Thread-Implementierung, die Aufgaben in kleine Unteraufgaben unterteilt und sie wiederum ausführt.

Wie führe ich Ihre erste Spring -Boot -Anwendung in der Spring Tool Suite aus? Wie führe ich Ihre erste Spring -Boot -Anwendung in der Spring Tool Suite aus? Feb 07, 2025 pm 12:11 PM

Spring Boot vereinfacht die Schaffung robuster, skalierbarer und produktionsbereiteter Java-Anwendungen, wodurch die Java-Entwicklung revolutioniert wird. Der Ansatz "Übereinkommen über Konfiguration", der dem Feder -Ökosystem inhärent ist, minimiert das manuelle Setup, Allo

Unterschiedliche Funktionsnutzungsabstand Funktion C -Verwendung Tutorial Unterschiedliche Funktionsnutzungsabstand Funktion C -Verwendung Tutorial Apr 03, 2025 pm 10:27 PM

STD :: Einzigartige Entfernung benachbarte doppelte Elemente im Container und bewegt sie bis zum Ende, wodurch ein Iterator auf das erste doppelte Element zeigt. STD :: Distanz berechnet den Abstand zwischen zwei Iteratoren, dh die Anzahl der Elemente, auf die sie hinweisen. Diese beiden Funktionen sind nützlich, um den Code zu optimieren und die Effizienz zu verbessern, aber es gibt auch einige Fallstricke, auf die geachtet werden muss, wie z. STD :: Distanz ist im Umgang mit nicht randomischen Zugriffs-Iteratoren weniger effizient. Indem Sie diese Funktionen und Best Practices beherrschen, können Sie die Leistung dieser beiden Funktionen voll ausnutzen.

See all articles