arasında pek çok farklılık ve benzerlik bulunmaktadır. C++ programlama dil ve Java . C++ ve Java arasındaki en önemli farkların listesi aşağıda verilmiştir:
Karşılaştırma Endeksi | C++ | Java |
---|---|---|
Platform bağımsız | C++ platforma bağlıdır. | Java platformdan bağımsızdır. |
Esas olarak şunun için kullanılır: | C++ esas olarak sistem programlama için kullanılır. | Java esas olarak uygulama programlama için kullanılır. Windows tabanlı, web tabanlı, kurumsal ve mobil uygulamalarda yaygın olarak kullanılmaktadır. |
Tasarım Hedefi | C++ sistem ve uygulama programlaması için tasarlanmıştır. Bu onun bir uzantısıydı C programlama dili . | Java, yazdırma sistemleri için bir yorumlayıcı olarak tasarlanmış ve oluşturulmuştur, ancak daha sonra ağ bilişimini desteklemek üzere genişletilmiştir. Kullanımı kolay ve daha geniş bir kitlenin erişebileceği şekilde tasarlandı. |
Git | C++ goto ifadesini destekler. | Java, goto ifadesini desteklemiyor. |
Çoklu kalıtım | C++ çoklu kalıtımı destekler. | Java, sınıf yoluyla çoklu kalıtımı desteklemez. Kullanılarak elde edilebilir Java'daki arayüzler . |
Operatör Aşırı Yüklemesi | C++ destekler operatörün aşırı yüklenmesi . | Java, operatörün aşırı yüklenmesini desteklemez. |
İşaretçiler | C++ işaretçileri destekler. C++'da bir işaretçi programı yazabilirsiniz. | Java işaretçiyi dahili olarak destekler. Ancak işaretçi programını Java'da yazamazsınız. Bu, Java'nın Java'da işaretçi desteğini kısıtladığı anlamına gelir. |
Derleyici ve Yorumlayıcı | C++ yalnızca derleyiciyi kullanır. C++, kaynak kodunu makine koduna dönüştüren derleyici kullanılarak derlenir ve çalıştırılır, böylece C++ platforma bağlıdır. | Java hem derleyiciyi hem de yorumlayıcıyı kullanır. Java kaynak kodu derleme zamanında bayt koduna dönüştürülür. Yorumlayıcı bu bayt kodunu çalışma zamanında çalıştırır ve çıktı üretir. Java yorumlandığı için platformdan bağımsızdır. |
Değere Göre Arama ve Referansa Göre Arama | C++ hem değere göre çağrıyı hem de referansa göre çağrıyı destekler. | Java yalnızca değere göre çağrıyı destekler. Java'da referansa göre çağrı yoktur. |
Yapı ve Birlik | C++ yapıları ve birleşimleri destekler. | Java yapıları ve birlikleri desteklemez. |
Konu Desteği | C++ iş parçacığı için yerleşik desteğe sahip değildir. İş parçacığı desteği için üçüncü taraf kitaplıklara dayanır. | Java yerleşiktir iplik Destek. |
Dokümantasyon yorumu | C++ belge yorumlarını desteklemez. | Java, Java kaynak koduna yönelik belgeler oluşturmak için belge yorumunu (/** ... */) destekler. |
Sanal Anahtar Kelime | C++, bir işlevi geçersiz kılıp kılmayacağımıza karar verebilmemiz için sanal anahtar sözcüğü destekler. | Java'nın sanal anahtar sözcüğü yoktur. Statik olmayan tüm yöntemleri varsayılan olarak geçersiz kılabiliriz. Başka bir deyişle, statik olmayan yöntemler varsayılan olarak sanaldır. |
işaretsiz sağa kaydırma >>> | C++ >>> operatörünü desteklemez. | Java, negatif sayılar için üstteki sıfırı dolduran işaretsiz sağa kaydırma >>> operatörünü destekler. Pozitif sayılar için >> operatörüyle aynı şekilde çalışır. |
Miras Ağacı | C++ her zaman yeni bir miras ağacı oluşturur. | Java her zaman tek bir miras ağacı kullanır çünkü tüm sınıflar Java'daki Object sınıfının çocuğudur. Object sınıfı köküdür. miras Java'daki ağaç. |
Donanım | C++ donanıma daha yakındır. | Java donanımla o kadar etkileşimli değildir. |
Nesne odaklı | C++ nesne yönelimli bir dildir. Ancak C dilinde tek bir kök hiyerarşisi mümkün değildir. | Java aynı zamanda bir nesne odaklı dil. Ancak Java'da her şey (temel türler hariç) bir nesnedir. Her şey Java.lang.Object'ten türetildiği için tek bir kök hiyerarşisidir. |
Not
- Java, C++ gibi varsayılan bağımsız değişkenleri desteklemez.
- Java, C++ gibi başlık dosyalarını desteklemez. Java, farklı sınıfları ve yöntemleri dahil etmek için import anahtar sözcüğünü kullanır.
C++ Program Örneği
Dosya: main.cpp
#include using namespace std; int main() { cout << 'Hello C++ Programming'; return 0; }
Çıktı:
Hello C++ Programming
Java Programı Örneği
Dosya: Simple.java
class Simple{ public static void main(String args[]){ System.out.println('Hello Java'); } }
Çıktı:
Hello Java