No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Reg铆strate

Comienza en:

1D
22H
16M
28S
Curso de Introducci贸n a Java SE

Curso de Introducci贸n a Java SE

Anah铆 Salgado D铆az de la Vega

Anah铆 Salgado D铆az de la Vega

Casteo entre tipos de datos

19/39
Recursos

Java nos ayuda a realizar casteo autom谩tico de los tipos de datos m谩s chicos a otros m谩s grandes.

Sin embargo, en algunos casos vamos a necesitar realizar un cast manualmente, as铆 como aprendimos en la clase anterior ((dataType) variableOperaci贸n).

Por ejemplo: supongamos que declaramos dos variables a y b de tipo int y una variable c de tipo double que es igual a la divisi贸n de las primeras dos variables.

En este caso, aunque definimos que el tipo de dato de c es double, Java autom谩ticamente convertir谩 el resultado de la divisi贸n a tipo int, ya que este es el tipo de datos de las dos variables que dividimos, pero seguir谩 respetando que la variable c es de tipo double y a帽adir谩 un decimal al final (.0).

Esto significa que muchas de nuestras operaciones pueden verse afectadas. Por ejemplo:

int a = 30;
int b = 12;

double c = a / b;
System.out.println(c); // 2.0 (??)

En este caso, ya que Java convierte nuestras variables autom谩ticamente, debemos indicarle a nuestra variable c (de tipo double) que debe hacer cast de su valor para que Java no altere los valores de las variables y el resultado de la operaci贸n sea correcto:

int a = 30;
int b = 12;

double c = (double) a / b;
System.out.println(c); // 2.5

Es decir, como a y b son de tipo int, el resultado de una operaci贸n entre ambas variables ser谩 de tipo int, por lo que no tendr谩 decimales, pero si guardamos el resultado de esta divisi贸n en una variable de tipo double a帽adiremos un .0.

Esto podemos solucionarlo si indicamos que adem谩s de que la variable c es de tipo double, el valor de esta variable tambi茅n debe ser de tipo double. Esto significa que Java ejecutar谩 la divisi贸n entre a y b como si fueran de tipo double, por lo que tendr谩n decimales a pesar de haber sido definidas inicialmente como n煤meros enteros.

Aportes 264

Preguntas 16

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

EL 49 equivale a 1 en la tabla ASCII .

Apuntes que hago en bloc de notas.

Cast entre variables

.::Conversi贸n Automatica::.
byte -> short
short -> int
char -> int
int -> long
long -> float
float -> double

.::Cast Necesario::.
double -> float
float -> long
long -> int
int -> short
short -> byte

char <-> byte
char <-> short
int -> char

49 es la posici贸n del 1 en el c贸digo ASCII;

Conversi贸n Autom谩tica e Conversi贸n Necesaria
.

49 es el c贸digo Ascii del 鈥1鈥

Para el caso especial de convertir un String a cualquier otro tipo de dato, Java dispone del m茅todo parse con sintaxis:
Tipo.parseTipo(cadena)
Por ejemplo

String edad = "18"
int edadN = Integer.parseInt(edad);

Para el problema inverso, tenemos los m茅todos toString() y valueOf() con sintaxis:
String nombre = Tipo.toString(numero) Y
String nombreC = String.valuesOf(nombreN) respectivamente, veamos ejemplos:

int a = 15;
String edad1 = Integer.toString(a);
String edad2 = String.valueOf(a);

Cada uno de los s铆mbolos de nuestra computadora tienen una referencia num茅rica, la cual se traduce de su valor en bytes, que se ocupa como trabajo en memoria y procesamiento.
Este tipo de valores suelen agruparse para poder utilizar y conectar cosas como nuestro teclado y pudan ser le铆dos por nuestra pc.

Existe una tabla completa con esos valores, traducidos a comandos de teclado (C贸digo ASCII), mediante la tecla** 鈥渁lt鈥 **(de Alternativa), la cual permite realizar con dichos comandos, cada uno de los valores o s铆mbolos, los cuales imprimimos en nuestras pantallas.

Me imagino que 1 a 49 es la suma de los 16 bits del char y los 32 bits del int + 1 = 49 xd

49 es la c貌digo num茅rico del car谩cter 鈥1鈥

Un detalle interesante. 驴Por qu茅 Java no castea autom谩ticamente de char a short si ambos tipos de datos ocupan 2 bytes en memoria? Si son del mismo tama帽o, por qu茅 no puede castearse autom谩ticamente de char a short? 驴Por qu茅 se dice que short es m谩s peque帽o que char si ambos ocupan dos bytes?

Sencillamente porque short utiliza los dos bytes para representar n煤meros positivos y negativos (desde -32.768 hasta +32.767 ambos incluidos). Y char utiliza los dos bytes para representar n煤meros 煤nicamente positivos (desde 0 hasta 65.535) aunque luego se interpretan como caracteres.

Por eso, la conversi贸n de char a short no es autom谩tica.

Si est谩s leyendo este comentario, espero verte en el curso de Java orientado a objetos!!

馃 El casteo impl铆cito tambi茅n es conocido como conversi贸n autom谩tica.

public static void main(String[] args) {
// Exactitud
int a = 30;
int b = 12;
System.out.println("EL NUMERO EXACTO DE PERRTIOS AL MES ES: "+((double) (a/b)));

    double c = (double) a/b;
    System.out.println(c);

    // CASTING DE CHAR IMPLICITO
    char n = '1';
    int nI = n;
    System.out.println("CASTING DE CHAR IMPLICITO: "+ nI);

    // CASTING DE CHAR EXPLICITO
    char n2 = '1';
    short ns = (short) n2;
    System.out.println("CASTING DE CHAR EXPLICITO: "+ ns);
}

Para los que hasta ahora est谩n aprendiendo: Solo d茅jense llevar. Tomen sus apuntes y sigan con el curso. No se estresen por los datos que no tienen respuesta en el v铆deo como el significado del n煤mero 49. Lo digo porque yo soy de los que se estresan cuando no sabe ni por d贸nde buscar. La vida me ha ense帽ado que no tengo que aprenderlo todo de una sola tajada. Poco a poco. Besos.

Buenas noches.
El numero 49, corresponde al codigo en ASCII del numero 1.
Fuente: https://elcodigoascii.com.ar/

Para entender el por qu茅 del 49, es tan f谩cil como poner 鈥淎lt + 49鈥.
1

En c贸digo ASCII el 1 se representa como 49

ESE 49 SALE DEBIDO A QUE EN LA TABLA ASCII 1 OCUPA LA POSICION 49

脡sta es la tabla del c贸digo ascii. Sdls!

Es el c贸digo ASCII 49 = 1.

No tengo idea a que es el numero 49 pero leyendo los comentarios ya lo se

  • flechas azules (conversi贸n autom谩tica).
  • flechas blancas (requiere un cast)
  • Lo que vemos en la pantalla es la tabla de conversi贸n entre tipos de datos que podemos tener, estos son la mayor铆a de los tipos de datos, no son todos鈥 Tenemos byte, short, int, long, float, bouble y char.
  • Si notamos est谩n desde el tama帽o m谩s chiquito que es el tipo byte hasta uno de los m谩s grandes que es long.
  • Hay unas flechas claves:
  1. En el flujo de las flechas azules una conversi贸n autom谩tica, m谩s o menos una variable chiva siempre va a poder caber en una variable grande. En este caso la conversi贸n autom谩tica significa que no es necesario que coloquemos un cast, no es necesario que lo coloquemos expl铆citamente con los par茅ntesis y el tipo de datos, porque la conversi贸n ocurre autom谩ticamente como el tipo de dato cabe f谩cilmente, pues no pasa nada.
  2. En las flechas blancas si se requiere un cast y aqu铆 podemos notar que pues son normalmente los tipos de datos que son mucho m谩s grandes que no pueden caber en un tipo de dato m谩s peque帽o, lo que sucede en el 100% de los casos lo que va a suceder es un truncamiento de los d铆gitos que no pueden caber en el tama帽o de la variable m谩s peque帽a donde estamos intentado meterla

El caracter 1 equivale a 49 en la tabla ASCII

Ademas del casteo tambien existe la coreci贸n que es cuando se realiza una operaci贸n matem谩tica entre variables de diferentes tipos

Un byte se podr矛a definir como un octeto de informaci貌n, esta compuesto por un conjunto ordenado de 8 bits.鈥嬧 El tipo de dato byte en JAVA puede tomar un valor entre el rango m铆nimo de -128 y el m谩ximo 127 (inclusive).

Exacto

El numero 49 equivale a 1 en la tabla ASCII .

49 = 1 en la tabla ASCII : c贸digo de caracteres basado en el alfabeto latino, tal como se usa en ingl茅s moderno. Fue creado en 1963 por el Comit茅 Estadounidense de Est谩ndares como una evoluci贸n de los conjuntos de c贸digos utilizados entonces en telegraf铆a.

Como adici贸n al contenido visto, el casteo impl铆cito es conocido como conversi贸n impl铆cita y el casteo expl铆cito es conocido tambi茅n como conversi贸n explicita o conversi贸n de tipos.

Es el c贸dgo ASCII del n煤mero 1

Es c贸digo ASCII, aqui dejo un link de una pagina con todas las equivalencias
https://elcodigoascii.com.ar/

Jugando con ASCII:

int arroba = 64;
char aa = (char)arroba;
System.out.println(aa);```

C贸digo ASCII?

Se ejecuta un CAST cuando el tipo de dato es mayor al que se convertir谩

1 es 49 en ASCII

Si no me equivoco, equivale al c贸digo ASCII.

*Para redondear el valor.
Math.round(2.6); //3

*Para elegir la cantidad de decimales.
import java.text.DecimalFormat;
DecimalFormat nameVar = new DecimalFormat("#.##");
nameVar.format(2.33333333) // 2.33

codigo ASCLL el 1

鈥1鈥 en C贸digo Ascii es 49

es el valor del car谩cter en c贸digo ASCII

Seg煤n sus siglas en ingles se refiere a American Standard Code for Information Interchange ==> ASCII

codigo Ascii correspondiente al caracter 鈥1鈥

Interesante el tema del cast

El n煤mero 49 corresponde al c贸digo ASCII del caracter 鈥1鈥.

C贸digo ASCII

El 49 es el c贸digo ASCII del car谩cter 1 Eso del c贸digo ASCII lo aprend铆 en el curso de Fundamentos de Ingenier铆a de software. Super recomendado

Java nos ayuda a realizar casteo autom谩tico de los tipos de datos m谩s chicos a otros m谩s grandes.

Los tipos short y char ocupan el mismo espacio, 2 byes. No hay cast autom谩tico porque al ser short signed y char unsigned, los valores que representa char no son un subconjunto de los valores que puede representar short.

El resultado del cast impl铆cito del char a int no me lo esperaba

El 49 corresponde al valor ASCII del caracter 鈥1鈥

El c贸digo decimal de 1 en la tabla de ASCII es 49

lo que me gusta mucho del curso es la limpieza del codigo

El numero 49 corresponde al codigo ASCII del numero 1

El 1 en la tabla ASCII tiene el valor de 49

El 49, es equivalente del 1, en formato ASCII

El 1 se encuentra en la posici贸n n煤mero 49 de la tabla ASCII.

Y este ser铆a mi c贸digo de la clase (Netbeans):

se llama coercion impl铆cita o explicita la forma como el mismo lenguaje nos ayuda.

Esta es la raz贸n de se 49

El 49 es la posicion que tiene n

A su posici贸n en el c贸digo ASCII

Corresponde al numero 1 en la tabla ASCII

El 1 en la tabla ASCII ocupa el valor 49.

la verdad nose jajaja , pero creo que a algo de algun comando

        var n = '1';
        var nI = (int) n;
        var n2 = '2';
        var nI2 = (int) n2;
        System.out.println(nI);
        System.out.println(nI2);

es lo mismo que usar alt + 49 y alt + 50

Ya no mea cordaba lo de ASCII

Olvidaba que fuera referente al codigo ASCII, y probando con otros caracteres, si muestra el numero correspondiente a ese codigo ASCII.
Lo del casteo ahora si me quedo mas claro para poder emplearlo en un futuro.

49 es el 1 en ASCII

EL CODIGO ASCII DEL 1

Es el equivalente del c贸digo ASCII

#2
//(1)-char c = 鈥榸鈥; conviertelo a int
char c=鈥榸鈥;
int c1=c; // implicito

    //-(2)-int i = 250; conviertelo a long y luego de long a short
    int i = 250;
    long i2=i; // implicito
    short i3=(short) i2; //explicito

    //(3)-double d = 301.067; conviertelo a long
    double d = 301.067;
    long d2=(long)d;// explicito

    //-(4)-int i = 100; s煤male 5000.66 y conviertelo a float
    int a = 100;
   float suma= a+5000.66f;//implicito - exactitud

    //-(5)-int i = 737; multipl铆calo por 100 y conviertelo a byte
    int b = 737;
    byte b2=(byte)(b*100);//explicito - estimacion

    //(6)-double d = 298.638; div铆delo entre 25 y conviertelo a long 
    double d1= 298.638;
    long dividir=(long)d1/25;//explicito

El n煤mero 49 es la referencia del numero 1 en codigo ASCII.

He aqu铆 mi aporte. Decid铆 involucrar el Parseo, ya que mi curiosidad (as铆 como la suya, estoy seguro) me hizo preguntarme qu茅 pasa, entonces, con los Strings.

 //Sin casteo
   char n = '1';
   int nI = n;
   System.out.println("El resultado es: " + nI);
   
   //Con casteo
   short nS = (short) n;
        System.out.println("El resultado es: " + nS);

   //Con Parseo (Para cambiar valores de String a num茅ricos o booleanos)
   String age = "25";
   int ageInt = Integer.parseInt(age);
   System.out.println("El resultado es: " + ageInt);

49 es el Numero ascii de 鈥1鈥

El 49 es el c贸digo ascii del 1

Cu谩ndo nos muestra esto n煤meros se refiere al c贸digo ASCII.

He descubierto que JAVA no era tan dificil m谩s bien me ense帽aron mal.

El 49 es por el ASCII 110001 que es lo que entiende el procesador

Que horrible es Java :S

En la conversi贸n autom谩tica no es necesaria usar cast. Ocurre cuando se pasa de un tipo de dato menor a uno mayor. Cuando ocurre al rev茅s si es obligatorio usar un cast.

El 49 es igual al 1 en la tabla de ASCII
nos podemos dar cuenta de esto utilizando el teclado numerico de la siguiente manera (Alt + 49).
鈾 para hacer el corazon es (Alt + 3).
馃槃

codigo ascii del numero 1

El 49 es equivalente al numero 1 en la tabla ASCII

49 = 1

equivale a la tabla ASCII QUE UNO (1) en forma de caracter equivale a 49.

Imprime 49 porque ese es el c贸digo ASCII correspondiente al caracter 鈥1鈥

Siempre tengan en cuenta eso, una variable chica puede caber en una variable grande, pero una grande requiere un cast para entrar en una chica.

  • Lo recomendable es usar siempre un cast a menos que los decimales no te importen.

49 es el c贸digo ASCII del caracter 1

El 49 equivale a 1 en la tabla ASCII

<alt + 49 = 1> 

El ejercicio 1 el resultad49 por ASCI es equivalente al numero 1

El 45 que muestra es la posicion en memoria del numero 1.

El 49 en el ejercicio es por ASCII

Hay un dato curioso cuando en la forma que se interpreta el casteo:

![](

El 49 se debe a que es el equivalente a 1 en la tabla ASCII

Que disfruten sus E (ascii). 馃槂