Java'da bir String'i Tamsayıya Dönüştürme

Java'da bir String'i Tamsayıya Dönüştürme
Java

Java'da String'den int'ye Dönüşümü Anlamak

Bir dizeyi bir tamsayıya dönüştürmek, Java programlamada yaygın bir görevdir. Çoğu zaman, çeşitli hesaplamalar ve işlemler için dize olarak temsil edilen sayısal değerleri tamsayı eşdeğerlerine dönüştürmeniz gerekir. Bu dönüşüm basittir ve Java dili tarafından sağlanan çeşitli yöntemler kullanılarak gerçekleştirilebilir.

Bu makalede, Java'da bir dizeyi tam sayıya dönüştürmek için farklı teknikleri inceleyeceğiz. Kullanıcı girişiyle, veri ayrıştırmayla veya bir dosyadaki dizeleri işlemeyle ilgileniyor olsanız da, bu dönüşümün verimli ve doğru bir şekilde nasıl gerçekleştirileceğini bilmek herhangi bir Java geliştiricisi için çok önemlidir.

Emretmek Tanım
Integer.parseInt() Bir dizeyi ilkel int'ye dönüştürür. Dize bir tamsayı olarak ayrıştırılamazsa bir NumberFormatException oluşturur.
Integer.valueOf() Bir dizeyi bir Tamsayı nesnesine dönüştürür. parseInt'e benzer, ancak ilkel int yerine bir Integer nesnesi döndürür.
Scanner Java.util paketindeki int, double vb. gibi ilkel türlerin ve dizelerin girdisini elde etmek için kullanılan bir sınıf. Giriş dizelerini ayrıştırmak için kullanılır.
nextLine() Tarayıcıyı geçerli satırın ötesine ilerleten ve atlanan girişi döndüren Tarayıcı sınıfının bir yöntemi.
try-catch İstisnaları işlemek için kullanılan bir kod bloğu. Try bloğundaki kod yürütülür ve bir istisna meydana gelirse catch bloğu yürütülür.
NumberFormatException Bir dizeyi sayısal türe dönüştürme girişimi başarısız olduğunda IllegalArgumentException'ın bir alt sınıfı oluşturulur.

String'den int'ye Dönüştürme Yöntemlerini Anlamak

Sağlanan komut dosyaları, Java'da bir dizeyi bir tamsayıya dönüştürmek için çeşitli yöntemleri gösterir. İlk yöntem şunları kullanır: Integer.parseInt() Geçerli bir tamsayı temsili içeren bir dizeyi int türüne ayrıştırmanın basit bir yolu olan komut. Bu yöntem etkilidir ve NumberFormatException dize ayrıştırılamıyorsa. İkinci komut dosyası şunu kullanır: Integer.valueOf(), buna benzer Integer.parseInt() ama bir döndürür Integer ilkel bir int yerine nesne. Bu, ilkel türler yerine nesneler gerektiren koleksiyonlarla veya diğer veri yapılarıyla çalışırken yararlı olabilir.

Üçüncü örnek şunu tanıtıyor: Scanner gelen sınıf java.util Kullanıcı girişi de dahil olmak üzere çeşitli kaynaklardan gelen girişleri okumak için kullanışlı olan paket. nextLine() Scanner sınıfının yöntemi, girdinin bir sonraki satırını bir dize olarak okur ve bu daha sonra kullanılarak int'ye dönüştürülür. Integer.parseInt(). Bu yöntem özellikle kullanıcı girişini dinamik olarak işlemeniz gerektiğinde kullanışlıdır. Dördüncü komut dosyası, bir hata yönetimi katmanı kullanarak bir hata işleme katmanı ekler. try-catch yakalamayı engelle NumberFormatException. Bu, dizenin bir tamsayı olarak ayrıştırılamaması durumunda programın hatayı çökmeden düzgün bir şekilde ele alabilmesini sağlar.

Integer.parseInt Kullanarak Java'da Bir Dizeyi Tam Sayıya Dönüştürme

Java'nın yerleşik Tamsayı sınıfını kullanma

public class StringToIntExample1 {
    public static void main(String[] args) {
        String str = "1234";
        int number = Integer.parseInt(str);
        System.out.println("Converted number: " + number);
    }
}

Java'da Integer.valueOf Kullanarak Dizeden Tamsayıya Dönüştürme

Java'nın Integer.valueOf yöntemini uygulama

public class StringToIntExample2 {
    public static void main(String[] args) {
        String str = "1234";
        int number = Integer.valueOf(str);
        System.out.println("Converted number: " + number);
    }
}

Tarayıcı Kullanarak Java'da Bir Dizeyi Tam Sayıya Dönüştürme

Dönüşüm için Java'nın Tarayıcı sınıfını kullanma

import java.util.Scanner;
public class StringToIntExample3 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter a number: ");
        String str = scanner.nextLine();
        int number = Integer.parseInt(str);
        System.out.println("Converted number: " + number);
    }
}

Java'da Bir Dizeyi Tam Sayıya Dönüştürme Hata İşleme için try-catch Kullanma

Hata işlemeyi Java'daki try-catch bloklarıyla birleştirme

public class StringToIntExample4 {
    public static void main(String[] args) {
        String str = "1234a";
        try {
            int number = Integer.parseInt(str);
            System.out.println("Converted number: " + number);
        } catch (NumberFormatException e) {
            System.out.println("Invalid number format");
        }
    }
}

Alternatif Dizgiyi Tam Sayıya Dönüştürme Yöntemlerine Keşfetmek

Daha önce tartışılan yöntemlerin yanı sıra, Java'da bir dizeyi tam sayıya dönüştürmenin başka bir yolu da Apache Commons Lang gibi üçüncü taraf kitaplıkların kullanılmasını içerir. NumberUtils Bu kütüphanedeki sınıf bir yardımcı program yöntemi sağlar, NumberUtils.toInt()dönüşüm için kullanılabilir. Bu yöntem özellikle yararlı olabilir çünkü dönüştürme başarısız olursa varsayılan değerin döndürülmesi, istisnaların önlenmesi ve kodun daha sağlam hale getirilmesi gibi ek özellikler sağlar.

Bir başka ilginç yöntem ise DecimalFormat gelen sınıf java.text paket. Esas olarak ondalık sayıları biçimlendirmek için kullanılsa da dizeleri sayılara ayrıştırabilir. Bir örneğini oluşturarak DecimalFormat ve onu kullanarak parse() Yöntemde, bir dize bir sayıya dönüştürülebilir ve daha sonra bir tam sayıya dönüştürülebilir. Bu yaklaşım daha az yaygındır ancak sayı biçimlendirmesinin de gerekli olduğu belirli senaryolarda yararlı olabilir. Bu alternatif yöntemleri anlamak, dizeden tamsayıya dönüştürme konusunda daha geniş bir bakış açısı sağlar ve uygulamanın özel gereksinimlerine göre en iyi yöntemin seçilmesine yardımcı olur.

Java'da Dizeden Tamsayıya Dönüştürmeyle İlgili Yaygın Sorular ve Cevaplar

  1. Dize sayısal olmayan karakterler içeriyorsa ne olur?
  2. Dize sayısal olmayan karakterler içeriyorsa, aşağıdaki gibi yöntemler Integer.parseInt() Ve Integer.valueOf() bir atacak NumberFormatException.
  3. Dönüşüm hatalarını nasıl zarif bir şekilde ele alabilirim?
  4. Bir kullanabilirsiniz try-catch yakalamayı engelle NumberFormatException ve hatayı incelikle ele alın.
  5. Dönüşüm başarısız olursa varsayılan bir değer sağlamanın bir yolu var mı?
  6. Evet, Apache Commons Lang'ı kullanıyorum NumberUtils.toInt() yönteminde, dönüştürme başarısız olursa döndürülecek varsayılan bir değer belirtebilirsiniz.
  7. Ondalık noktalı bir dizeyi tam sayıya dönüştürebilir miyim?
  8. Böyle bir dizenin doğrudan dönüştürülmesi bir istisna oluşturacaktır. İlk önce onu bir float veya double, ardından bir int.
  9. Arasındaki fark nedir Integer.parseInt() Ve Integer.valueOf()?
  10. Integer.parseInt() ilkel bir int döndürür, oysa Integer.valueOf() bir döndürür Integer nesne.
  11. Kullanabilirmiyim Scanner bir konsol uygulamasında dönüşüm için?
  12. Evet Scanner class, kullanıcı girişini okumak ve dizeleri tam sayılara dönüştürmek için idealdir.
  13. Bir dizeyi bir kod satırındaki tam sayıya dönüştürmenin bir yöntemi var mı?
  14. Evet, kullanabilirsin Integer.parseInt() veya Integer.valueOf() bir dizeyi bir tamsayıya dönüştürmek için tek bir satırda.

String'den int Dönüşümüne İlişkin Tartışmayı Tamamlamak

Java'da bir dizeyi tam sayıya dönüştürmek, çeşitli yöntemler kullanılarak gerçekleştirilebilecek temel bir beceridir. Doğru yöntemi anlamak ve seçmek, uygulamanızın özel ihtiyaçlarına bağlıdır. Gibi temel yöntemleri kullanıp kullanmadığınız Integer.parseInt() Ve Integer.valueOf()veya bunun gibi daha sağlam çözümler Scanner sınıf ve üçüncü taraf kitaplıkları, bu tekniklerde uzmanlaşmak, dizeden tamsayıya dönüşümleri verimli ve etkili bir şekilde gerçekleştirebilmenizi sağlar.