how convert char int java
W tym samouczku nauczymy się różnych sposobów konwersji wartości pierwotnego typu danych char na int w Javie wraz z często zadawanymi pytaniami i przykładami:
Omówimy użycie następujących metod dostarczanych przez różne klasy Java do konwersji znaków na int:
- Niejawne rzutowanie typów (pobieranie wartości ASCII)
- getNumericValue ()
- parseInt () z String.valueOf ()
- Odejmowanie „0”
=> Zajrzyj tutaj, aby zobaczyć samouczki szkoleniowe od A do Z języka Java
Czego się nauczysz:
- Konwertuj znak na int w Javie
- # 1) Korzystanie z niejawnego rzutowania typów, tj. Uzyskiwanie wartości ASCII znaku
- # 2) Korzystanie z metody Character.getNumericValue ()
- # 3) Za pomocą metody Integer.parseInt () i String.ValueOf ()
- # 4) Konwertuj znak na int w Javie, odejmując „0”
- Często zadawane pytania dotyczące Char To Int Java
- Wniosek
Konwertuj znak na int w Javie
Java ma prymitywne typy danych, takie jak int, char, long, float itp. W niektórych scenariuszach wymagane jest wykonywanie operacji na wartościach liczbowych, w których wartości zmiennych są określone w typie danych char.
W takich przypadkach musimy najpierw przekonwertować te wartości znaków na wartości liczbowe, czyli wartości int, a następnie wykonać na nich żądane czynności, obliczenia.
Na przykład, w niektórych systemach oprogramowania należy wykonać pewne operacje lub podjąć pewne decyzje na podstawie ocen klientów otrzymanych w formularzu opinii klienta, który jest typem danych znakowych.
W takich przypadkach wartości te należy najpierw przekonwertować na typ danych int, aby móc dalej wykonywać operacje numeryczne na tych wartościach. Java udostępnia różne metody konwersji znaku na wartość int. Przyjrzyjmy się szczegółowo tym metodom.
# 1) Korzystanie z niejawnego rzutowania typów, tj. Uzyskiwanie wartości ASCII znaku
W Javie, jeśli przypiszesz mniejszą wartość typu danych do zmiennej zgodnej ze zmienną o większym typie danych, wartość zostanie automatycznie podwyższona, tj. Niejawnie zostanie przeniesiona do zmiennej o większym typie danych.
Na przykład, jeśli przypiszemy zmienną typu int do zmiennej typu long, to wartość int automatycznie otrzyma typecast do typu danych long.
Rzutowanie typu niejawnego ma miejsce również dla zmiennej typu danych „char”, tj. Kiedy przypisujemy następującą wartość zmiennej char do zmiennej „int”, wówczas wartość zmiennej char jest automatycznie konwertowana na wartość int przez kompilator.
Na przykład,
char a = „1”;
int b = a;
Tutaj znak „a” zostaje niejawnie rzutowany na typ danych int.
fazy cyklu życia rozwoju systemu wraz z przykładami
Jeśli wypisujemy wartość „b”, zobaczysz, że konsola wyświetla „49”. Dzieje się tak, ponieważ przypisując wartość zmiennej char „a” do zmiennej int „b”, w rzeczywistości pobieramy wartość ASCII „1”, która wynosi „49”.
W poniższym przykładowym programie Java zobaczmy, jak przekonwertować znak na wartość int za pomocą niejawnego typowania, tj. Uzyskania wartości ASCII zmiennej char.
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); } }
Oto wynik programu:
Wartość ASCII P -> 80
Wartość p w ASCII -> 112
Wartość ASCII 2 -> 50
Wartość ASCII @ -> 64
W powyższym programie możemy zobaczyć wartości ASCII różnych wartości zmiennych char w następujący sposób:
Wartość ASCII P -> 80
Wartość p w ASCII -> 112
Różnica w wartościach „P” i „p” wynika z tego, że wartości ASCII są różne dla dużych i małych liter.
Podobnie otrzymujemy wartości ASCII dla wartości liczbowych i znaków specjalnych, a także następujące:
Wartość ASCII 2 -> 50
Wartość ASCII @ -> 64
# 2) Korzystanie z metody Character.getNumericValue ()
Klasa Character zawiera statyczne metody przeciążania metody getNumericValue (). Ta metoda zwraca wartość typu danych int reprezentowaną przez określony znak Unicode.
Oto sygnatura metody getNumericValue () dla typu danych char:
public static int getNumericValue (char ch)
Ta statyczna metoda otrzymuje argument typu danych char i zwraca wartość typu danych int reprezentowaną przez argument „ch”.
Na przykład, znak „ u216C” zwraca liczbę całkowitą o wartości 50.
Parametry:
ch: To jest znak, który należy przekonwertować na int.
Zwroty:
Ta metoda zwraca wartość liczbową „ch” jako nieujemną wartość typu danych int. Ta metoda zwraca -2, jeśli „ch” ma wartość liczbową, która nie jest nieujemną liczbą całkowitą. Zwraca wartość -1, jeśli „ch” nie ma wartości liczbowej.
Rozumiemy użycie tej metody Character.getNumericValue () do konwersji znaku na wartość typu int.
Rozważmy scenariusz, w którym jeden z systemów oprogramowania banku, w którym płeć jest określona w typie danych „char” i na podstawie kodu płci trzeba podjąć jakąś decyzję, taką jak przypisanie stopy procentowej.
W tym celu należy przekonwertować kod płci z typu char na typ danych int. Ta konwersja jest wykonywana przy użyciu metody Character.getNumericValue () w przykładowym programie poniżej.
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 '); } } }
Oto wynik programu:
genderCode—> 1
Witamy, nasz bank oferuje specjalne oprocentowanie depozytów stałych dla naszych klientek: 7,0%.
Pośpiesz się, ta oferta jest ważna tylko przez ograniczony czas.
Tak więc w powyższym programie konwertujemy wartość zmiennej char zmiennej gender na wartość int, aby uzyskać wartość int w zmiennej genderCode.
zwęglać gender = „1”;
int genderCode = Character. getNumericValue (płeć);
Kiedy więc drukujemy na konsoli, System. na zewnątrz .println („kod płci ->” + kod płci); wtedy widzimy wartość int na konsoli, jak poniżej:
genderCode—> 1
Ta sama wartość zmiennej jest przekazywana do przełączania pętli wielkości liter przełącznik (genderCode) do dalszego podejmowania decyzji.
# 3) Za pomocą metody Integer.parseInt () i String.ValueOf ()
Ta statyczna metoda parseInt () jest udostępniana przez klasę opakowania Integer.
Oto sygnatura metody Integer.parseInt () :
public static int parseInt (String str) zgłasza wyjątek NumberFormatException
Ta metoda analizuje argument String, traktuje String jako liczbę całkowitą dziesiętną ze znakiem. Wszystkie znaki argumentu String muszą być cyframi dziesiętnymi. Jedynym wyjątkiem jest to, że pierwszy znak może być znakiem minus „-” w kodzie ASCII i znakiem plus „+” dla wskazania odpowiednio wartości ujemnej i dodatniej.
Tutaj parametr „str” jest ciągiem mającym reprezentację int do przeanalizowania i zwraca wartość całkowitą reprezentowaną przez argument w postaci dziesiętnej. Gdy String nie zawiera liczby całkowitej możliwej do przeanalizowania, metoda zgłasza wyjątek NumberFormatException
Jak widać w sygnaturze metody dla parseInt ( Strunowy str), argument do przekazania do metody parseInt () ma typ danych String. Dlatego wymagane jest najpierw przekonwertowanie wartości char na String, a następnie przekazanie tej wartości String do metody parseInt (). W tym celu używana jest metoda String.valueOf ().
dodać element do tablicy
valueOf () to statyczna metoda przeciążania klasy String, która służy do konwersji argumentów pierwotnych typów danych, takich jak int, float, na typ danych String.
public static String valueOf (int i)
Ta metoda statyczna otrzymuje argument typu danych int i zwraca reprezentację ciągu int argumentu.
Parametry:
i: To jest liczba całkowita.
Zwroty:
Ciąg reprezentujący argument int.
Tak więc używamy kombinacji metody Integer.parseInt () i String.valueOf (). Zobaczmy użycie tych metod w poniższym przykładowym programie. Ten przykładowy program (1) Najpierw konwertuje wartość oceny klienta typu danych znakowych na liczbę całkowitą, a (2) następnie wyświetla odpowiedni komunikat na konsoli za pomocą instrukcji if-else.
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.'); } } }
Oto wynik programu:
customerRatings Wartość ciągu -> 7
customerRatings wartość int -> 7
Gratulacje! Nasz klient jest bardzo zadowolony z naszych usług.
W powyższym przykładowym kodzie użyliśmy metody String.valueOf () do konwersji znaku na wartość typu danych String.
char customerRatingsCode = '7'; String customerRatingsStr = String.valueOf(customerRatingsCode);
Teraz ta wartość String jest konwertowana na typ danych int przy użyciu metody Integer.parseInt () przez przekazanie customerRatingsStr jako argument.
int customerRatings = Integer.parseInt(customerRatingsStr); System.out.println('customerRatings int value --->'+customerRatings); // Expected to print int value 7
Ta wartość int Ocena klienta jest dalej używany w instrukcji if-else do porównywania i drukowania wymaganego komunikatu na konsoli.
# 4) Konwertuj znak na int w Javie, odejmując „0”
Widzieliśmy konwersję znaku na int przy użyciu niejawnego rzutowania typów. Zwraca wartość ASCII znaku. Na przykład. Wartość „P” w kodzie ASCII zwraca 80, a wartość „2” w kodzie ASCII zwraca 50.
Jednak aby pobrać wartość int dla „2” jako 2, wartość znaku ASCII „0” musi zostać odjęta od znaku. Na przykład. Aby pobrać int 2 ze znaku „2”,
int intValue = '2'- '0'; System.out.println('intValue?”+intValue); This will print intValue->2.
Uwaga :Jest to przydatne do uzyskiwania wartości int tylko dla znaków wartości numerycznych, tj. 1, 2 itd. I nie jest przydatne w przypadku wartości tekstowych, takich jak „a”, „B” itp., Ponieważ zwróci różnicę między wartościami ASCII równą „0” 'i ten charakter.
Rzućmy okiem na przykładowy program, aby skorzystać z tej metody odejmowania wartości ASCII równej zero, tj. „0”, od wartości znaku ASCII.
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); } }
Oto wynik programu:
Wartość ASCII 0 -> 48
Wartość ASCII 1 -> 49
Wartość całkowita 0 -> 0
Wartość całkowita 1 -> 1
Wartość całkowita 7 -> 7
Wartość całkowita a -> 49
W powyższym programie, jeśli przypiszemy char „0” i „1” do wartości typu danych int, otrzymamy wartości ASCII tych znaków z powodu niejawnej konwersji. Tak więc, kiedy drukujemy te wartości, jak widać w poniższych stwierdzeniach:
int int0 = char1; System.out.println('ASCII value of 0 --->'+int0); int0 = char2; System.out.println('ASCII value of 1 --->'+int0);
Wynik otrzymamy jako:
Wartość ASCII 0 -> 48
Wartość ASCII 1 -> 49
Tak więc, aby uzyskać liczbę całkowitą reprezentującą tę samą wartość, co wartość char, odejmujemy wartość ASCII „0” od znaków reprezentujących wartości liczbowe.
int int2 = char2 - '0'; .
Tutaj odejmujemy wartości ASCII „0” od wartości ASCII „1”.
tj. 49-48 = 1. Stąd, kiedy drukujemy na konsoli char2
System.out.println („Wartość całkowita„ + char2 + ”->” + int2);
Otrzymujemy wynik jako:
Wartość całkowita 1 -> 1
W ten sposób omówiliśmy różne sposoby konwersji znaków Java na wartość całkowitą za pomocą przykładowych programów. Tak więc, aby przekonwertować znak na int w Javie, w programie Java można zastosować dowolną z metod opisanych w powyższych przykładowych kodach.
Przyjrzyjmy się teraz niektórym z często zadawanych pytań dotyczących konwersji znaków Java na int.
Często zadawane pytania dotyczące Char To Int Java
P # 1) Jak przekonwertować znak na int?
Odpowiedź:
W Javie char można przekonwertować na wartość int przy użyciu następujących metod:
- Niejawne rzutowanie typów (pobieranie wartości ASCII)
- Character.getNumericValue ()
- Integer.parseInt () z String.valueOf ()
- Odejmowanie „0”
Pytanie 2) Co to jest znak w Javie?
Odpowiedź: Typ danych char to prymitywny typ danych Java zawierający pojedynczy 16-bitowy znak Unicode. Wartość jest przypisywana jako pojedynczy znak ujęty w pojedynczy cudzysłów „”. Na przykład, char a = „A” lub char a = „1” itd.
Pytanie 3) Jak zainicjować znak w Javie?
Odpowiedź: Zmienna char jest inicjowana przez przypisanie pojedynczego znaku ujętego w pojedyncze cudzysłowy, tj. „”. Na przykład, char x = „b”, char x = „@”, char x = „3” itd.
P # 4) Jaka jest wartość int znaku A?
Odpowiedź: Jeśli znak „A” jest przypisany do zmiennej int, to char zostanie niejawnie podwyższony do wartości int, a jeśli wartość zostanie wydrukowana, zwróci wartość znaku „A” w ASCII, która wynosi 65.
Na przykład,
int x= 'A'; System.out.println(x);
Więc to wypisze 65 na konsoli.
Wniosek
W tym samouczku widzieliśmy następujące sposoby konwersji wartości typu danych Java typu char na int.
programy, które ukrywają Twój adres IP
- Niejawne rzutowanie typów (pobieranie wartości ASCII)
- Character.getNumericValue ()
- Integer.parseInt () z String.valueOf ()
- Odejmowanie „0”
Szczegółowo omówiliśmy każdy z tych sposobów i zademonstrowaliśmy użycie każdej metody za pomocą przykładowego programu Java.
=> Sprawdź WSZYSTKIE samouczki Java tutaj
rekomendowane lektury
- Klasa Java Integer i Java BigInteger z przykładami
- Samouczek JAVA dla początkujących: ponad 100 praktycznych samouczków wideo Java
- TreeMap w Javie - samouczek z przykładami TreeMap w języku Java
- Jak przekonwertować ciąg Java na Int - samouczek z przykładami
- Samouczek Java Float z przykładami programowania
- Instrukcja Java Break - samouczek z przykładami
- Java Enum: samouczek wyliczania w języku Java z przykładami
- Metoda Java String length () z przykładami