Variables y Tipos
Los tipos primitivos de Java incluyen int, double, boolean, y char — cada variable tiene un tipo declarado, y ese tipo queda fijo una vez declarado. Ten en cuenta que estos son primitivos, no objects: un boolean se imprime como la palabra true o false, no como 0 o 1.
public class Main {
public static void main(String[] args) {
int age = 30;
double price = 19.99;
boolean isStudent = false;
char grade = 'A';
System.out.println(age + " " + price + " " + isStudent + " " + grade);
}
}30 19.99 false A
Inferencia de tipo con var
var deja que el compilador infiera el tipo de una variable a partir de su inicializador, introducido en Java 10 — útil cuando el tipo es obvio o verboso. Igual produce un tipo fijo y completamente estático en tiempo de compilación; no es un tipo dinámico como podría serlo en un lenguaje de scripting.
public class Main {
public static void main(String[] args) {
var count = 42; // inferred as int
var pi = 3.14159; // inferred as double
System.out.println(count + " " + pi);
}
}42 3.14159
Cómo se ve un error real de incompatibilidad de tipos
El compilador de Java comprueba que los tipos de cada asignación realmente coincidan — asignar un String donde se espera un int es un error de compilación, no algo que se detecte después en tiempo de ejecución. Esto es genuinamente lo que reporta javac — capturado de una ejecución real, no escrito para parecer plausible:
public class Main {
public static void main(String[] args) {
int age = "thirty";
System.out.println(age);
}
}Main.java:3: error: incompatible types: String cannot be converted to int
int age = "thirty";
^
1 errorNada se ejecuta en absoluto — no hay resultado, solo el error. Detectar esto en tiempo de compilación en vez de en tiempo de ejecución es uno de los principales beneficios del tipado estático de Java.
Siguiente: operators y control de flujo — if/else, for, while, y switch.
Practice exercise
Declara una variable temperature de tipo double fijada en 72.5 y una variable isSunny de tipo boolean fijada en true. Imprímelas juntas separadas por un espacio.