Fundamentos de Programación en Java: Un Tutorial Completo
Java: Lenguaje y Plataforma
Java es un lenguaje de programación y una plataforma. Es un lenguaje de alto nivel.
El código fuente debe escribirse en archivos de texto y guardarse con la extensión .java. Este archivo debe ser compilado para generar un archivo .class, que contiene el bytecode de Java. El archivo .class es ejecutado por la Máquina Virtual de Java (JVM – Java Virtual Machine).
Paradigma de Programación Orientada a Objetos (POO)
Un paradigma es una forma de representar y manipular el conocimiento. Representa un enfoque particular para la resolución de problemas.
La POO es un paradigma que se aproxima más a la forma como percibimos el mundo real.
Abstracción
La abstracción consiste en captar las características esenciales de un objeto, así como su comportamiento y funcionalidades.
Objetos y Clases
Un objeto es la unidad fundamental de software en la POO. Se utilizan para modelar entidades del mundo real. Está conformado por un conjunto de atributos (características) y métodos (comportamiento/funcionalidades).
Una clase es la formalización de un objeto. Por lo tanto, también está conformada por atributos y métodos.
Constructor
Un constructor es un conjunto de instrucciones destinadas a inicializar un objeto. Puede recibir parámetros igual que un método.
Constructor por Defecto
Si no se incluye un constructor, Java crea uno. Este constructor no recibe parámetros y no tiene sentencias (código).
Paquetes
Los paquetes contienen clases y/o otros paquetes. Permiten mantener un orden en aplicaciones grandes.
Operador Punto (.)
El operador punto permite acceder a los miembros (atributos y métodos) de una clase.
Ejemplo:
Coche miCoche = new Coche();
miCoche.setVelocidad(1);
miCoche.setColor("azul");
int velocidad = miCoche.getVelocidad();
Ocultamiento
No se debe permitir que otros objetos ni clases tengan acceso directo a los atributos.
Encapsulamiento
El encapsulamiento oculta los detalles de implementación de una clase. Obliga a otras clases/objetos a usar un intermediario para acceder a los datos. Hace que el código pueda ser mantenido de forma fácil.
Sentencias y Bloques
Una sentencia es una o varias líneas de código seguidas por un punto y coma (;).
int suma = primero + segundo + tercero + cuarto + quinto;
Un bloque es un grupo de sentencias delimitadas por llaves.
{
a = b + 1;
c = d - 1;
}
Espacios en Blanco
Es posible incluir cualquier cantidad de espacios en blanco en el código.
{
a = b + 1;
c = d - 1;
}
es equivalente a:
{ a = b + 1; c = d - 1; }
Identificadores
Un identificador es el nombre que se le da a una clase, atributo o método.
Ejemplos:
atributo nombreCompuestoAtributo
metodo nombreCompuestoMetodo
Clase NombreCompuestoClase
No tienen límite en su longitud. Son sensibles a mayúsculas y minúsculas.
Tipos de Datos
En Java existen dos tipos de datos:
- Primitivos: Son valores simples. NO son objetos.
- Clases: Son tipos complejos. Se usan para crear objetos.
Tipos Primitivos
En Java existen 8 tipos de dato primitivo:
Categoría | Tipo |
---|---|
Lógico | boolean |
Texto | char |
Entero | byte , short , int , long |
Punto flotante | float , double |
Boolean
Solo puede ser true
o false
, los cuales pueden representar los estados verdadero o falso, sí o no, activo o inactivo, etc.
Char
Representa caracteres individuales del código Unicode de 16 bits. Los caracteres deben encerrarse entre comillas simples.
Enteros
Se usan para especificar valores enteros en formatos decimal, octal o hexadecimal.
Tamaño | Nombre | Rango |
---|---|---|
8 bits | byte | -128 a 127 |
16 bits | short | -32768 a 32767 |
32 bits | int | -2147483648 a 2147483647 |
64 bits | long | -9223372036854775808 a 9223372036854775807 |
Punto Flotante
Un número se considera de punto flotante si incluye un punto decimal o una parte exponencial. También se considera de este tipo si va seguido de una F
o f
(float
), o D
o d
(double
).
Tamaño | Nombre |
---|---|
32 bits | float |
64 bits | double |
Valores por Defecto
Tipo | Valor por Defecto |
---|---|
byte | 0 |
short | 0 |
int | 0 |
long | 0L |
float | 0.0F |
double | 0.0D |
char | » |
boolean | false |
Paso por Valor
En Java, los argumentos se pasan SOLO por valor. Es decir, no se puede cambiar el valor del argumento dentro de un método. Cuando se pasa una referencia como argumento, el valor del argumento no es el objeto en sí, sino una referencia a él. Por lo tanto, se puede cambiar el contenido del objeto, pero no la referencia a él.
Referencia this
La referencia this
se utiliza en dos situaciones:
- Para evitar ambigüedad entre variables de instancia y parámetros.
- Para pasar el objeto actual como un parámetro a otro método o constructor.