Hola y bienvenidos a esta elección.
A continuación vamos a ver la conversión de tipos primitivos en Java están listos.
Vamos llamamos a nuestro código vamos a quitar el código que hemos escrito y dejamos únicamente la definición
de la clase.
Hola mundo y el método Mail.
Vamos a ver ahora el tema de conversión de tipos primitivos.
Vamos a ver primero el caso de convertir un string a un tipo int.
Para esto podemos hacer lo siguiente Vamos a definir nuestra variable edad y esta variable edad queremos
que reciba un valor entero.
Sin embargo el valor es una string.
Entonces podemos utilizar la clase integrar la cual contiene un método para convertir una cadena a un
entero y el método se llama pars int así que lo que recibe es un string proporcionamos el string por
ejemplo en este caso el valor de 20 y lo que va a hacer esta línea es convertir este string lo va a
convertir a entero y entonces el resultado de esta expresión de mandar a llamar.
Esta función es el valor de 20 pero ya en valor entero pero ya es un tipo int.
Vamos a imprimir el valor de esta variable con ese Alvy guardamos cambios y ejecutamos
y podemos observar que nos imprime correctamente el valor de 20.
Ahora cómo podemos saber que realmente es un valor de tipo int.
Podremos utilizar la variable para realizar algún cálculo con otros tipos enteros o simplemente convertir
esta variable a un tipo int y con esto comprobamos que el resultado de ejecutar la llamada al método
int y proporcionarle un string.
El resultado es que regresa un tipo entero así que esa es una forma de convertir cadenas a tipos enteros
pero podemos utilizar la palabra reservada var sin ningún problema ahora también podemos utilizar otros
tipos de datos.
Por ejemplo qué pasa si queremos convertirlo en lugar de tipo entero a un tipo doble.
Vamos a poner el siguiente ejemplo vamos a utilizar por ejemplo el valor de la constante pi así que
definimos la variable valor Pi y ahora vamos a utilizar la clase Doble y mandamos a llamar.
El método de doble y recibe una cadena y en este caso la cadena es 3.14 16 y podemos observar el resultado.
Se está haciendo la conversión del lado derecho se manda llamar a la función doble de la Clase Doble
se le pasa la cadena 3.14 16 y este valor se convierte a un tipo doble así que en nuestra variable valor
Pi ya tenemos este valor pero ya no en cadena sino en tipo doble.
Así que con este valor ya podremos realizar operaciones podemos imprimir el valor de esta variable guardamos
cambios y ejecutamos y podemos observar el valor 3.14 16 así que se ha hecho esta conversión correctamente.
Ahora eso lo podemos utilizar para cualquier otro tipo primitivo como puede ser Big Short integrar double
float etcétera pero para el único caso que es la excepción es para el tipo Char no tenemos una conversión
de Cadena A tipo Char ya que una string tiene uno o muchos caracteres y un char únicamente puede almacenar
un solo carácter pero lo que podemos hacer es lo siguiente Vamos a definir la variable Char llamada
C.B vamos a definir un string por ejemplo el de hola y lo que vamos a hacer para poder realizar esta
conversión realmente lo que vamos a hacer es tomar uno de los caracteres de este string.
Para ello ponemos simplemente punto y mandamos a llamar el método Char at es decir un carácter en cierta
posición de este string para realizar el conteo de caracteres en una cadena se cuentan de la siguiente
forma.
Este es el valor cero.
Este sería el valor 1 ese sería el carácter en la posición 2 y finalmente ese sería el carácter en la
posición 3 y en total son 4 elementos pero podemos observar que entonces inicia desde la posición cero
así que si queremos el carácter en la posición cero tendríamos que proporcionar el índice cero en la
llamada a esta función y esto nos regresaría el carácter h si queremos el carácter o.
Entonces proporcionamos el valor de 1 sería el índice que tenemos que proporcionar si queremos el carácter
de L.
Entonces pasaríamos el valor de 2 y así sucesivamente.
Si queremos el carácter A. Entonces pasamos el valor de 3.
Vamos a realizar esta prueba vamos a pasar el índice cero y vamos a ver que nos imprime imprimimos el
valor de la variable C guardamos cambios y ejecutamos y podemos observar que en este caso ya podemos
realizar la asignación del carácter en este caso el carácter h ya que es el primer carácter y podemos
observar que se cuenta desde cero si queremos el último carácter.
Entonces tenemos que contar de 0 1 2 y sería el tercer carácter.
Por lo tanto tendríamos que poner el índice 3.
Guardamos cambios ejecutamos y podemos observar que en este caso nos regresa el carácter a.
Así que esa es una forma de convertir tipo string a un tipo Char.
Realmente no es convertir toda la cadena sino seleccionar uno de los elementos un carácter de este string.
Ahora todo esto lo vamos a utilizar pero ahora con nuestra clase escaner ya que si recordamos la clase
escaner utiliza el método next Line para leer información de la consola.
Sin embargo esto nos regresa un tipo instruían y por lo tanto si lo queremos asignar a un tipo entero
no vamos a poder realizar la asignación directamente así que vamos a ver el siguiente ejemplo para realizar
una conversión de lo que escribamos en consola y lo vamos a convertir a un tipo entero así que vamos
a escribir el siguiente código escribimos Bahr declaramos nuestra variable de tipo escaner posteriormente
Nioh escaner y vamos a leer información de la consola por lo tanto escribimos Sistem punto yn para leer
información de la consola y posteriormente lo que vamos a hacer es definir una variable de tipo entero
llamado edad que también podremos utilizar Baur pero en este caso para que sea más explícito vamos a
utilizar el tipo primitivo Int.
Así que definimos nuestra variable edad y ahora lo que vamos a hacer es leer información del escáner
del objeto escáner y mandamos a llamar el método next Line ponemos punto y coma.
Sin embargo en este caso la variable edad ya la hemos definido así que ya no es necesario volver a definirla
ya que ya se ha definido anteriormente más bien vamos a reutilizarla y ahora nos manda otro mensaje.
En este caso nos está mandando el mensaje de tipos incompatibles y precisamente estamos en el tema de
conversión de datos.
Por lo tanto en este caso lo que tenemos que hacer es ejecutar la llamada al método integrar punto pars
int ya que este es precisamente el ejemplo que pusimos en práctica recibir una string posteriormente
convertir a un entero y asignarlo a una variable de tipo entero ahora cómo hacemos esto vamos a envolver
toda la llamada de este método de la siguiente forma ponemos integer punto par int
y la llamada de escaner next line debe de estar dentro de la llamada al método pars Int.
Así que el método int recibe como valor lo que escribamos en la consola y posteriormente realiza la
conversión a tipo entero.
Así es como funciona esta línea y posteriormente mandamos a imprimir esta variable pero debe ser la
variable de edad guardamos cambios y ejecutamos
y podemos observar que nos está esperando nos espera para que escribamos el valor de dar y podemos poner
por ejemplo el valor de 18 años y entonces la variable edad recibe el valor de 18.
Y ahora vamos a ver cómo recuperar únicamente un carácter ya que la llamada Annex line lo que nos regresa
es un estruendo pero como ya hemos visto anteriormente podemos hacer uso de la función de echar ATH
cuando estamos trabajando con cadenas para recuperar un carácter.
Así que podemos escribir lo siguiente
definimos una variable llamada carácter de tipo Char utilizamos nuestro objeto escaner y mandamos a
llamar el método next Line y esto nos va a regresar una cadena.
Por lo tanto para que nos regrese ahora únicamente un carácter sabemos que a una cadena le podemos mandar
a llamar.
El método Char ATT y especificar el inicio de la cadena que queremos recuperar.
En este caso queremos recuperar únicamente un carácter.
Por lo tanto le vamos a pedir que nos regrese el primer carácter de la cadena que se escriba imprimimos
el valor de ese carácter y vamos a ejecutar nuestro código.
Guardamos cambios ejecutamos primero nos pide el valor de la edad proporcionamos por ejemplo el valor
de 20 y ahora nos pide el valor del carácter y en este caso podemos poner un carácter o una cadena.
Si escribimos una cadena por ejemplo un nombre el nombre de Juan y escribimos enter lo que nos regresa
es el primer carácter de esta cadena.
En este caso el valor de j.
Vamos a volver a ejecutar para mostrar otro caso ponemos una edad por ejemplo de valor de 20 y ahora
proporcionamos una cadena.
Por ejemplo el símbolo de arroba y podemos observar que así es como podemos solicitar únicamente un
carácter y lo estamos asignando correctamente a la variable de tipo Char.
Ahora vamos a dejar un poco de lado la clase escaner y vamos a ver ahora el caso inverso de cómo convertir
un tipo entero a un tipo destruí.
Vamos a escribir lo siguiente escribimos string edad en texto y para convertir un tipo entero a un tipo
string podemos apoyarnos de la clase string y la clase string tiene un método llamado valio off y podemos
observar que este método puede recibir varios tipos como puede ser el tipo Object bullían Char un arreglo
de tipos Char que posteriormente veremos a detalle el tema de arreglos el tipo de móvil float y long
etcétera así que podemos observar que podemos proporcionar cualquier valor de tipo primitivo y entonces
va a hacer la conversión a un tipo string así que hacemos uso del método value of y proporcionamos por
ejemplo en este caso el valor entero de 25 y posteriormente imprimimos esta variable para ver el valor
guardamos cambios ejecutamos
ponemos el valor de la edad que nos solicita.
Posteriormente el valor del carácter cualquier carácter y podemos observar que ahora la variable edad
texto nos está regresando el valor de 25.
Pero esto ya es un string no es un tipo entero así que ya no podríamos realizar cálculos con esta variable
sino simplemente concatenar a otra cadena o mandarlo a imprimir pero ya no es un tipo numérico ya que
con esta función valio off estamos convirtiendo el tipo entero 25 que es la literal entera 25 y la estamos
convirtiendo a un tipo String.
Así que de esta manera es como podemos convertir tipos enteros a tipo string y esta conversión puede
recibir valores como puede ser el tipo entero de tipo doble de tipo float etc. cualquier tipo primitivo
incluso por ejemplo el valor de fouls si le pasamos este valor guardamos cambios y ejecutamos
proporcionamos el valor de la edad que nos pide el carácter y podemos observar que nos muestre el valor
de Foss pero esto ya es una estrella no es el valor de tipo Vulcano Fools sino es un estrujan así que
con esta función de valio off estamos convirtiendo cualquier tipo primitivo a un tipo string bien por
último vamos a ver una conversión especial que se conoce como castin conversión entre tipos.
Por ejemplo en este caso podemos definir un tipo primitivo de tipo Llort la variable se llama s y la
asignamos por ejemplo el valor de 10.
Posteriormente definimos una variable de tipo bait llamada y lo que vamos a hacer es asignarle el valor
de la variable de tipo Llort y esta asignación no la podemos realizar directamente si esta variable
fuera de tipo entero entonces si la podemos realizar ya que un tipo Yor ocupa 16 bits y el tipo entero
ocupa 32 bits así que un tipo entero sin problema puede almacenar un tipo Llort pero un tipo bait únicamente
tiene 8 bits para almacenar la información.
En cambio el tipo XOR tiene 16 bits por lo tanto un tipo Llort no cabe directamente en un tipo Bayt.
Sin embargo debido a que este valor es válido tanto para un tipo Yor como para un tipo Bayt.
Para hacer esta asignación podemos hacer lo que se conoce como castin o conversión entre tipos y para
hacer la conversión entre tipos podemos indicarle aullaba entre paréntesis el tipo de dato al cual queremos
convertir.
En este caso al tipo bait así que ponemos nuestra variable y la anteponemos el tipo de dato entre paréntesis
al cual queremos convertir.
Con esto estamos haciendo la conversión y todo esto nos va a regresar el valor de diez pero ahora en
tipo Bayt y así es como es posible realizar esta conversión así que esto se conoce como casting o conversión
de tipos mandamos a imprimir el valor de esta variable el valor de la variable que guardamos cambios
y ejecutamos ponemos el valor de la edad el carácter que nos pide y finalmente podemos observar que
el valor de la variable de tipo Veidt contiene correctamente el valor de 10.
Sin embargo deberemos de tener cuidado cuando estamos haciendo esta conversión ya que esto puede provocar
pérdida de información ya que recordemos que un tipo Llort contiene 16 bits y el tipo bit contiene 8
bits.
Así que si asignamos un valor que no soporta el tipo bit recordemos que el valor máximo del tipo Veidt
es el valor de 127 en positivo así que si ponemos el valor de 128 el tipo sólo puede almacenar sin ningún
problema ya que el tipo XOR su valor máximo es aproximadamente de 32000 pero el tipo bit su valor máximo
es de 127 así que este tipo Llort contiene el valor de 128 y lo queremos convertir a un tipo Bayt.
Podemos observar que el compilador al indicarle que queremos hacer esta conversión de manera obligatoria
es decir hacer el casting.
Entonces este valor lo asigna directamente a la variable de tipo bait pero debido a que 128 no cabe
en un bit entonces va a haber pérdida de bits por lo tanto si mandamos a imprimir el valor de esta conversión
guardamos cambios y ejecutamos.
Proporcionamos el valor de edad el carácter que nos piden y podemos observar que en lugar del valor
de 128 en positivo está asignando el valor de menos 128 simplemente vamos a poner el valor de 129 también
va a cortar este número guardamos cambios ejecutamos ponemos un carácter y podemos observar que en este
caso en lugar de escribir 129 ahora está escribiendo el valor de 127 ya que está sucediendo exactamente
lo mismo.
Hay pérdida de bits pero como estamos indicando al compilador que estamos seguros de esta conversión
entonces ya es problema nuestro.
El hacer esta conversión ya que por default el compilador nos dice que estos tipos son incompatibles.
El tipo XOR no se puede asignar al tipo bit ya que como nos comenta puede existir pérdida de información.
Eso es todo por esta elección y nos vemos en el siguiente vídeo.
Saludos.