Operações Matemáticas em Char
Por que operações matemáticas são possíveis no tipo char?
O tipo de dado char é bastante interessante. Ele armazena caracteres, mas também permite realizar operações sobre esse tipo de dado.
Qual será o resultado da execução deste código?
Main.java
1234567891011package com.example; public class Main { public static void main(String[] args) { char firstLetter = 'A'; char secondLetter = '('; // We use type casting here to convert value from `int` to `char` char result = (char) (firstLetter + secondLetter); System.out.println(result); } }
Pode-se pensar que o resultado seria A(, mas como podemos ver, o resultado é i. Por que isso acontece? O char não é um tipo de dado puramente de caractere; ele utiliza caracteres da tabela ASCII. O caractere A corresponde ao número 65 na tabela, enquanto o caractere ( corresponde ao número 40. Como você pode imaginar, o caractere i corresponde a 105, pois 65 + 40 = 105.
É importante saber disso porque permite operar com o tipo char de forma excelente e flexível.
Aqui está um link para a tabela ASCII.
Conversão de Tipos
No código acima, você pode ter notado esta sintaxe incomum:
char result = (char) (firstLetter + secondLetter);
Mas por que o (char) é necessário? A operação de adição retorna um resultado do tipo int porque soma os códigos numéricos dos caracteres. Para armazenar esse resultado em uma variável do tipo char, é necessária uma conversão explícita. É exatamente isso que o construto (char) faz—ele converte o valor numérico de volta para um caractere.
No nosso exemplo, o resultado da soma é o número 105. O construto (char) converte esse número no caractere correspondente ao código 105 na tabela ASCII, que neste caso é o caractere i.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Can you explain more about how type casting works in this context?
What happens if I try to add two char variables without casting?
Can you give more examples of mathematical operations with char types?
Incrível!
Completion taxa melhorada para 2.7
Operações Matemáticas em Char
Deslize para mostrar o menu
Por que operações matemáticas são possíveis no tipo char?
O tipo de dado char é bastante interessante. Ele armazena caracteres, mas também permite realizar operações sobre esse tipo de dado.
Qual será o resultado da execução deste código?
Main.java
1234567891011package com.example; public class Main { public static void main(String[] args) { char firstLetter = 'A'; char secondLetter = '('; // We use type casting here to convert value from `int` to `char` char result = (char) (firstLetter + secondLetter); System.out.println(result); } }
Pode-se pensar que o resultado seria A(, mas como podemos ver, o resultado é i. Por que isso acontece? O char não é um tipo de dado puramente de caractere; ele utiliza caracteres da tabela ASCII. O caractere A corresponde ao número 65 na tabela, enquanto o caractere ( corresponde ao número 40. Como você pode imaginar, o caractere i corresponde a 105, pois 65 + 40 = 105.
É importante saber disso porque permite operar com o tipo char de forma excelente e flexível.
Aqui está um link para a tabela ASCII.
Conversão de Tipos
No código acima, você pode ter notado esta sintaxe incomum:
char result = (char) (firstLetter + secondLetter);
Mas por que o (char) é necessário? A operação de adição retorna um resultado do tipo int porque soma os códigos numéricos dos caracteres. Para armazenar esse resultado em uma variável do tipo char, é necessária uma conversão explícita. É exatamente isso que o construto (char) faz—ele converte o valor numérico de volta para um caractere.
No nosso exemplo, o resultado da soma é o número 105. O construto (char) converte esse número no caractere correspondente ao código 105 na tabela ASCII, que neste caso é o caractere i.
Obrigado pelo seu feedback!