Video: Exception Handling (Hata Yakalama) Nesne Yönelimli Programlama 18. Video 2024
Java programlamasındaki mantıksal hataların bulunması son derece zor olabilir, çünkü herhangi bir kodlama sorununun veya Java dil elemanlarının kullanımındaki bir hatayı yansıtmazlar. Kod yazılmış olduğu gibi kusursuzca çalışır - gerçekleştirmesini beklediğiniz görevi yerine getirmez.
Sonuç olarak, mantıksal hatalar en zor hatalar olabilir. Hata için kesin bir neden aramak için kodunuzu incelemek için zaman harcamanız gerekir. Java geliştiricilerinin karşılaştığı genel mantıksal hataların bir listesi:
-
Yanlış operatör önceliği: Java'nın operatörleri yorumladığı sıralama önemlidir. Geliştiriciler, doğru yerlere parantezler koymadığı için, genellikle yanlış sonuçlar üretir.
Örneğin, aşağıdaki örnek, dört değişkenden 11, 13, 9 ve 8 çıktıları üretmektedir; bunların hepsi parantezlerin konumu (veya eksikliği) nedeniyle.
public class OperatorError {public static void main (String [] args) {// Bazı değişkenler oluşturun. int MyVar1 = 5 + 4 * 3/2; int MyVar2 = (5 + 4) * 3/2; int MyVar3 = (5 + 4) * (3/2); int MyVar4 = (5 + (4 * 3)) / 2; // sonucu çıktılar. Sistem. dışarı. println ("MyVar1:" + MyVar1 + "nMyVar2:" + MyVar2 + "nMyVar3:" + MyVar3 + "nMyVar4:" + MyVar4);}}
-
Yanlış sayımı tanımlama: Muhtemelen en yaygın mantıksal hata şeyler yanlış sayılıyor. İnsanlar 1 ile saymaya başlarlar ve bilgisayarlar çoğunlukla 0 ile saymaya başlar. Dolayısıyla, görevlerin bir döngü çalışıyor olmasına veya bir öğe koleksiyonuyla çalışmasına bakılmaksızın, bir görevi yerine getirirken uygulamaların tam anlamıyla bir araya geldiğini bulmak nadiren görülür.
-
Bir koşulun geçerli olmadığı varsayıldığında: Geliştiriciler genellikle bir durumu tanımlamak için kullanılan ifadeye bakar ve mantığı doğrulamadan ifadenin doğru (veya yanlış) olduğunu varsayar İfadesini.
Gerçekten bir ifadeyi kullanmaya karar verdiğinizde bir veya ifadenin kullanılması da sorunlara neden olabilir. Karar vermek için kullanılan mantık birçok geliştiriciye, hatta tecrübeli geliştiricilere, bir sürü sorun oluşturmasına neden olur. Koşul beyanları için varsayımlarınızı her zaman doğrulayın.
-
Hassas iş için kayan nokta sayılarına güvenmek: Kayan nokta sayısının belirli bir sayı sunacağını varsayamazsınız. Bu, kayan nokta sayısının belirli bir değere eşit olup olmadığını kontrol edemediğiniz anlamına gelir; bunun yerine, kontrol gerçekleştirmek için bir dizi değer kullanmalısınız. Kayan nokta sayıları daima Java'da bir yaklaşımdır.
-
Değerleri ölçmek için tamsayı değerlerine dayanır: Tamsayılar öğeleri saymak için mükemmeldir, çünkü tam olarak bulunurlar.Bununla birlikte, pek çok tamsayı matematik işlemi kesin olmayan sonuçlara neden olur. Bu bölme için özellikle geçerlidir, çünkü kalan her zaman bırakılmıştır. (Sayı yuvarlanır.) Bir şeyi ölçmek istediğinizde kayan nokta değerlerini veya BigDecimal nesne türünü kullanın ve hassasiyet önemlidir.
-
Noktalı virgülü Misplacing: Yanlış noktada noktalı virgül olmasına rağmen derleyip mükemmel çalışan Java kodunu oluşturmak mümkündür. İşte bir örnek:
public class ForLoopError {public static void main (String [] args) {// Değişkeni bildirin. int Kont; // Döngü oluşturun. için (Count = 1; Count <= 10; count ++); {// Sonuç çıktı. Sistem. dışarı. println ("Count is" + Count);}}}
Noktalı virgül, for komutundan hemen sonra, gerektiği gibi kod bloğundan sonra göründüğüne dikkat edin. Bu örnek, Count'un bireysel değerlerini yazdırmak yerine Count'un 11 olduğunu yazan tek bir cümle yazdırır.