how convert char int java
In questo tutorial impareremo i diversi modi per convertire i valori del tipo di dati primitivo char in int in Java insieme a domande frequenti ed esempi:
Tratteremo l'uso dei seguenti metodi forniti da diverse classi Java per convertire il carattere in int:
- Cast di tipo implicito (acquisizione di valori ASCII)
- getNumericValue ()
- parseInt () con String.valueOf ()
- Sottraendo '0'
=> Controlla qui per vedere i tutorial di formazione su Java dalla A alla Z.
Cosa imparerai:
- Converti caratteri in int in Java
- # 1) Utilizzo del cast di tipo implicito, ad esempio ottenere il valore ASCII del carattere
- # 2) Utilizzo del metodo Character.getNumericValue ()
- # 3) Utilizzo del metodo Integer.parseInt () e String.ValueOf ()
- # 4) Converti Char in int in Java sottraendo '0'
- Domande frequenti relative a Char To Int Java
- Conclusione
Converti caratteri in int in Java
Java ha tipi di dati primitivi come int, char, long, float, ecc. In alcuni scenari, è necessario eseguire operazioni su valori numerici, dove i valori delle variabili sono specificati nel tipo di dati char.
In questi casi, dobbiamo prima convertire questi valori di caratteri in valori numerici, cioè valori int, e quindi eseguire le azioni desiderate, calcoli su questi.
Per esempio, in alcuni sistemi software, è necessario eseguire determinate operazioni o è necessario prendere alcune decisioni in base alle valutazioni dei clienti ricevute nel modulo di feedback dei clienti che viene fornito come tipo di dati del carattere.
In questi casi, questi valori devono essere prima convertiti nel tipo di dati int per eseguire ulteriori operazioni numeriche su questi valori. Java fornisce vari metodi per convertire il carattere in un valore int. Diamo un'occhiata a questi metodi in dettaglio.
# 1) Utilizzo del cast di tipo implicito, ad esempio ottenere il valore ASCII del carattere
In Java, se si assegna un valore del tipo di dati più piccolo a una variabile della variabile del tipo di dati più grande compatibile, il valore viene promosso automaticamente, ovvero viene implicitamente convertito in una variabile del tipo di dati più grande.
Per esempio, se assegniamo una variabile di tipo int a una variabile di tipo long, il valore int ottiene automaticamente typecast al tipo di dati long.
Il casting del tipo implicito avviene anche per la variabile del tipo di dati 'char', ovvero quando assegniamo il seguente valore della variabile char al tipo di dati 'int' della variabile, il valore della variabile char viene convertito automaticamente in un int dal compilatore.
Per esempio,
char a = '1';
int b = a;
Qui il carattere 'a' viene convertito in modo implicito nel tipo di dati int.
Se stampiamo il valore di 'b', vedrai che la console stampa '49'. Questo perché quando assegniamo il valore della variabile char 'a' alla variabile int 'b', in realtà recuperiamo il valore ASCII di '1' che è '49'.
Nel seguente programma Java di esempio, vediamo come convertire il carattere in int tramite typecast implicito, ovvero ottenere il valore ASCII della variabile 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); } }
Ecco l'output del programma:
Valore ASCII di P -> 80
Valore ASCII di p -> 112
Valore ASCII di 2 -> 50
Valore ASCII di @ -> 64
Nel programma sopra, possiamo vedere i valori ASCII di diversi valori di variabili char come segue:
Valore ASCII di P -> 80
Valore ASCII di p -> 112
La differenza nei valori per 'P' e 'p' è perché i valori ASCII sono diversi per lettere maiuscole e minuscole.
Allo stesso modo, otteniamo valori ASCII per valori numerici e caratteri speciali così come segue:
Valore ASCII di 2 -> 50
Valore ASCII di @ -> 64
# 2) Utilizzo del metodo Character.getNumericValue ()
La classe Character ha metodi di sovraccarico statico di getNumericValue (). Questo metodo restituisce un valore del tipo di dati int rappresentato da un carattere Unicode specificato.
Ecco la firma del metodo del metodo getNumericValue () per il tipo di dati char:
public static int getNumericValue (char ch)
Questo metodo statico riceve un argomento del tipo di dati char e restituisce il valore int del tipo di dati rappresentato dall'argomento 'ch'.
Per esempio, il carattere ' u216C' restituisce un numero intero con un valore di 50.
Parametri:
ch: Questo è un carattere che deve essere convertito in int.
Ritorna:
Questo metodo restituisce il valore numerico di 'ch', come valore non negativo del tipo di dati int. Questo metodo restituisce -2 se 'ch' ha un valore numerico che non è un numero intero non negativo. Restituisce -1 se 'ch' non ha un valore numerico.
Comprendiamo l'uso di questo metodo Character.getNumericValue () per convertire il carattere in un valore int.
Consideriamo lo scenario in cui uno dei sistemi software della banca, in cui il sesso è specificato nel tipo di dati 'char' e in base al codice di genere è necessario prendere una decisione come l'assegnazione del tasso di interesse.
Per questo, il codice di genere deve essere convertito dal tipo di dati char al tipo di dati int. Questa conversione viene eseguita utilizzando il metodo Character.getNumericValue () nel programma di esempio riportato di seguito.
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 '); } } }
Ecco l'output del programma:
genderCode—> 1
Benvenuto, la nostra banca offre un tasso di interesse speciale sui depositi fissi per i nostri clienti donne: 7,0%.
Affrettati, questa offerta è valida solo per un periodo limitato.
Quindi, nel programma sopra, stiamo convertendo il valore di genere della variabile char in valore int per ottenere il valore int nella variabile genderCode.
char sesso = '1';
int genderCode = carattere. getNumericValue (Genere);
Quindi, quando stampiamo su console, System. su .println ('genderCode ->' + genderCode); quindi vediamo il valore int sulla console come di seguito:
differenza tra c c ++ e java
genderCode—> 1
Lo stesso valore della variabile viene passato al loop case switch interruttore (genderCode) per ulteriori decisioni.
# 3) Utilizzo del metodo Integer.parseInt () e String.ValueOf ()
Questo metodo parseInt () statico è fornito dalla classe wrapper Integer.
Ecco la firma del metodo di Integer.parseInt () :
public static int parseInt (String str) genera NumberFormatException
Questo metodo analizza l'argomento String, considera String come un numero intero decimale con segno. Tutti i caratteri dell'argomento String devono essere cifre decimali. L'unica eccezione è che il primo carattere può essere un segno ASCII meno '-' e un segno più '+' per un'indicazione rispettivamente di un valore negativo e di un valore positivo.
Qui, il parametro 'str' è una stringa con la rappresentazione int da analizzare e restituisce il valore intero rappresentato dall'argomento in decimale. Quando la stringa non contiene un numero intero analizzabile, il metodo genera un'eccezione NumberFormatException
Come si vede nella firma del metodo per parseInt ( Corda str), l'argomento da passare al metodo parseInt () è di tipo di dati String. Quindi, è necessario convertire prima un valore char in String e quindi passare questo valore String al metodo parseInt (). Per questo viene utilizzato il metodo String.valueOf ().
valueOf () è un metodo di sovraccarico statico della classe String che viene utilizzato per convertire argomenti di tipi di dati primitivi come int, float in tipo di dati String.
public static String valueOf (int i)
Questo metodo statico riceve un argomento del tipo di dati int e restituisce la rappresentazione di stringa dell'argomento int.
Parametri:
i: questo è un numero intero.
Ritorna:
La rappresentazione di stringa dell'argomento int.
Quindi, stiamo usando una combinazione del metodo Integer.parseInt () e String.valueOf (). Vediamo l'uso di questi metodi nel seguente programma di esempio. Questo programma di esempio (1) converte prima il valore di valutazione del cliente del tipo di dati carattere in intero e (2) quindi stampa il messaggio appropriato sulla console utilizzando l'istruzione 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.'); } } }
Ecco l'output del programma:
customerRatings Valore stringa -> 7
customerRatings int value -> 7
Congratulazioni! Il nostro cliente è molto soddisfatto dei nostri servizi.
Nel codice di esempio sopra, abbiamo utilizzato il metodo String.valueOf () per convertire il carattere in un valore del tipo di dati String.
char customerRatingsCode = '7'; String customerRatingsStr = String.valueOf(customerRatingsCode);
Ora, questo valore String viene convertito nel tipo di dati int utilizzando il metodo Integer.parseInt () passando customerRatingsStr come argomento.
int customerRatings = Integer.parseInt(customerRatingsStr); System.out.println('customerRatings int value --->'+customerRatings); // Expected to print int value 7
Questo valore int customerRating viene utilizzato ulteriormente nell'istruzione if-else per confrontare e stampare il messaggio richiesto sulla console.
# 4) Converti Char in int in Java sottraendo '0'
Abbiamo visto convertire il carattere in int usando il typecasting implicito. Ciò restituisce il valore ASCII del carattere. Per esempio. Il valore ASCII di 'P' restituisce 80 e il valore ASCII di '2' restituisce 50.
Tuttavia, per recuperare il valore int per '2' come 2, il valore ASCII del carattere '0' deve essere sottratto dal carattere. Per esempio. Per recuperare l'int 2 dal carattere '2',
int intValue = '2'- '0'; System.out.println('intValue?”+intValue); This will print intValue->2.
Nota :Questo è utile per ottenere valori int solo per caratteri di valore numerico, ad esempio 1, 2, ecc., E non utile con valori di testo come 'a', 'B' ecc. Poiché restituirà semplicemente la differenza tra i valori ASCII di '0 'e quel personaggio.
Diamo un'occhiata al programma di esempio per utilizzare questo metodo per sottrarre il valore ASCII di Zero, ovvero '0' dal valore ASCII del carattere.
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); } }
Ecco l'output del programma:
Valore ASCII di 0 -> 48
Valore ASCII di 1 -> 49
Valore intero di 0 -> 0
Valore intero di 1 -> 1
Valore intero di 7 -> 7
Valore intero di a -> 49
Nel programma precedente, se assegniamo char '0' e '1' al valore del tipo di dati int, otterremo i valori ASCII di questi caratteri a causa della conversione implicita. Quindi, quando stampiamo questi valori come mostrato nelle dichiarazioni seguenti:
int int0 = char1; System.out.println('ASCII value of 0 --->'+int0); int0 = char2; System.out.println('ASCII value of 1 --->'+int0);
Otterremo l'output come:
Valore ASCII di 0 -> 48
Valore ASCII di 1 -> 49
Quindi, per ottenere un valore intero che rappresenti lo stesso valore di quello di char, sottraiamo il valore ASCII di '0' dai caratteri che rappresentano i valori numerici.
int int2 = char2 - '0'; .
Qui, sottraiamo i valori ASCII di '0' dal valore ASCII '1'.
cioè 49-48 = 1. Quindi, quando stampiamo su console char2
System.out.println ('Valore intero di' + char2 + '->' + int2);
Otteniamo l'output come:
Valore intero di 1 -> 1
Con questo, abbiamo coperto i vari modi di convertire il carattere Java in un valore intero con l'aiuto di programmi di esempio. Quindi, per convertire il carattere in int in Java, uno qualsiasi dei metodi trattati nei codici di esempio sopra può essere utilizzato nel programma Java.
Ora, diamo un'occhiata ad alcune delle domande frequenti sulla conversione da carattere Java a int.
Domande frequenti relative a Char To Int Java
Q # 1) Come si converte un char in un int?
Risposta:
In Java, char può essere convertito in valore int utilizzando i seguenti metodi:
- Cast di tipo implicito (acquisizione di valori ASCII)
- Character.getNumericValue ()
- Integer.parseInt () con String.valueOf ()
- Sottraendo '0'
D # 2) Cos'è un carattere in Java?
Risposta: Il tipo di dati char è un tipo di dati primitivo Java con un singolo carattere Unicode a 16 bit. Il valore viene assegnato come un singolo carattere racchiuso tra virgolette singole ''. Per esempio, char a = 'A' o char a = '1' ecc.
D # 3) Come si inizializza un carattere in Java?
Risposta: La variabile char viene inizializzata assegnando un singolo carattere racchiuso tra virgolette singole, ad esempio ''. Per esempio, char x = 'b', char x = '@', char x = '3' ecc.
miglior programma per nascondere l'indirizzo ip
Q # 4) Qual è il valore int di char A?
Risposta: Se char 'A' è assegnato alla variabile int, char verrà promosso implicitamente a int e se il valore viene stampato, restituirà il valore ASCII del carattere 'A' che è 65.
Per esempio,
int x= 'A'; System.out.println(x);
Quindi, questo stamperà 65 sulla console.
Conclusione
In questo tutorial, abbiamo visto i seguenti modi per convertire i valori del tipo di dati Java char in int.
- Cast di tipo implicito (acquisizione di valori ASCII)
- Character.getNumericValue ()
- Integer.parseInt () con String.valueOf ()
- Sottraendo '0'
Abbiamo coperto ciascuno di questi modi in dettaglio e dimostrato l'uso di ciascun metodo con l'aiuto di un programma Java di esempio.
=> Controlla TUTTI i tutorial Java qui
Lettura consigliata
- Java Integer e Java BigInteger Class con esempi
- Tutorial JAVA per principianti: oltre 100 tutorial video Java pratici
- TreeMap in Java - Tutorial con esempi di Java TreeMap
- Come convertire la stringa Java in Int - Tutorial con esempi
- Tutorial Java Float con esempi di programmazione
- Istruzione Java Break - Tutorial con esempi
- Java Enum: Tutorial sull'enumerazione Java con esempi
- Metodo Java String length () con esempi