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íaTipo
Lógicoboolean
Textochar
Enterobyte, short, int, long
Punto flotantefloat, 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ñoNombreRango
8 bitsbyte-128 a 127
16 bitsshort-32768 a 32767
32 bitsint-2147483648 a 2147483647
64 bitslong-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ñoNombre
32 bitsfloat
64 bitsdouble

Valores por Defecto

TipoValor por Defecto
byte0
short0
int0
long0L
float0.0F
double0.0D
char»
booleanfalse

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:

  1. Para evitar ambigüedad entre variables de instancia y parámetros.
  2. Para pasar el objeto actual como un parámetro a otro método o constructor.