how convert char int java
Bu eğiticide, SSS'ler ve örneklerle birlikte Java'da char ilkel veri türü değerlerini int'e dönüştürmenin farklı yollarını öğreneceğiz:
Karakteri int'e dönüştürmek için farklı Java sınıfları tarafından sağlanan aşağıdaki yöntemlerin kullanımını ele alacağız:
- Örtülü tür çevrim (ASCII değerleri alma)
- getNumericValue ()
- parseInt () ile String.valueOf ()
- '0' çıkarılıyor
=> Java Eğitim Öğreticilerinin A-Z'sini Görmek İçin Burayı Kontrol Edin
Ne öğreneceksin:
Java'da Char'ı int'e dönüştür
Java'nın int, char, long, float vb. Gibi ilkel veri türleri vardır. Bazı senaryolarda, değişken değerlerin char veri türünde belirtildiği sayısal değerler üzerinde işlem yapmak gerekir.
Bu gibi durumlarda önce bu karakter değerlerini sayısal değerlere yani int değerlerine çevirmeli ve sonra bunlar üzerinde istenen eylemleri, hesaplamaları yapmalıyız.
Örneğin, bazı yazılım sistemlerinde karakter veri türü olarak gelen müşteri geri bildirim formunda alınan müşteri puanlarına göre belirli işlemlerin gerçekleştirilmesi veya bazı kararların alınması gerekir.
Bu gibi durumlarda, bu değerler üzerinde daha fazla sayısal işlemler gerçekleştirmek için bu değerlerin önce int veri türüne dönüştürülmesi gerekir. Java, karakteri int değerine dönüştürmek için çeşitli yöntemler sağlar. Gelin bu yöntemlere detaylı bir şekilde bakalım.
# 1) Örtülü Tip Atamasını Kullanma, yani Karakterin ASCII Değerini Alma
Java'da, uyumlu daha büyük veri türü değişkeninin bir değişkenine daha küçük bir veri türü değeri atarsanız, değer otomatik olarak yükseltilir, yani örtük olarak daha büyük veri türünün bir değişkenine typecast alır.
Örneğin, long türünde bir değişkene int türünde bir değişken atarsak, int değeri otomatik olarak uzun veri türüne typecast alır.
Örtük tür çevirimi, 'char' veri türü değişkeni için de gerçekleşir, yani aşağıdaki char değişkeni değerini değişken 'int' veri türüne atadığımızda, char değişkeni değeri derleyici tarafından otomatik olarak bir int'e dönüştürülür.
Örneğin,
karakter a = '1';
int b = a;
Burada char 'a', int veri türüne dolaylı olarak typecast alır.
'B' değerini yazdırırsak, konsolun '49' baskısını görürsünüz. Bunun nedeni, 'a' karakter değişkenini int değişken 'b' ye atadığımızda, aslında '1' olan '49' ASCII değerini almamızdır.
Aşağıdaki örnek Java programında, örtük typecast yoluyla karakterin int'e nasıl dönüştürüleceğini, yani char değişkeninin ASCII değerini elde etmeyi görelim.
package com.softwaretestinghelp; /** * This class demonstrates sample code to convert char to int Java program * using Implicit type casting i.e. ASCII values * * @author * */ public class CharIntDemo1 { public static void main(String() args) { // Assign character 'P' to char variable char1 char char1 = 'P'; // Assign character 'p' to char variable char2 char char2 = 'p'; // Assign character '2' to char variable char3 char char3 = '2'; // Assign character '@' to char variable char4 char char4 = '@'; // Assign character char1 to int variable int1 int int1 = char1; // Assign character char2 to int variable int2 int int2 = char2; // Assign character char3 to int variable int3 int int3 = char3; // Assign character char2 to int variable int4 int int4 = char4; //print ASCII int value of char System.out.println('ASCII value of '+char1+' -->'+int1); System.out.println('ASCII value of '+char2+' -->'+int2); System.out.println('ASCII value of '+char3+' -->'+int3); System.out.println('ASCII value of '+char4+' -->'+int4); } }
İşte program Çıktısı:
P'nin ASCII değeri -> 80
P -> 112'nin ASCII değeri
2 -> 50 ASCII değeri
@ -> 64 ASCII değeri
Yukarıdaki programda farklı char değişken değerlerinin ASCII değerlerini aşağıdaki gibi görebiliriz:
P'nin ASCII değeri -> 80
P -> 112'nin ASCII değeri
'P' ve 'p' değerlerindeki fark, ASCII değerlerinin büyük harfler ve küçük harfler için farklı olmasıdır.
Benzer şekilde, sayısal değerler ve özel karakter için ASCII değerlerini ve aşağıdaki gibi alırız:
2 -> 50 ASCII değeri
@ -> 64 ASCII değeri
# 2) Character.getNumericValue () Yöntemini Kullanma
Character sınıfı, getNumericValue () için statik aşırı yükleme yöntemlerine sahiptir. Bu yöntem, belirtilen bir Unicode karakteriyle temsil edilen int veri türü değerini döndürür.
Char veri türü için getNumericValue () yönteminin yöntem imzası:
public static int getNumericValue (char ch)
Bu statik yöntem, char veri türünde bir bağımsız değişken alır ve 'ch' bağımsız değişkeninin temsil ettiği veri türü int değerini döndürür.
Örneğin, ' u216C' karakteri 50 değerinde bir tamsayı döndürür.
Parametreler:
ch: Bu, int'e dönüştürülmesi gereken bir karakterdir.
İadeler:
Bu yöntem, int veri türünün negatif olmayan bir değeri olarak 'ch' sayısal değerini döndürür. 'Ch', negatif olmayan bir tam sayı olmayan bir sayısal değere sahipse, bu yöntem -2 döndürür. 'Ch' sayısal bir değere sahip değilse -1 döndürür.
Karakteri int değerine dönüştürmek için bu Character.getNumericValue () yönteminin kullanımını anlayalım.
Cinsiyetin 'karakter' veri türünde belirtildiği ve cinsiyet koduna göre faiz oranı atama gibi bazı kararların verilmesi gereken banka yazılım sistemlerinden birinin senaryosunu ele alalım.
Bunun için cinsiyet kodunun char'dan int veri türüne dönüştürülmesi gerekir. Bu dönüştürme, aşağıdaki örnek programda Character.getNumericValue () yöntemi kullanılarak yapılır.
package com.softwaretestinghelp; /** * This class demonstrates sample code to convert char to int Java program * using Character.getNumericValue() * * @author * */ public class CharIntDemo2 { public static void main(String() args) { // Assign character '1' to char variable char1 char gender = '1'; //Send gender as an argument to getNumericValue() method // to parse it to int value int genderCode = Character.getNumericValue(gender); // Expected to print int value 1 System.out.println('genderCode--->'+genderCode); double interestRate = 6.50; double specialInterestRate = 7; switch (genderCode) { case 0 ://genderCode 0 is for Gender Male System.out.println('Welcome ,our bank is offering attractive interest rate on Fixed deposits :'+ interestRate +'%'); break; case 1 ://genderCode 1 is for Gender Female System.out.println(' Welcome, our bank is offering special interest rate on Fixed deposits '+ 'for our women customers:'+specialInterestRate+'% .'+'
'+' Hurry up, this offer is valid for limited period only.'); break; default : System.out.println('Please enter valid gender code '); } } }
İşte program Çıktısı:
cinsiyetKodu—> 1
Hoş geldiniz, Bankamız kadın müşterilerimize Sabit mevduatta özel faiz oranı sunuyor:% 7.0.
Acele edin, bu teklif yalnızca sınırlı bir süre için geçerlidir.
Dolayısıyla, yukarıdaki programda, cinsiyet kodu değişkenindeki int değerini elde etmek için char değişken cinsiyet değerini int değerine dönüştürüyoruz.
daha yeni olanlar için kalite güvence mülakat soruları ve cevapları
kömür cinsiyet = '1';
int genderCode = Karakter. getNumericValue (Cinsiyet);
Yani, konsola yazdırdığımızda, System. dışarı .println ('genderCode ->' + genderCode); daha sonra konsolda int değerini aşağıdaki gibi görüyoruz:
cinsiyetKodu—> 1
Aynı değişken değeri, durum döngüsünü değiştirmek için iletilir değiştirmek (genderCode) daha fazla karar vermek için.
# 3) Integer.parseInt () ve String.ValueOf () Yöntemini Kullanma
Bu statik parseInt () yöntemi, sarmalayıcı sınıfı Integer sınıfı tarafından sağlanır.
İşte yöntem imzası Integer.parseInt () :
public static int parseInt (String str) NumberFormatException oluşturur
Bu yöntem String argümanını ayrıştırır, String'i işaretli bir ondalık tamsayı olarak görür. Dize bağımsız değişkeninin tüm karakterleri ondalık basamak olmalıdır. Bunun tek istisnası, ilk karakterin sırasıyla bir negatif değer ve pozitif bir değerin bir göstergesi için ASCII eksi işareti '-' ve artı işareti '+' olmasına izin verilmesidir.
Burada, 'str' parametresi, çözümlenecek int temsiline sahip bir String'dir ve ondalık olarak bağımsız değişken tarafından temsil edilen tamsayı değerini döndürür. Dize ayrıştırılabilir bir tamsayı içermediğinde, yöntem bir İstisna atar NumberFormatException
ParseInt için yöntem imzasında görüldüğü gibi ( Dize str), parseInt () yöntemine iletilecek argüman String veri türündedir. Bu nedenle, önce bir char değerini String'e dönüştürmek ve ardından bu String değerini parseInt () yöntemine iletmek gerekir. Bunun için String.valueOf () yöntemi kullanılır.
valueOf (), int, float gibi ilkel veri türlerinin bağımsız değişkenlerini String veri türüne dönüştürmek için kullanılan String sınıfının statik bir aşırı yükleme yöntemidir.
public static String valueOf (int i)
Bu statik yöntem, int veri türünde bir bağımsız değişken alır ve int bağımsız değişkeninin dize gösterimini döndürür.
Parametreler:
i: Bu bir tam sayıdır.
İadeler:
İnt bağımsız değişkeninin dize temsili.
Dolayısıyla, Integer.parseInt () ve String.valueOf () yönteminin bir kombinasyonunu kullanıyoruz. Aşağıdaki örnek programda bu yöntemlerin kullanımına bakalım. Bu örnek program (1) Önce karakter veri türünün müşteri derecelendirme değerini tam sayıya dönüştürür ve ardından (2) if-else ifadesini kullanarak uygun mesajı konsolda yazdırır.
package com.softwaretestinghelp; /** * This class demonstrates sample code to convert char to int Java program * using Integer.parseInt() and String.valueOf() methods * * @author * */ public class CharIntDemo3 { public static void main(String() args) { // Assign character '7' to char variable customerRatingsCode char customerRatingsCode = '7'; //Send customerRatingsCode as an argument to String.valueOf method //to parse it to String value String customerRatingsStr = String.valueOf(customerRatingsCode); System.out.println('customerRatings String value --->'+customerRatingsStr); // Expected to print String value 7 //Send customerRatingsStr as an argument to Integer.parseInt method //to parse it to int value int customerRatings = Integer.parseInt(customerRatingsStr); System.out.println('customerRatings int value --->'+customerRatings); // Expected to print int value 7 if (customerRatings>=7) { System.out.println('Congratulations! Our customer is very happy with our services.'); }else if (customerRatings>=5) { System.out.println('Good , Our customer is satisfied with our services.'); }else if(customerRatings>=0) { System.out.println('Well, you really need to work hard to make our customers happy with our services.'); }else { System.out.println('Please enter valid ratings value.'); } } }
İşte program Çıktısı:
customerRatings Dize değeri -> 7
customerRatings int değeri -> 7
Tebrikler! Müşterimiz hizmetlerimizden çok memnun.
Yukarıdaki örnek kodda, karakteri String veri türünün bir değerine dönüştürmek için String.valueOf () yöntemini kullandık.
char customerRatingsCode = '7'; String customerRatingsStr = String.valueOf(customerRatingsCode);
Artık bu String değeri, Integer.parseInt () yöntemi kullanılarak int veri türüne dönüştürülür. customerRatingsStr bir argüman olarak.
int customerRatings = Integer.parseInt(customerRatingsStr); System.out.println('customerRatings int value --->'+customerRatings); // Expected to print int value 7
Bu int değeri müşteriDeğerlendirmesi konsoldaki gerekli mesajı karşılaştırmak ve yazdırmak için if-else ifadesinde ayrıca kullanılır.
# 4) Java'da '0' ı Çıkararak Char'ı int'e dönüştürün
Örtük tipleme kullanarak karakteri int'e dönüştürdüğünü gördük. Bu, karakterin ASCII değerini döndürür. Örneğin. 'P' nin ASCII değeri 80, ASCII değeri '2' ise 50 döndürür.
Ancak, '2' nin int değerini 2 olarak almak için, '0' karakterinin ASCII değerinin karakterden çıkarılması gerekir. Örneğin. İnt 2'yi '2' karakterinden almak için,
int intValue = '2'- '0'; System.out.println('intValue?”+intValue); This will print intValue->2.
Not :Bu, yalnızca sayısal değer karakterleri için int değerleri elde etmek için kullanışlıdır, ör. 1, 2, vb. Ve 'a', 'B' vb. Metin değerlerinde kullanışlı değildir, çünkü yalnızca '0'ın ASCII değerleri arasındaki farkı döndürür 've bu karakter.
Sıfır'ın ASCII değerini, yani karakter ASCII değerinden '0' çıkarma yöntemini kullanmak için örnek programa bir göz atalım.
package com.softwaretestinghelp; /** * This class demonstrates sample code to convert char to int Java program * using ASCII values by subtracting ASCII value of '0'from ASCII value of char * * @author * */ public class CharIntDemo4 { public static void main(String() args) { // Assign character '0' to char variable char1 char char1 = '0'; // Assign character '1' to char variable char2 char char2 = '1'; // Assign character '7' to char variable char3 char char3 = '7'; // Assign character 'a' to char variable char4 char char4 = 'a'; //Get ASCII value of '0' int int0 = char1; System.out.println('ASCII value of 0 --->'+int0); int0 = char2; System.out.println('ASCII value of 1 --->'+int0); // Get int value by finding the difference of the ASCII value of char1 and ASCII value of 0. int int1 = char1 - '0'; // Get int value by finding the difference of the ASCII value of char2 and ASCII value of 0. int int2 = char2 - '0'; // Get int value by finding the difference of the ASCII value of char3 and ASCII value of 0. int int3 = char3 - '0'; // Get int value by finding the difference of the ASCII value of char4 and ASCII value of 0. int int4 = char4 - '0'; //print ASCII int value of char System.out.println('Integer value of '+char1+' -->'+int1); System.out.println('Integer value of '+char2+' -->'+int2); System.out.println('Integer value of '+char3+' -->'+int3); System.out.println('Integer value of '+char4+' -->'+int4); } }
İşte program Çıktısı:
0 -> 48 ASCII değeri
1 -> 49 ASCII değeri
0 -> 0 tamsayı değeri
1 -> 1'in tamsayı değeri
7'nin tamsayı değeri -> 7
A'nın tamsayı değeri -> 49
Yukarıdaki programda, int veri türü değerine char '0' ve '1' atarsak, örtük dönüştürme nedeniyle bu karakterlerin ASCII değerlerini alacağız. Dolayısıyla, bu değerleri aşağıdaki ifadelerde görüldüğü gibi yazdırdığımızda:
int int0 = char1; System.out.println('ASCII value of 0 --->'+int0); int0 = char2; System.out.println('ASCII value of 1 --->'+int0);
Çıkışı şu şekilde alacağız:
0 -> 48 ASCII değeri
1 -> 49 ASCII değeri
Bu nedenle, char ile aynı değeri temsil eden bir tamsayı değeri elde etmek için, '0' ın ASCII değerini sayısal değerleri temsil eden karakterlerden çıkarıyoruz.
int int2 = char2 - '0'; .
Burada, '0' ın ASCII değerlerini '1' ASCII değerinden çıkarıyoruz.
yani 49-48 = 1. Bu nedenle, konsol char2'ye yazdırdığımızda
System.out.println (““ + char2 + ”->” + int2'nin tamsayı değeri);
Çıktıyı şu şekilde alıyoruz:
1 -> 1'in tamsayı değeri
Bununla birlikte, örnek programlar yardımıyla Java karakterini bir tamsayı değerine dönüştürmenin çeşitli yollarını ele aldık. Dolayısıyla, Java'da karakteri int türüne dönüştürmek için, yukarıdaki örnek kodlarda kapsanan yöntemlerden herhangi biri Java programınızda kullanılabilir.
Şimdi, Java karakterinden int dönüşümüne ilişkin sık sorulan sorulardan bazılarına bakalım.
Java'dan Int'e Char ile İlgili SSS
S # 1) Bir karakteri int türüne nasıl dönüştürebilirim?
Cevap:
Java'da char, aşağıdaki yöntemler kullanılarak int değerine dönüştürülebilir:
- Örtülü tür çevrim (ASCII değerleri alma)
- Character.getNumericValue ()
- String.valueOf () ile Integer.parseInt ()
- '0' çıkarılıyor
S # 2) Java'da karakter nedir?
Cevap: Char veri türü, tek bir 16 bit Unicode karakterine sahip bir Java ilkel veri türüdür. Değer, tek bir tırnak '' ile çevrili tek bir karakter olarak atanır. Örneğin, char a = 'A' veya char a = '1' vb.
farklı e-posta sağlayıcıları nelerdir
S # 3) Java'da bir karakteri nasıl başlatırsınız?
Cevap: char değişkeni, tek tırnak içine alınmış tek bir karakter, yani '' atanarak başlatılır. Örneğin, karakter x = 'b', karakter x = '@', karakter x = '3' vb.
S # 4) Char A'nın int değeri nedir?
Cevap: İnt değişkenine char 'A' atanmışsa, char dolaylı olarak int'e yükseltilir ve değer yazdırılırsa, 65 olan 'A' karakterinin ASCII değerini döndürür.
Örneğin,
int x= 'A'; System.out.println(x);
Yani, bu konsola 65 yazacak.
Sonuç
Bu eğitimde, Java veri türü char değerini int'e dönüştürmenin aşağıdaki yollarını gördük.
- Örtülü tür çevrim (ASCII değerleri alma)
- Character.getNumericValue ()
- String.valueOf () ile Integer.parseInt ()
- '0' çıkarılıyor
Bu yöntemlerin her birini ayrıntılı olarak ele aldık ve örnek bir Java programı yardımıyla her yöntemin kullanımını gösterdik.
=> TÜM Java Öğreticilerini Buradan Kontrol Edin
Önerilen Kaynaklar
- Java Tamsayı ve Örneklerle Java BigInteger Sınıfı
- Yeni Başlayanlar İçin JAVA Eğitimi: 100+ Uygulamalı Java Video Eğitimi
- TreeMap In Java - Java TreeMap Örnekleriyle Öğretici
- Java Dizesini Int'e Dönüştürme - Örneklerle Eğitim
- Programlama Örnekleriyle Java Float Eğitimi
- Java Break İfadesi - Örneklerle Eğitim
- Java Enum: Örneklerle Java Numaralandırma Eğitimi
- Java String length () Yöntem Örneklerle