Java

Java es un lenguaje de programación que está ampliamente extendido en macroproyectos que agrupan a gran cantidad de desarrolladores durante gran cantidad de tiempo. Tuve la oportunidad de trabajar con Java desarrollando aplicaciones en los sectores de Banca y seguros.

Por tanto, es un lenguaje de programación con una amplia demanda, y a mi juicio, uno de los pocos que te permite iniciar tu carrera como desarrollador a pesar de no tener experiencia. Buscando en portales de empleo, es posible encontrar ofertas en las que no es requisito tener experiencia profesional previa. Esto es algo que rara vez ocurre con otros lenguajes de programación.

Además, es posible certificarte como desarrollador Java, con lo cual podrás suplir tu falta de experiencia ptogrdionsl con una o varias certificaciones. No todas las empresas le dan valor a estas certificaciones, pero me he encontrado casos en los que directamente, tenerla era un requisito fundamental para entrar en plantilla, así que si te lo puedes permitir, probablemente sea una buena decisión preparte para sacarla.

Lecciones

Eclipse

Es el editor de código más concretamente IDE (Integrated development Enviroment) que vamos a usar. Descarga Existen otros: De código libre: Netbeans BlueJ Dr. Java Spring Toolsuite jGRASP De código propietario IntelliJIDEA Jbuilder

Clases

Plantilla o molde a partir de la cual se construye un objeto. Una clase contiene: atributos: propiedades de los objetos (edad, marca, altura, peso…) métodos: acciones que pueden realizar los objetos (corrar, saltar, traducir, pensar…)

Objetos

Se podría decir que un objeto (o instancia de una clase) es una clase con valores concretos. Nomenclatura Paquetes: estoesunpaquete Clases, interfaces y constructores: EstoEsUnaClase Métodos: estoEsUnMetodo() Variables: estoEsUnaVariable Constante: ESTO_ES_UNA_CONSTANTE

Hola Mundo

System.out.println();Nos permite escribir trazas en la consola. El atajo para ejecutar una aplicación J2SE en eclipse es:alt + shift + x + j En eclipse, escribiendo: sysout y pulsando ctrl+espacio se nos escribe automáticamente la línea: System.out.println() main y pulsando ctrl+espacio se nos escribe automáticamente el método public static void main.

Variables

Una variable es un espacio de memoria cuya información puede variar durante la ejecución de la aplicación. En java las variables son altamente tipadas. Declaración: Asignación: La parte izquierda será una variable La parte derecha puede ser un literal, una variable, una función o una combinación de todos. Tipos de […]

Constantes

Una constante es un espacio de memoria cuya información no puede variar durante la ejecución del programa. Van precedidas del modificador final. Si descomento la línea, obtendré un error.

Operadores

Operador de concatenación Ejercicio: Saludo Que se muestre un mensaje que diga: “Buenas tardes Jose”, dónde Jose será el valor de una variable. Operadores aritméticos Ejemplos: Output:Soy una cadena5 + 3853 Operadores lógicos o booleanos

Lectura de datos

Lectura del texto introducido por teclado. Según el tipo de datos que estemos usando, utilizaremos: Ejercicios: con operadores aritméticos 1. Escribir un programa que calcule el número de segundos que existen en un día. Como todo el mundo sabe, un día tiene 86400 segundos. 2. Hacer un conversor de euros a […]

Estructuras de control: if

Output:dato2 es mayor que dato1 if – else Output:Va a ser que no If – else if Output:éxito Ejercicios if 1. Dada una variable que contiene la nota de un examen que va de 0 a 10… Si es mayor que cinco mostrar el texto “Aprobado”. Si es igual a cinco, […]

Calculadora

Cómo convertir una cadena en un entero Ejercicio: calculadora Hacer una calculadora que determine la operación a realizar por medio de una estructura de control if. La calculadora debe hacer uso de los operadores aritméticos +, –, * y /.

Estructura de control: Switch

A partir del JDK 7 puede recibir como parámetro un String, antes, no. Nota: Para evaluar cadenas de texto (String) en vez de letras (char), pondré estos caracteres entre comillas dobles en vez de simples. Output:Solucion2 Ejercicio: Hacer una calculadora con switch Hacer una calculadora que determine la operación a realizar […]

Estructura de control: bucle for

0123456789 Ejercicios: bucle for 1. Imprimir los números pares que hay dentro de los 100 primeros números naturales. Nota: No utilizar la estructura de control if para resolver este ejercicio. 2. Imprimir los números pares que hay dentro de los 100 primeros números naturales Utilizaremos el operador % para separar los […]

Estructura de control: bucle while

Output:0123456789 Ejercicios bucle while 1. Repetir el juego del número secreto, pero ahora después de jugar se le preguntará al usuario si desea seguir jugando. Si no desea seguir jugando la variable booleana “quieroJugar” que evalúa el bucle while valdrá false, con lo cual termina el juego. 2. El usuario […]

Métodos

Son funciones aplicadas a objetos. Una función es un subprograma que realiza una tarea específica y devuelve un valor Métodos para trabajo con cadenas Output:Rod2RODOLFOrodolfo7 Ejercicio con cadenas de texto En el texto “Dábale arroz a la zorra el Abad”, contar el número de veces que aparece la letra “a”. […]

Paso de parámetros

Por referencia: cuando paso la dirección del dato. Por valor: cuando paso el dato. En Java se pasa siempre por valor, pero: cuando paso un objeto, paso una dirección de memoria. cuando paso una primitiva, paso directamente su valor. Output:La nueva letra vale: aEl nuevo stringBuffer vale: cCEl nuevo letras […]

Modificador static

Métodos static No precisan de una instancia para ser invocados. Si llamo a un método static desde una instancia, me da un warning, pero compila. Los métodos static no pueden usar las características no static de una clase. Ejercicio: calculadora con métodos static Rehacer la calculadora, pero convirtiendo sus cuatro métodos […]

Tipos de variables por su posición

public class VariableStatic { static int variableEstatica = 0; int variableNoEstatica = 0; public static void main(String [] args){ //Incrementamos la variable estática VariableStatic.variableEstatica++; VariableStatic.variableEstatica++; //Incrementamos la variable no estática VariableStatic variableStatic_1 = new VariableStatic(); VariableStatic variableStatic_2 = new VariableStatic(); variableStatic_1.variableNoEstatica++; variableStatic_2.variableNoEstatica++; //Mostramos resultados System.out.println(VariableStatic.variableEstatica); System.out.println(variableStatic_1.variableNoEstatica); System.out.println(variableStatic_2.variableNoEstatica); } }

Números aleatorios

Generar número aleatorio dentro de un rango Como ejemplo, si deseamos generar un número aleatorio entre 25 y 75, la sentencia sería Ejercicios números aleatorios 1. Obtener un número aleatorio entre 5 y 7. 2. Obtener una letra aleatoria de tu nombre. Tendrás que usar los siguientes códigos: Pasos para […]

Arrays

Un array es una colección de datos ordenados del mismo tipo y de longitud fija. Una vez que adjudicamos un tamaño al array, no será posible modificarlo. Hay otro tipo de datos llamado “colecciones” cuya longitud si podré modificar. Al instanciar un array debe quedar definida la longitud del mismo. […]

Ejercicio – juego del ahorcado

Realizar el juego del ahorcado. Al iniciar el programa, este deberá escoger una palabra al azar entre 3. Esta será la palabra secreta que el usuario deberá adivinar. el programa contará la cantidad de letras de la palabra escogida y creará ese número de letras (inicialmente con guiones bajos). El […]

Ejercicio – Tres en raya

Hacer el juego del tres en raya para dos jugadores. El tablero será un array de 9 posiciones. El método showTablero(String [] tablero); imprimirá el tablero, con las fichas “X” y “O” dónde correspondan. El juego tendrá un método juegaPlayer(String ficha, String [] tablero) que recibirá como parámetro de entrada el identificador del jugador […]

Modificadores de acceso

Determinan la accesibilidad de una clase, sus variables miembro y métodos. Pueden ser: privateUn elemento private sólo es accesible dentro de la propia clase en que es declarada. default (package, o friendly)Es el modo de acceso cuando no hay modifier.Se puede aplicar a una clase o a sus datos y […]

Constructores

Constructor vacío Generar constructor automáticamente:Btn dch → Source → Generate Constructor using Fields Output:Hola!!! Constructor con parámetros ¿Para qué sirve un constructor? Si no sé cuales son los parámetros que tengo que poner, puedo ponerme sobre el paréntesis de los parámetros y pulsar ctrl + space

Herencia

Es el mecanismo mediante el cual una clase deriva de otra, de manera que extiende su funcionalidad.

Constructores y herencia

Output:Se ejecuta el padreSe ejecuta el hijo ¿Qué se verá por pantalla al ejecutar el siguiente código? Todas las clases que heredan, tienen un constructor que comienza por el método super();. Si yo no escribo este método, el compilador de java lo escribe automáticamente llamando al constructor vacío del padre. […]

Polimorfismo

Es la capacidad de un objeto de adoptar diferentes formas. Una variable referencia es polimórfica cuando su tipo de declaración no coincide con el tipo del objeto al que referencia. En Java, esto se consigue gracias a la herencia y las interfaces.

Abstracción

Métodos abstractos enemos una clase “Cosa” que tiene un método “botar”. Las clases “Ladrillo” y “Pelota” heredan de “Cosa”. La clase Cosa tiene un método abstracto llamado “botar”. Es abstracto porque dependiendo de si instanciamos un ladrillo o una pelota habrá que sobrescribir el código para que bote de una […]

Interfaces

Una interface es una clase abstracta en la que todos los métodos serán métodos abstractos. Una clase que implemente una interface también deberá implementar todos sus métodos. Si no deseamos que esto ocurra, podemos añadir a la interface el modificador abstract. Una variable estática definida dentro de una interfaz será implícitamente definida como constante. […]

Clases internas

Son aquellas cuya definición está dentro de otra. Una clase interna puede sobrescribir métodos de la clase que la contiene. Output:PepeJuan Clase interna anónima (anonimous inner class) Se sobrescribe uno o varios métodos de la clase que se está instanciando en una sola operación.

Garbage Collector

Se encarga de liberar memoria asignada a objetos que ya no se utilizan. El método finalize() define que va a ocurrir cuando un objeto sea recogido por el garbage collector. No suele utilizarse, ya que no podemos determinar cuando se va a ejecutar. System.gc() sugiere al Garbage Collector que se ejecute, sin embargo […]

String Performance

Los Strings no se pueden modificar, luego cualquier operación que se haga sobre un String creará uno nuevo. Por tanto, trabajar con Strings tiene un costo considerable de Performance. Para modificar cadenas de texto usaremos StringBuffer, o a partir de la versión 4.0 de java: StringBuilder. No se deben concatenar […]

Encapsulamiento

La encapsulación impide la manipulación externa de algunas partes de los objetos. Fuerza al usuario a utilizar un método para acceder a los datos. Hace que el código sea más fácil de mantener Esto mejora la estabilidad de la aplicación, ya que el cambio directo de una variable puede afectar […]

Genéricos

Fueron introducidos en Java 5.0. Los tipos genéricos se encuentran incluidos dentro de los caracteres <>. Especifican el tipo de datos que va a almacenar, utilizar o devolver una clase o método. Genéricos en colecciones Notas No es necesaria la comprobación de tipos en tiempo de ejecución con lo cual […]

Ejercicio alta, baja, modificación y consulta en un ArrayList

La aplicación consta de 2 clases: Main y Alumno. La clase Alumno tendrá dos propiedades: nombre (String) y edad (int). Al arrancar la aplicación desde el Main se nos preguntará por la operación que deseamos hacer: Insertar un nuevo alumno. Esta opción nos solicita el nombre y la edad del […]

Ejercicio – juego de la oca

Hacer el juego de la oca. El juego constará de una clase Main desde la que se ejecuta el juego y un bean ”Jugador” con los atributos nombre(String), casilla(int), turnosRestantes(int). Al comenzar la aplicación se nos solicitará indicar el número de jugadores. Crearemos las instancias de los jugadores pertinentes y […]

Recorrer un Map

Transformar un Map en una Collection Recuperar un map a partir de las claves El método keySet() devuelve un set de claves. Luego, recuperaré los valores del map utilizando las claves que acabo de almacenar en el Set. Recorrer un Map (2 formas)

Sobreescritura del equals

Sobreescritura del equals Ejercicio Hacer una clase llamada Deposito que tiene un nombre, un largo, un ancho y un alto. Hacer un método equals (y su correspondiente) que devolverá true cuando dos depósitos tengan el mismo volumen (largo*ancho*alto). Sobreescritura del hashcode Este método sirve para comparar objetos dentro de una […]

Excepciones

En tiempo de compilación (checked exceptions): Heredan de java.lang.Exception. El compilador nos obligará a controlarlas mediante un bloque Try/Catch o un throws. En tiempo de ejecución (unchecked exceptions): Heredan de java.lang.RuntimeException. Es la única Exception que no es comprobada por el compilador. Un error también se produce en tiempo de ejecución, aunque […]

Enumeraciones

Los tipos enumerados sirven para restringir la selección de valores a algunos previamente definidos Output:BATERIA Declarar constructores, métodos y variables dentro de un tipo enumerado:

Hilos

Para usarlos puedo extender thread o implementar Runnable Dos ejemplos de hilos en la vida real Cuando se venden las entradas del concierto de Madonna. En poco segundos todas las entradas quedan agotadas debido a la gran demanda. El proceso que materializa la compra de la entrada no debe ser […]

Aviso Legal | Política de privacidad