Primitiva Tipos de datos - Oracle doc dice que la gama de longen Java es -9,223,372,036,854,775,808a 9,223,372,036,854,775,807. Pero cuando hago algo así en mi eclipse
long i = 12345678910;
me muestra " The literal 12345678910 of type int is out of range" un error.
Hay 2 preguntas
1) ¿Cómo inicializo el longcon el valor 12345678910?
2) ¿Son todos los literales numéricos por defecto de tipo int?
java
long-integer
aamadmi
fuente
fuente

Long: debido al auto-boxeo, puede usarLong i = 12345678910L, o usarLong i = Long.valueOf(12345678910L)para aquellos casos en los que no puede usar el auto-boxeo.Respuestas:
L:long i = 12345678910L;.Por cierto: no tiene que ser una L mayúscula, pero la minúscula se confunde con
1muchas veces :).fuente
0x200000000L0x20000000L?0x20000000Lfuncionaría pero aún puede representarse conint(un entero de 32 bits), por lo0x20000000que funcionaría igual de bien.0x200000000Lrompe ese límite, haciendoLnecesario el arrastre .Debe agregar el
Lcarácter al final del número para que Java lo reconozca como largo.Si.
Ver tipos de datos primitivos que dice "Un literal entero es de tipo largo si termina con la letra L o l; de lo contrario, es de tipo int".
fuente
Necesitas agregar mayúsculas
Lal final asíLo mismo ocurre para flotar con
3.0fQue debería responder a ambas preguntas
fuente
Para inicializar mucho, debe agregar "L" al final.
Puede ser mayúscula o minúscula.
Todos los valores numéricos son por defecto
int. Incluso cuando realiza cualquier operaciónbytecon cualquier número entero,byteprimero se promueveinty luego se realiza cualquier operación.Prueba esto
Obtiene un error porque
2es por defectoint.Por lo tanto, estás tratando de multiplicar
byteconint. Por lo tanto, el resultado se teclea a lointque no se puede asignar de nuevobyte.fuente