You are on page 1of 11

Programación en Java SE

Apuntes y Notas

Introducción

Java nace en 1995 por James Gosling & Sun Microsystems influenciado por
los lenguajes de programación Objective-C, C++, Smalltalk y Eiffel como lenguaje de
programación de propósito general, concurrente, orientado a objetos, imperativo y
multiplataforma. Actualmente pertenece a Oracle Corporation y su última versión 2 es
el Java Development Kit 1.8 (JDK 1.8) o bien Java Standard Edition 8 (Java SE8).

Conceptos básicos

IDE (Entorno de Desarrollo Integrado)

Es un programa compuesto por un editor de texto, un compilador, un intérprete, un


depurador y un constructor de interfaz gráfica (GUI). Se utiliza para desarrollar y
ejecutar código en uno o varios lenguajes de programación.

Editor de Texto Es un programa que nos permite crear y modificar archivos de texto.

Es un programa que traduce el código escrito en un lenguaje de


programación en un editor de texto al lenguaje máquina que será el que
Compilador
lo interpretará. El lenguaje de máquina al que compila es binario, pero a
veces es un código intermedio llamado bytecode (el caso de Java).

Es un programa que analiza y ejecuta otros programas escritos en


Intérprete lenguajes de programación. Se encarga de realizar la traducción del
código al de máquina.

Es un programa que prueba y depura (elimina) los errores del código de


Depurador
uno o varios programas a la hora de la compilación e interpretación.

Es un programa que hace de interfaz de usuario. Su función principal es


GUI (Constructor de
la de proporcionar un entorno visual sencillo para permitir la
Interfaz Gráfica)
comunicación con el sistema operativo de una máquina.

1
POO (Programación Orientada a Objetos)

Es un paradigma de programación para agrupar un conjunto de datos (atributos) y


comportamientos (métodos) para operar sobre estos.
Cuando se agrupa este conjunto de datos (atributos y métodos) lo llamamos
Clase, y cuando instanciamos una Clase lo llamamos Objeto. Por lo tanto, cuando se
realiza una Instancia de una Clase, esta compuesta de atributos y métodos, lo que
estamos haciendo es creando un Objeto de esa Clase.

Conceptos fundamentales de la POO

Es la definición de los atributos y comportamientos de un objeto concreto.


Clase
Es ‘el molde’ para crear una entidad (Objeto).

Es una técnica para heredar los atributos y comportamiento de una Clase a


Herencia
una otra o varias Clases. Hay 2 tipos de Herencia, la simple y múltiple.

Es una instancia de una Clase, por lo tanto, tiene una copia de los atributos
Objeto
y comportamientos de la Clase que ha instanciado.

Método Es el comportamiento (algoritmo) para llevar a cabo una finalidad.

Evento Es una determinada acción generada según el código del programa.

Atributo Son los datos (características) que tiene la Clase.

Es la comunicación dirigida a un Objeto para ejecutar uno o varios


Mensaje
comportamientos (métodos) según el evento que se generó.

Es el nivel de acceso a una Clase, a unos atributos y/o unos métodos.


Estado
Hay 4 modificadores de acceso: public, protected, private y default.

Características principales de la POO

Es una técnica para ser ‘el molde de moldes’, no puede ser instanciada,
Abstracción por lo tanto, para utilizar los atributos y métodos de una Clase Abstracta
se ha de heredar de esta.

Es una técnica que consiste en reunir todos los elementos que pueden
considerarse pertenecientes a una misma entidad, a un mismo nivel de
Encapsulamiento
abstracción, es decir, ‘un molde’ que solo tenga los atributos y métodos
justos y necesarios para operar con ‘ése molde’ (Clase/Objeto).

Es una técnica para el envío de mensajes (métodos) sintácticamente


iguales a Objetos de tipos de datos distintos. El único requisito que deben
Polimorfismo de cumplir los Objetos que se utilizan de manera polimórfica, es el de
saber responder al mensaje que se les envía. Lo más utilizado en el
polimorfismo son las interfaces, templates (plantillas) y las sobrecargas.

Es una técnica para heredar los atributos y comportamiento de una Clase


a una otra o varias Clases. Hay 2 tipos de Herencia, la simple y múltiple.
Herencia
La simple solo permite heredar de una Clase (como hace Java), la
múltiple de varias Clases (como hace C++).

Es la técnica para destruir (liberar memoria) automáticamente (como


Recolección de Basura hace Java) o manualmente (como hace C++) los Objetos una vez ya no
son necesarios en la ejecución o finalización del programa.

2
Atributos y Comportamiento de una Clase

Son lugares de memoria de la máquina donde se guardan valores con un


tipo de dato específico (entero, real, carácter o especial). También se les
Atributos conoce como Variables o Datos, o bien, si son parte de una Clase;
Variables de Instancia, Variables de Objeto o Datos Miembro. En Java
hay 2 tipos de datos generales, los primitivos y los de Clase (Objetos).

Son las funciones o tareas que puede realizar una clase de objetos sobre
los atributos. Estas funciones se les conoce como Métodos, Métodos de
instancia (de objetos), Métodos de clase (de todos los objetos de la clase)
Comportamientos
o Funciones Miembro. Los objetos se comunican (mensajes) entre ellos
usando métodos. Los métodos están compuestos de instrucciones y
expresiones, los cuáles están formados por operadores.

Organización de Clases con Interfaces y Paquetes

Son colecciones de métodos que permiten identificar si la subclase,


Interfaces aparte de tener comportamientos de su superclase permiten identificar si
tiene comportamientos propios. Se define una Interfaz con interface.

Es una forma de agrupar las Clases relacionadas e Interfaces para luego


Packages (Paquetes) poder utilizarlas desde otras Clases. Se define un Paquete con package.
Para importar un Paquete se utiliza la palabra clave import.

Instrucciones y Expresiones

Una instrucción es un comando simple que hace que algo ocurra,


una acción. El valor presentado por una instrucción se llama valor de
Instrucciones retorno.Las instrucciones siempre terminan en punto y coma ; y sí se
agrupan entre corchetes { } se les denomina bloque o instrucción en
bloque.

Expresiones Una expresión es una instrucción que presenta un valor.

Operadores

suma +, resta -, multiplicación *, división =, resto %, asignación =, igual


Elementales y
que ==, no igual !=, menor que <, mayor que >, menor o igual que <= y
Relacionales
mayor o igual que >=.

de Aumento y
incremento ++ y decremento --.
de Disminución

AND &, AND Lógico &&, OR |, OR Lógico ||, XOR ^, NOT Lógico ! y
Lógicos
complemento ~.

nivel de bits bitwise, investigar objeto de determinada clase instanceof,


identificar la propia clase this, instanciar objetos new, asignación
Especiales de Java
condicionada ?:, expresión lambda ->, referencia método estático :: y
gestión de objetos genéricos <>.

3
Comentarios

Se utiliza para mejorar la lectura del programa, tanto para el programador como
para el que lea el código pueda entenderlo. El compilador de Java ignora los
comentarios por completo cuando prepara una versión ejecutable del código fuente
de Java. El usuario final ni el programa final en ejecución verán comentarios.

// comentario Desde la doble barra hasta el final de la línea será comentario.

/* comentario */ Desde la barra asterisco hasta el asterisco barra será comentario.

/** comentario PC /* Desde la barra doble asterisco hasta barra asterisco será comentario PC.

Concepto de Declarar, Definir e Inicializar

Declarar es reservar un espacio de memoria en nuestra máquina para los tipos


de datos que queramos utilizar y almacenar. Para declarar se comienza
Declaración
incluyendo el tipo de dato a declarar seguido de un nombre significativo al dato.
Sintaxis: tipoDato nombreVariable;

Definir es asignar un valor después de haber realizado una declaración.


Definición
Sintaxis: nombreVariable = valorVariableCorrespondienteAlTipo;

Inicializar es asignar un valor en la misma declaración.


El valor de asignación a ‘nada’ es diferente según el tipo de dato en Java. Para
Inicialización variables numéricas el valor de nada es 0, para variables de caracteres es ‘\0’,
para variables booleanas false y para Objetos null.
Sintaxis: tipoDato nombreVariable = valorVariableCorrespondienteAlTipo;

Variables y Tipos de datos

Las variables son lugares dónde se guarda la información mientras un programa se


está ejecutando. El valor de una variable puede cambiar en cualquier punto del
programa. Para la creación de una variable le asignaremos un tipo y un nombre,
además de un valor inicial.

Tipos de Variables en Java


de Instancia Definen los atributos (datos) de un Objeto.

Definen los atributos únicos de una Clase para todos sus Objetos. Se utiliza la
de Clase
palabra clave static antes del tipo de dato y del nombre del atributo.

Definidas dentro de las implementación de los métodos o incluso en bloques de


instrucciones dentro de un método. Por motivos de seguridad, estas tiene que ser
Locales inicializadas a la hora de su declaración. Una vez termina el bloque, estas dejan
de existir. Java no contiene variables globales (como hace C++), las que se
pueden utilizar en todas las partes de un programa.

Tipos de Datos en Java


Datos Primitivos void, byte, short, int, long, float, double, char y boolean.

Integer, Long, Float, Double, Char, String, Color, etc.


Cuando se crea una variable de tipo Objeto, esta ha de ser inicializada con el
Clases como Datos método constructor utilizando la palabra clave new seguido del nombre de la
Clase que instancia. Declarar una variable del tipo Object significa que puede ser
asociada con cualquier Clase de Objeto.

4
Constantes en Java

Es un variable con un valor que no cambia nunca. Se utiliza la palabra clave final
para declarar una constante seguido del tipo de dato de esta variable constante,
además, es obligatorio inicializar la constante a la hora de la declaración.
Se recomienda que el nombre de las constantes sea en mayúsculas.

Constante Sintaxis: final tipoDato nombreConstanteMayusculas = valorVariable;

Clases en Java

Java trabaja con Clases, que son un conjunto de datos (atributos) y comportamientos
(métodos) para poder crear entidades (Objetos) y operar con estas.

Modificadores que definen el Acceso de un Atributo o Método

Puede ser ejecutado desde cualquier clase de cualquier otro paquete. Este no es
public
recomendable sí lo que se quiere es proteger los atributos o métodos de la clase.

Es accesible desde la clase que lo define y desde todas las subclases (derivadas) de
protected
esta.

default Puede ser accedido por todas las clases del paquete al que pertenece.

private Sólo es accesible desde la clase que lo ha definido.

CLASE PAQUETE SUBCLASE TODOS

public Sí Sí Sí Sí

protected Sí Sí Sí No

default Sí Sí No No

private Sí No No No

Modificadores que definen la Naturaleza de un Atributo o Métodos

static Puede ser ejecutado sin crear un objeto de la clase que lo ha definido.

final No admite sobrecargas ni reescrituras.

Bloquea el acceso a un dato o objeto hasta que termine de ejecutarse el método,


para que ningún otro método pueda alterar este dato u objeto. Se utiliza cuando
synchronized hay ocurrencia de varios hilos sobre un dato u objeto. Un atributo puede ser
declarado como sincronizado, si bien es preferible declarar el método o la clase a
la que pertenece como sincronizado.

Se define como método que está escrito en el lenguaje de programación C++,


compilado para un sistema operativo específico y que por lo tanto mejora el
native rendimiento de ejecución de una aplicación que lo use. En el código Java se
sustituye el cuerpo de este método por el carácter punto y coma ;. Este
modificador no es aplicable a atributos.

5
Crear Clases y Herencia Simple

Para crear una Clase, crearemos un fichero con extensión .java.


Dentro del fichero, escribiremos el código de nuestra Clase, de nuestro programa.

La palabra clave para crear una Clase es class. Antes de la palabra clave class
Crear Clase sin herencia debemos de especificar el modificador de acceso, con public, protected o private.
Sintaxis: modificadorDeAcceso class nombreClase { /* Atributos y Métodos */ }

Parar heredar de una superclase se utiliza la palabra clave extends seguido del
Crear Clase con herencia nombre de la superclase. Sintaxis: modificadorDeAcceso class nombreSubClase
extends nombreSuperClase { /* Atributos y Métodos */ }

Herencia Simple es lo que permite a una Clase heredar todo el comportamiento


(métodos) y los datos (atributos) de otra Clase. A este tipo de Clases que heredan de
otras Clases se les conoce como subclase; y de la Clase que heredan a esta se le
conoce como superclase. Todas las Clases que no heredan de ninguna heredan de
la Clase principal de java Object. Los métodos overriding (sobrescritos) son para
invalidar métodos superiores a la jerarquía actual de Clases donde se llame este.
Para heredar en Java se utiliza la palabra clave extends.

Crear Atributos (Variables) en una Clase

Se declaran con el tipo de dato que queramos, sea primitivo o de clase propia, en
caso de ser de otra clase se tendría que importar el paquete, con la palabra clave
import y el nombre del paquete a importar para poder utilizar objetos de ese paquete.
Se aplica lo mismo con las constantes, mayúsculas e inicialización obligatoria, para
los Objetos no hace falta inicializarlos.

Sintaxis: tipoDato nombreVariable;


Atributos de Instancia Sintaxis: final tipoDato NOMBRECONSTANTE = valorConstante;
Sintaxis: nombreClase nombreObjeto;

Definen los atributos únicos de una Clase para todos sus Objetos. Se utiliza la
palabra clave static antes del tipo de dato y del nombre del atributo.
Atributos de Clase Sintaxis: static tipoDato nombreVariable;
Sintaxis: static final tipoDato NOMBRECONSTANTE = valorConstante;
Sintaxis: static nombreClase nombreObjeto;

Crear Métodos en una Clase

Se declaran con el tipo de dato a retornar (devolver), que por cierto se utiliza la
palabra clave return en la definición para devolver el tipo de dato seleccionado, el
nombre del método y con el tipo de dato de sus argumentos (parámetros) si tiene. El
tipo de dato void no devuelve nada, se utiliza frecuentemente para representar datos.
Métodos de Instancia sin
Sintaxis: tipoDatoRetornar nombreMétodo( );
argumentos (parámetros)

Métodos de Instancia con


Sintaxis: tipoDatoRetornar nombreMétodo(tipoDato argumento);
argumentos (parámetros)

Métodos de Clase sin Solo operan con atributos de clase, no se escribe la palabra clave static.
argumentos (parámetros) Sintaxis: tipoDatoRetornar nombreMétodo( );

Métodos de Clase con Solo operan con atributos de clase, no se escribe la palabra clave static.
argumentos (parámetros) Sintaxis: tipoDatoRetornar nombreMétodo(tipoDato argumento);

6
Instanciar una Clase o Crear un Objeto

Se utiliza la palabra y operador clave new seguido del nombre de la Clase y 2


paréntesis, uno de apertura y otro de cierre. Cuando se instancia una Clase se está
asignando memoria y se llama a un método, llamado método constructor, que este lo
que hace es inicializar los atributos de la Clase y ejecutar los métodos que estén
definidos dentro del método constructor. El método constructor puede o no recibir
algún o ningún argumento (parámetro) y siempre tiene como nombre el nombre de la
clase seguido de argumentos o no.

Instancia de una Clase con


Sintaxis: nombreClase nombreObjeto = new nombreClase( );
el constructor por defecto

Instancia de una Clase sin


el constructor por defecto, Sintaxis: nombreClase nombreObjeto = new nombreClase(tipoDato argumento);
con uno sobrecargado

Acceso a los Atributos y Métodos de una Clase

Para el acceso a un atributo o método utilizamos el operador de punto .


seguido del nombre del Atributo o Método con o sin argumentos.
Sintaxis: nombreObjeto.nombreAtributo;
acceso a datos con el
Sintaxis: nombreObjeto.nombreMétodo( );
operador punto .
Sintaxis: nombreObjeto.nombreMétodo(argumentos);

Referencias a Objetos

Una referencia es una dirección de memoria de la máquina que indica dónde se


almacenan los atributos y métodos de un Objeto. Se pueden asignar la dirección de
un Objeto cuando lo han asignado en memoria (con la palabra clave new) a otro
Objeto mientras este no tenga una asignación en memoria. Su uso es para
ocasiones muy concretas, por suerte (o no), no existe el término “puntero” en Java,
como sí sucede en el lenguaje de programación C++ y muchos más.

Explicación: nombreObjeto2 tendrá la dirección de memoria donde está


almacenados los datos (atributos y métodos) de nombreObjeto1, pero no
referencia tendrá nada más, solo la dirección de memoria de la máquina.
Sintaxis: nombreClase nombreObjeto1 = new nombreClase( );
nombreClase nombreObjeto2 = nombreObjeto1;

Referirse a un Objeto (atributos y métodos) de la propia Clase

Su uso no es obligatorio, pero si recomendado cuando tenemos un argumento con el


mismo nombre que un atributo, y por ejemplo queremos referirnos al atributo y no al
argumento. También, para referirse a la propia clase, como ella misma tratándola de
entidad (Objeto) también se utiliza la palabra y operador clave this. Las Instancias de
Clase o Objetos de Clase (los que tienen la palabra clave static) no tienen this.
Sintaxis: this.nombreAtributo; Sintaxis: this.nombreObjeto;
operador this
Ejemplo: this.colorAzul = colorAzul; Ejemplo2: this.Persona = Persona;

7
Sistemas de Lectura y Escritura de datos a través de la terminal en Java

Se utilizan para leer (mostrar) datos por terminal y escribir (dar) datos por teclado.

Sistema de Lectura de datos en la consola del sistema en Java

La lectura por terminal (la consola del sistema) permite mostrar datos, sean cadenas
de texto o Atributos (como cadena de texto). No es necesario crear ningún tipo de
Objeto ni importar ningún paquete para poder leer (mostrar) datos por terminal.
Se utiliza el Objeto de Clase (objeto estático) System.out de la Clase PrintStream y
algún método de clase (método estático) como print( ), printf( ), println( ), entre otros.

Escribe en pantalla lo mostrado entre paréntesis, sin salto de línea.


Sintaxis: System.out.print( “texto” + atributos);
System.out.print( )
Ejemplo: System.out.print(“Hola soy un print”);
Ejemplo: System.out.print(“Su nombre es: ” + variableNombre);

Escribe en pantalla lo mostrado entre paréntesis, pudiendo dar formato


a las variables a mostrar incluyendo %numerosIzquierda.NumerosDerecha.
System.out.printf( )
Sintaxis: System.out.printf( “texto %0.0f” + atributos );
Ejemplo: System.out.printf(“Tu puntuación es de: %4.2f ” + variable);

Escribe en pantalla lo mostrado entre paréntesis, con salto de línea.


Sintaxis: System.out.println( “texto” + atributos );
System.out.println( )
Ejemplo: System.out.println(“Hola soy un println”);
Ejemplo: System.out.println(“Su edad es: ” + variableEdad);

Sistema de Escritura de datos en la consola del sistema en Java

La escritura por teclado permite introducir datos según el tipo de Dato del Atributo.
Se debe de incluir el paquete de java.io.* para usar las Clases de esa Librería.
Sintaxis para importar el paquete: import java.io.*;
En la Clase PrintStream, dedicada a la entrada y salida, está el objeto de lectura
System.out, y el objeto de escritura System.in, el cual utilizaremos con Objetos de
tipo Scanner qué también está dentro del paquete de java.io.* como Clase.
Se creará un Objeto Scanner y se inicializará con el objeto System.in.
Sintaxis: Scanner nombreObjetoEscritura = new Scanner(System.in);
Una vez creado, para utilizarlo, según el tipo de dato que vayamos a guardar,
utilizaremos los métodos nextLine( ), nextInt( ), nextDouble( ), entre otros.

Sintaxis: String variableString = nombreObjetoEscritura.nextLine( );


para Strings Ejemplo: import java.io.*;
Scanner entradaDatos = new scanner(System.in);
String nombre = entradaDatos.nextLine( );

Sintaxis: String variableEntera = nombreObjetoEscritura.nextInt( );


Ejemplo: import java.io.*;
para Enteros
Scanner entradaDatos = new scanner(System.in);
int edad = entradaDatos.nextInt( );

Sintaxis: String variableString = nombreObjetoEscritura.nextDouble( );


Ejemplo: import java.io.*;
para Decimales
Scanner entradaDatos = new scanner(System.in);
Double dinero = entradaDatos.nextDouble( );

NT: Hay más objetos para la entrada y salida de datos, y por supuesto más métodos
qué los mostrados aquí, indagar para más información según la necesidad de cada uno.

8
Concepto de Parámetro y Argumento

Aparece en la declaración de los métodos, se refiere a la variable de los ( ). Por lo tanto,


parámetro
se dirá que cuando se declara un método, la variable es el parámetro de los ( ).

Aparece en la llamada a los métodos, se refiere al valor de la variable. Por lo tanto,


argumento
se dirá que cuando se realiza una llamada al método, la variable es el argumento.

Paso por argumento (también dicho por parámetro)

Recoger los datos que se incluyan como parámetro dentro de los paréntesis de un
método, siempre declarando el tipo de dato del Atributo a recibir. Un tipo de dato
incorrecto introducido lanzará un error tarde o temprano. Se pueden tener tantos
argumentos en un método como se desee, además, pueden ser diferentes del tipo
devuelto (de retorno) del método. Lo normal, en métodos set (introducir) es que los
métodos sean de tipo void, y en los métodos get (obtener) sean de tipo de dato de
retorno que devuelven.
Sintaxis: tipoDeDato miMetodo(tipoDeDato argumento);
paso por Ejemplo: void introducirEdad(int edad); // o bien: setEdad(int edad);
parámetro Ejemplo: void crearTriangulo(double a, double b, double c);
Ejemplo: int obtenerEdad( ) { return edad; } // o bien: getEdad( );

Clase String

Permite almacenar una cadena de caracteres y permite realizar operaciones con


estos a través de métodos de clase (métodos estáticos). Para utilizar la clase String,
como hemos visto anteriormente, se debe de crear un Objeto de tipo String, como si
fuera una variable (se le considera tal). Sintaxis: String nombreString = “cadena”;

Métodos principales de la clase String

char charAt(int indice) Extrae el carácter que está en la posición indicada por el valor de índice.

boolean equals(String texto) Investiga si dos cadenas son iguales.

Investiga si dos cadenas son iguales, ignorando las diferencias entre


boolean equalsIgnoreCase(String texto)
mayúsculas y minúsculas.

String toLowerCase( ) Convierte todos los caracteres de una cadena a minúsuculas.

String toUpperCase( ) Convierte todos los caracteres de una cadena a mayúsculas.

String trim( ) Elimina los espacios en blanco a la derecha y a la izquierda.

int indexOf(String) Retorna la primera ocurrencia de la cadena recibida como argumento.

int lastIndexOf(int caracter) Retorna la última ocurrencia de la cadena recibida como argumento.

Retorna la cadena de caracteres que representa el valor recibido como


String valueOf(double numero)
argumento.

Retorna la cadena de caracteres recibida cómo argumento (ídem para tipos de


String valueOf(tipoDato data)
dato como int, float, char y boolean).

String concat(String texto) Une a la cadena de texto recibido como argumento.

String substring(int inicio, int fin) Retorna la sub-cadena entre las posiciones inicio y fin.

int length( ) Calcula el número de caracteres de la cadena y lo retorna.

9
Arrays

Son la forma de almacenar una lista de elementos que tienen el mismo tipo de dato
primitivo o una misma clase. Cada slot (espacio) de un array va numerado de 0 a el
último declarado menos 1, es decir, si tenemos un array de 10, este irá de 0 a 9, no
existirá el 10. En Java, los Array son objetos y hay dos maneras de declarar arrays.

Declaración de un Array como dato primitivo

Forma 1 Sintaxis: tipoDato[ ] nombreVariableArray;

Forma 2 Sintaxis: tipoDato nombreVariableArray[ ];

Declaración e Inicialización de un Array como dato de clase (Objeto)

Se han de inicializar a la hora de la declaración con el operador y palabra clave new


e indicar entre los corchetes el límite del array, que recuerda, que este será de
hasta el límite-1 declarado. Se puede crear e inicializar (ya con datos) un array al
mismo tiempo encerrado los elementos del array entre llaves { } y separados estos
por comas. Todos los arrays tienen una variable de clase (variable estática) llamada
length que contiene el número de elementos del array, el tamaño o longitud.

Crear Array Sintaxis: nombreClase[ ] nombreObjetoArray = new nombreClase[tamaño];


como Objeto Ejemplo: String[ ] misLibros = new String[10];

Crear Array como Sintaxis: nombreClase[ ] nombreObjetoArray = { new nombreClase(valor) } ;


Objeto con valores Ejemplo: Color[ ] misColores = { new Color(“blue”), new Color(“red) };

Obtener longitud o Sintaxis: tipoDato variableTamañoArray =


tamaño del Array nombreObjetoOVariableArray.length;

Arrays Unidimensionales y Multidimensionales

Los arrays unidimensionales son los que ya conocemos, y valga la redundancia, los
de una dimensión, es decir, viendo arrays como una lista, veríamos una fila,
eso sería unidimensional, en cambio, los arrays multidimensionales pueden ser de 2
(filas y columnas) y muchas más dimensiones, según la necesidad del programa.
El uso y la sintaxis es la misma para las multidimensionales, simplemente,
trataremos con más corchetes para indicar más dimensiones.

Sintaxis: tipoDato[tamaño][tamaño] nombreArray;


Forma 1 Sintaxis: tipoDato[tamaño][tamaño][tamaño] nombreArray;
Sintaxis: tipoDato[tamaño][tamaño][tamaño][tamaño] nombreArray;

Sintaxis: tipoDato nombreArray[tamaño][tamaño];


Forma 2 Sintaxis: tipoDato nombreArray[tamaño][tamaño][tamaño];
Sintaxis: tipoDato nombreArray[tamaño][tamaño][tamaño][tamaño];

Forma para
Sintaxis: nombreClase[ ][ ] objetoArray = new nombreClase[tamaño][tamaño];
ArrayObjetos

10
Estructuras de Control de Flujo

Permiten modificar el flujo de ejecución de las instrucciones de un programa.


Tenemos 2 agrupaciones de estas, las condicionales y los loops (bucles).

Condicionales (Conditionals)

Son instrucciones de programación ejecutadas sólo al darse la condición específica.

if else if De acuerdo a una o varias condiciones, ejecuta un grupo u otro de sentencias.


switch De acuerdo al valor de una variable, ejecutar un grupo u otro de sentencias.

Sintaxis: if (condicion) { /* Código TRUE*/ } else { /* Código FALSE */ }


Ejemplo: if (edad >= 18) { /* Código */ } else { /* Código */ }
Sintaxis: if (condicion1) { /* Código */ } if (condicion2) { /* Código */ }
if else y else if
if (condicion3) { /* Código */ } else { /* Código FALSE */ }
Ejemplo: if (notas >= 5) { /* Código */ } if (notas == 0) { /* Código */ }
if (notas == 10) { /* Código */ } else { /* Código */ }

Equivale a un if … else.
if ternario Sintaxis: condicion = (expresión) ? codigoIf : codigoElse;
Ejemplo: a = (a > 5) ? a+5 : a-5;
Sintaxis: switch (expresión) {
case valorAtributoExpresion:
/* Código */ break;

default:
/* Código */ break; }
switch Ejemplo: switch (teclaIntroducida) {
case ‘A’:
/* Código */ break;
case ‘B’:
/* Código */ break;
default:
/* Código */ break; }

Bucles (Loops)

Son iteraciones (repeticiones un número de veces) hasta cumplir una condición.

do while Ejecutar un grupo de sentencias mientras se cumpla una condición.


for Ejecutar un grupo de sentencias un número determinado de veces.
while Ejecutar un grupo de sentencias hasta que deje de cumplirse una condición.

Sintaxis: do { /* Código */} while (condición);


do while
Ejemplo: do { /* Código */} while (edad >= 18);

Sintaxis: for ( bloqueCondicionesIniciales; bloqueCondicionesFinalizacion;


for bloqueModificacionCondicionesDeContiniudad) { /* Código */ }
Ejemplo: for (int contador = 0; contador >= 100; contador++) { /* Código */ }

Sintaxis: while (condición) { /*Código */ };


while
Ejemplo: while (contadorDeVidas > 0) { /* Código */ };

11

You might also like