logo

C++ ve Java

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