Fundamentos de Java: Dominando la Sintaxis Básica
Un programa Java puede definirse como una colección de objetos que se comunican invocando los métodos de cada uno. Veamos brevemente qué significan clase, objeto, métodos y variables de instancia.
Objeto – Los objetos tienen estados y comportamientos. Ejemplo: Un perro tiene estados - color, nombre, raza - y comportamientos como mover la cola, ladrar, comer. Un objeto es una instancia de una clase.
Clase – Una clase es una plantilla/modelo que describe el comportamiento/estado que soportan los objetos de su tipo.
Métodos – Un método es básicamente un comportamiento. Una clase puede contener muchos métodos. En los métodos se escribe la lógica, se manipulan datos y se ejecutan todas las acciones.
Variables de Instancia – Cada objeto tiene su conjunto único de variables de instancia. El estado de un objeto se crea por los valores asignados a estas variables.
Primer Programa Java
Veamos un código simple que imprime Hola Mundo.
Ejemplo
Demo en Vivopublic class MiPrimerProgramaJava {
/* Este es mi primer programa java.
* Imprimirá 'Hola Mundo' como salida */
public static void main(String []args) {
System.out.println("Hola Mundo"); // imprime Hola Mundo
}
}
Veamos cómo guardar el archivo, compilar y ejecutar el programa. Sigue estos pasos:
- Abre el bloc de notas y añade el código anterior.
- Guarda el archivo como:
MiPrimerProgramaJava.java. - Abre una ventana de símbolo del sistema y ve al directorio donde guardaste la clase. Asumamos que es C:\.
- Escribe
javac MiPrimerProgramaJava.javay pulsa enter para compilar. Si no hay errores, el símbolo del sistema pasará a la siguiente línea (Asumiendo que la variable path está configurada). - Ahora, escribe
java MiPrimerProgramaJavapara ejecutar tu programa. - Podrás ver
Hola Mundoimpreso en la ventana.
Salida
C:\> javac MiPrimerProgramaJava.java C:\> java MiPrimerProgramaJava Hola Mundo
Sintaxis Básica
Sobre los programas Java, es muy importante tener en cuenta lo siguiente:
Sensibilidad a Mayúsculas/Minúsculas – Java distingue mayúsculas/minúsculas, por lo que el identificador Hola y hola tendrían significados diferentes.
Nombres de Clases – Para todos los nombres de clase la primera letra debe ser mayúscula. Si se usan varias palabras, la primera letra de cada palabra interna debe ser mayúscula. Ejemplo: class MiPrimeraClaseJava
Nombres de Métodos – Todos los nombres de métodos deben empezar con minúscula. Si se usan varias palabras, la primera letra de cada palabra interna debe ser mayúscula. Ejemplo: public void miNombreMetodo()
Nombre del Archivo de Programa – El nombre del archivo debe coincidir exactamente con el nombre de la clase. Al guardar, usa el nombre de la clase (recuerda que Java distingue mayúsculas/minúsculas) y añade '.java' al final. Si el nombre del archivo y la clase no coinciden, el programa no compilará. Nota: si no hay una clase pública en el archivo, el nombre puede ser diferente. Tampoco es obligatorio tener una clase pública. Ejemplo: Si 'MiPrimerProgramaJava' es el nombre de la clase, el archivo debe guardarse como 'MiPrimerProgramaJava.java'
public static void main(String args[]) – El procesamiento de un programa Java comienza desde el método main() que es parte obligatoria de todo programa Java.
Identificadores en Java
Todos los componentes Java requieren nombres. Los nombres usados para clases, variables y métodos se llaman identificadores.
Puntos a recordar sobre identificadores:
- Todos los identificadores deben comenzar con una letra (A-Z o a-z), carácter de moneda ($) o guión bajo (_).
- Después del primer carácter, pueden tener cualquier combinación de caracteres.
- Una palabra clave no puede usarse como identificador.
- Lo más importante: los identificadores distinguen mayúsculas/minúsculas.
- Ejemplos legales: edad, $salario, _valor, __1_valor.
- Ejemplos ilegales: 123abc, -salario.
Modificadores en Java
Como otros lenguajes, es posible modificar clases, métodos, etc., usando modificadores. Hay dos categorías:
Modificadores de Acceso – default, public, protected, private
Modificadores de No Acceso – final, abstract, strictfp
Veremos más detalles en la siguiente sección.
Variables en Java
Tipos de variables en Java:
- Variables Locales
- Variables de Clase (Variables Estáticas)
- Variables de Instancia (Variables No Estáticas)
Arrays en Java
Los arrays son objetos que almacenan múltiples variables del mismo tipo. Sin embargo, un array en sí es un objeto en el heap. Veremos cómo declarar, construir e inicializar en próximos capítulos.
Enums en Java
Los enums se introdujeron en Java 5.0. Restringen una variable a tener solo unos pocos valores predefinidos. Los valores en esta lista enumerada se llaman enums.
Con enums es posible reducir el número de errores en tu código.
Por ejemplo, en una aplicación para una tienda de jugos, se podría restringir el tamaño del vaso a pequeño, mediano y grande. Esto asegura que nadie pueda pedir otro tamaño.
Ejemplo
Demo en Vivoclass JugoFresco {
enum TamanoJugo{ PEQUEÑO, MEDIANO, GRANDE }
TamanoJugo tamano;
}
public class PruebaJugoFresco {
public static void main(String args[]) {
JugoFresco jugo = new JugoFresco();
jugo.tamano = JugoFresco.TamanoJugo.MEDIANO;
System.out.println("Tamaño: " + jugo.tamano);
}
}
El ejemplo anterior produce:
Salida
Tamaño: MEDIANO
Nota – Los enums pueden declararse por sí mismos o dentro de una clase. Métodos, variables, constructores pueden definirse dentro de enums.
Palabras Clave de Java
Lista de palabras reservadas en Java. No pueden usarse como constantes, variables u otros nombres de identificadores.
| abstract | assert | boolean | break |
| byte | case | catch | char |
| class | const | continue | default |
| do | double | else | enum |
| extends | final | finally | float |
| for | goto | if | implements |
| import | instanceof | int | interface |
| long | native | new | package |
| private | protected | public | return |
| short | static | strictfp | super |
| switch | synchronized | this | throw |
| throws | transient | try | void |
| volatile | while |
Comentarios en Java
Java soporta comentarios de una línea y multilínea, muy similares a C y C++. Todos los caracteres dentro de cualquier comentario son ignorados por el compilador.
Ejemplo
Demo en Vivopublic class MiPrimerProgramaJava {
/* Este es mi primer programa java.
* Imprimirá 'Hola Mundo' como salida
* Este es un ejemplo de comentario multilínea. */
public static void main(String []args) {
// Este es un ejemplo de comentario de una línea
/* Este también es un ejemplo de comentario de una línea. */
System.out.println("Hola Mundo");
}
}
Salida
Hola Mundo
Uso de Líneas en Blanco
Una línea que solo contiene espacios en blanco, posiblemente con un comentario, se conoce como línea en blanco, y Java la ignora totalmente.
Herencia
En Java, las clases pueden derivarse de otras clases. Si necesitas crear una nueva clase y ya existe una que tiene parte del código que requieres, puedes derivar tu nueva clase del código existente.
Esto permite reutilizar campos y métodos de la clase existente sin reescribir el código. La clase existente se llama superclase y la derivada subclase.
Interfaces
En Java, una interfaz es un contrato entre objetos sobre cómo comunicarse. Las interfaces juegan un papel vital en la herencia.
Una interfaz define los métodos que una clase derivada (subclase) debe usar. Pero la implementación de los métodos depende totalmente de la subclase.
¿Qué Sigue?
La siguiente sección explica Objetos y Clases en Java. Al final, tendrás una imagen clara de qué son objetos y clases en Java.
Java
- Dominando la sintaxis básica de C: Tokens, estructura y punto y coma
- Fundamentos de C#: Sintaxis Básica y Conceptos de POO
- Palabra clave final en Java: Variables, métodos y clases
- Operador instanceof en Java: Guía completa
- Entendiendo las clases anidadas estáticas en Java: Uso, diferencias y ejemplos
- Dominando las clases internas anónimas en Java: Definición, sintaxis y ejemplos prácticos
- Patrón Singleton en Java explicado: Cómo implementarlo y usarlo de forma segura
- Dominando la Reflexión en Java: Inspeccionando clases, métodos y campos en tiempo de ejecución
- Dominando ObjectOutputStream de Java: Serialización, Métodos y Ejemplos Prácticos
- Dominando Java Generics: Construyendo Código Reutilizable y Type-Safe
- Dominando las operaciones de archivos en Java con java.io: creación, lectura, escritura y eliminación