馃摍 Tipos de Datos y Variables#

Tabla de Contenido#

  • 1 - Instalar Java

  • 2 - Tipos de Datos

    • 2.1 - Datos Primitivos

    • 2.2 - Espacio en Memoria

    • 2.3 - Desborde de Memoria

    • 2.4 - Constantes

Instalar Java#

Descargar el kernel

Ejecuta la siguiente celda. No la modifiques!

%%sh
wget -q https://github.com/SpencerPark/IJava/releases/download/v1.3.0/ijava-1.3.0.zip
unzip -q ijava-1.3.0.zip
python install.py

wget -qO- https://gist.github.com/SpencerPark/e2732061ad19c1afa4a33a58cb8f18a9/archive/b6cff2bf09b6832344e576ea1e4731f0fb3df10c.tar.gz | tar xvz --strip-components=1
python install_ipc_proxy_kernel.py --kernel=java --implementation=ipc_proxy_kernel.py
Installed java kernel into "/usr/local/share/jupyter/kernels/java"
e2732061ad19c1afa4a33a58cb8f18a9-b6cff2bf09b6832344e576ea1e4731f0fb3df10c/install_ipc_proxy_kernel.py
e2732061ad19c1afa4a33a58cb8f18a9-b6cff2bf09b6832344e576ea1e4731f0fb3df10c/ipc_proxy_kernel.py
Moving java kernel from /usr/local/share/jupyter/kernels/java...
Wrote modified kernel.json for java_tcp in /usr/local/share/jupyter/kernels/java_tcp/kernel.json
Installing the proxy kernel in place of java in /usr/local/share/jupyter/kernels/java
Installed proxy kernelspec: {"argv": ["/usr/bin/python3", "/usr/local/share/jupyter/kernels/java/ipc_proxy_kernel.py", "{connection_file}", "--kernel=java_tcp"], "env": {}, "display_name": "Java", "language": "java", "interrupt_mode": "message", "metadata": {}}
Proxy kernel installed. Go to 'Runtime > Change runtime type' and select 'java'
/content/install.py:164: DeprecationWarning: replace is ignored. Installing a kernelspec always replaces an existing installation
  install_dest = KernelSpecManager().install_kernel_spec(

Instrucciones para activar el kernel

Dirigite a Entorno de ejecuci贸n > Cambiar tipo de entorno de ejecuci贸n > Elige la opci贸n Java > Da click en Guardar

Tipos de Datos#

Datos Primitivos#

image.png

// Entero de tipo byte
byte numByte = 2;
System.out.println(numByte);
2
// Erro en asiganci贸n de tipo byte
byte numByte2 = 255;
System.out.println(numByte2);
|   byte numByte2 = 255;
incompatible types: possible lossy conversion from int to byte
// Entero de tipo int
int numero_1 = 5;
System.out.println(numero_1);
5
// Entero de tipo short
short numero_2 = 5;
System.out.println(numero_2);
5
// Erro en asiganci贸n de tipo short
short numShort = 32_768;
System.out.println(numShort);
|   short numShort = 32_768;
incompatible types: possible lossy conversion from int to short
// Entero de tipo long
long numero_3 = 23456;
System.out.println(numero_3);
23456
// Punto flotante de tipo float
float numero_4 = 54.6f;
System.out.println(numero_4);
54.6
// Punto flotante de tipo double
double numero_5 = 54.6;
System.out.println(numero_5);

// Punto flotante de tipo double
double numero_5 = 13.1d;
System.out.println(numero_5);
54.6
13.1
// Car谩cter
char letra_1 = 'B';
System.out.println(letra_1);
B
// Booleano
boolean bool_1 = true;
System.out.println(bool_1);
true

Espacio en memoria#

System.out.println("Tama帽o de byte: " + (Byte.SIZE/8) + " bytes.");
System.out.println("Tama帽o de short: " + (Short.SIZE/8) + " bytes.");
System.out.println("Tama帽o de int: " + (Integer.SIZE/8) + " bytes.");
System.out.println("Tama帽o de long: " + (Long.SIZE/8) + " bytes.");
System.out.println("Tama帽o de char: " + (Character.SIZE/8) + " bytes.");
System.out.println("Tama帽o de float: " + (Float.SIZE/8) + " bytes.");
System.out.println("Tama帽o de double: " + (Double.SIZE/8) + " bytes.");
Tama帽o de byte: 1 bytes.
Tama帽o de short: 2 bytes.
Tama帽o de int: 4 bytes.
Tama帽o de long: 8 bytes.
Tama帽o de char: 2 bytes.
Tama帽o de float: 4 bytes.
Tama帽o de double: 8 bytes.

Desborde de Memoria#

short num1 = 32767;
System.out.println(num1);
32767
short num2 = 32768;
System.out.println(num2);
|   short num2 = 32768;
incompatible types: possible lossy conversion from int to short
int num3 = 32768;
System.out.println(num3);
32768
byte num=127;
System.out.println(num);
127

Constantes#

En los notebooks de Colab las constantes no funcionan, sin embargo, en otros IDEs como IntelliJ funcionan correctamente.

Asignamos una valor que n煤nca cambiar谩:

final double PI = 3.141592653589793238;

Si intentamos modificar su valor no ser谩 posible:

PI = 3.555;

Error: Cannot assign a value to final variable 'PI'

Otro ejemplo

final char LetraA = 'A';

LetraA = 'B';

Error: Cannot assign a value to final variable 'LetraA'

Ejemplo en Colab (Recuerda que no funciona)

final int constanteEntera = 5;
constanteEntera = 6;
System.out.println(constanteEntera);
6