Want to create interactive content? It’s easy in Genially!

Get started free

MODULO PROGRAMACION 1

Angeles

Created on November 4, 2023

Start designing with a free template

Discover more than 1500 professional designs like these:

Transcript

Programación y Bases de Datos

Primera Actividad

BT1 - Programación Estructurada y Programación Orientada a Objetos

MP0485 - Módulo Profesional: Programación

DAW - Técnico Superior en Desarrollo de Aplicaciones Web

María de los Ángeles Gey Piñeiro

Introducción a la tecnología Java

Índice

1. Introducción a la tecnología Java

Descripción de Java, JDK, JRE, JVM, IDE

2. Elementos esenciales del lenguaje Java

Variables, operadores, control de flujo, etc

Introducción a la tecnología Java

1. Qué es Java

2. La plataforma Java

3. Máquina Virtual de Java (JVM)

4. Principales características

5. Vídeo repaso

6. Entornos Integrados de Desarrollo (IDE)

7. Test de autoevaluación

Introducción a la tecnología Java

¿Que es Java?

Java es un lenguaje de programación orientada a objetos y una plataforma informática, creado por Sun Micorsystems Inc en 1990, que incluye los siguientes elementos:

  • Un lenguaje de programación: Java
  • Bibliotecas de Java: un conjunto de bibliotecas que ofrecen apoyo para el desarrollo en Java: bibliotecas estándar que vienen incluidas en la plataforma y que son necesarias en todo entorno Java, es el Java Core; bibliotecas de integración que permiten la comunicación con sistemas externos; bibliotecas para la interfaz de usuario; etc
  • JRE (Java Runtime Environment, o Entorno en Tiempo de Ejecución de Java): es el software necesario para ejecutar cualquier aplicación desarrollada para la plataforma Java. Un entorno de ejecución que en definitiva es una máquina virtual que ejecuta los programas traducidos a bytecodes. El usuario final usa el JRE como parte de paquetes software o plugins (o conectores) en un navegador Web.
  • JDK (Java Development Kit), en cuyo seno reside el JRE, incluye un conjunto de herramientas para el desarrollo de programas, como es el compilador de bytecodes, el generador de documentación (Javadoc), un depurador, etc.
  • JVM (Java Virtual Machine): encargada de la ejecución del programa

Introducción a la tecnología Java

Plataforma Java

Actualmente existen varias ediciones de la plataforma Java y que se pueden resumir en las siguientes:

Java SE (Java Platform, Standard Edition) o J2SE

Java EE (Java Platform, Enterprise Edition) o J2EE

Java ME (Java Platform, Micro Edition) o J2ME

Es la plataforma base para desarrollo de aplicaciones en Java y sobre la que se cimientan el resto de plataformas Java. Es usado para desarrollar aplicaciones de escritorio, applets y otros tipos de aplicaciones. Dentro de estas funcionalidades básicas de Java encontramos: el uso de colecciones, acceso a ficheros con Java IO y NIO y bases de datos con JDBC, librerías para la fecha y hora, posibilidad de crear aplicaciones multi-hilo, capacidades para realizar conexiones en red…

Es una plataforma de desarrollo para aplicaciones empresariales y del lado del servidor. Incluye tecnologías como Servlets, JSP o EJB. Java EE nos permite realizar el desarrollo de servicios, ya sean WSDL (con JAX-WS), REST (con JAX-RS), o la creación de websockets.Además ofrece un API de persistencia de objetos con JPA, capacidades de mensajería con Java Message, de correo electrónico con Java Mail o gestión de procesos batch.

Es una plataforma de desarrollo de aplicaciones Java orientada a entornos de limitados recursos como son los dispositivos móviles, PDAs (Personal Digital Assistant), etc.

Introducción a la tecnología Java

Máquina Virtual de Java (JVM)

Java es un lenguaje interpretado, es decir, se puede ejecutar en cualquier máquina que disponga de un intérprete Java. A este intérprete se le llama Java Virtual Machine (JVM) o máquina virtual de Java. Esta característica hace que los programas Java sean independentes de la plataforma o sistema operativo donde se ejecuten.

¿Cómo funciona?

Código fuente

MiPrograma.java

El código fuente de Java se escribe en archivos .java durante la fase de programación.

Compilador

javac MiPrograma.java

Al compilarlo no se crea directamente el código máquina como sucede con otros lenguajes de programación, sinó que se traducen a un código intermedio llamado bytecodes en archivos .class.

Byte-Code

MiPrograma.class

Los bytecodes son instrucciones que se ejecutan en cualquier Máquina Virtual de Java (JVM) donde el intérprete lo convierte a lenguaje máquina de la computadora donde está instalado. De esta manera el código es independiente de la máquina donde se vaya a ejecutar, sólo es necesario que disponga de la Máquina Virtual de Java: “Write once, run everywhere”.

JVM

JVM

JVM

java MiPrograma

Introducción a la tecnología Java

Características principales de Java

En el siguiente diagrama se representan las principales características de Java. Haz click en cada una de ellas para ver el detalle:

Bibliotecas de clases

Robusto

Orientado a Objetos

Java

Portable

Sencillo

Distribuido

Seguro

Multithread

Introducción a la tecnología Java

Vídeo repaso

Veamos en este vídeo un poco más sobre la plataforma Java y su historia.

Introducción a la tecnología Java

Entornos Integrados de Desarrollo (IDE)

Los Entornos Integrados de Desarrollo o IDEs son aplicaciones que ofrecen la posibilidad de llevar a cabo el proceso completo de desarrollo de software a través de un único programa: edición de código, compilación, depuración, detección de errores, corrección y ejecución de programas escritos en Java o en otros lenguajes de programación, bajo un entorno gráfico (no mediante línea de comandos).

Sigue las instrucciones de este video para preparar tu entorno de desarrollo con el JDK y el IDE Eclipse

Existen en el mercado multitud de entornos de desarrollo para el lenguaje Java: de libre distribución (NetBeans, Eclipse, BlueJ, etc), de pago (IntelliJ IDEA, JCreator, JDeveloper, etc), para principiantes, para profesionales, que consumen más recursos, que son más ligeros, más amigables, más complejos que otros, etc.

Junto a las capacidades descritas, cada entorno añade otras que ayudan a realizar el proceso de programación, como por ejemplo: código fuente coloreado, plantillas para diferentes tipos de aplicaciones, creación de proyectos, etc.

" Ponte a prueba!!!!"

Accede y completa el test de autoevaluación.

Elementos esenciales del lenguaje JAVA

1. Tipos de datos

2. Variables

3. Constantes

4. Operadores

5. Conversión de tipo

6. Estructura de un programa

7. Estructuras de control de flujo

8. Test de autoevaluación

Elementos esenciales del lenguaje Java

Tipos de datos

En el primer tema hemos visto que es Java y hemos preparado el entorno de programación. Continuemos ahora viendo los elementos fundamentales del lenguaje Java.

¿Qué son los algoritmos y programas?

Un algoritmo es una secuencia ordenada de pasos, descrita sin ambigüedades, que conducen a la solución de un problema dado. Un programa es un algoritmo escrito en un determinado lenguaje de programación.

¿Qué es un dato?

En el ámbito de la programación un dato es una cifra, letra o palabra que maneja un programa para, por ejemplo, hacer cálculos, presentarlos en pantalla, enviarlos a la impresora, guardarlos en disco...

entonces ¿qué son los tipos de datos?

Es una manera de clasificar los datos según sus características.

Tipos de datos primitivos

Los tipos primitivos son aquellos datos sencillos que constituyen los tipos de información más habituales: números, caracteres y valores lógicos o booleanos.

¿Por qué hay tantos tipos de datos para números enteros?

Se diferencian por el tamaño, es decir, por lo que ocupan en memoria.

Elementos esenciales del lenguaje Java

Variables

Ahora que hemos visto qué es un dato y los tipos primitivos de datos en Java veamos cómo se usan en un programa.

¿Como maneja un programa esos datos?

El programa guarda los datos en variables. Una variable es una zona en la memoria del ordenador donde el programa guarda un valor para usarlo más tarde. Para acceder al valor guardado en una variable, esta tiene un nombre que será su identificador. La declaración de una variable es la asignación de un tipo de dato y un identificador. La inicialización es la asignación de un valor a la variable, es decir, indicar que valor se guardará en el espacio de memoria identificada con la variable.

identificador

...¿como se declara e inicializa una variable en Java?

tipo de dato

Para declarar una variable se debe indicar el tipo de dato que queremos guardar y el nombre de la variable. Para inicializarla se debe poner el operador = y el valor a guardar.

valor

miNumero

int

123456

Elementos esenciales del lenguaje Java

Constantes

Una constante es un espacio en la memoria del ordenador que almacena un valor que NO puede variar durante la ejecución de un programa. Las variables y las constantes sirven para guardar datos pero la diferencia es que el valor de la variable puede cambiar durante la ejecución del programa mientras que el valor de la constante no puede variar.

identificador

modificador

valor

21

IVA

short

final

tipo de dato

Para practicar:

  • asignar un valor distinto a la constante (por ejemplo: cambiar el 18 por 21) y ejecutar, ¿cual es el resultado?
  • cambiar el valor de la constante después de haberla declarado y ejecutar, ¿cual es el resultado?

Elementos esenciales del lenguaje Java

Expresiones y Operadores

Una expresión es una combinación de variables, operadores y llamadas de métodos que devuelve un valor. Los operadores son símbolos especiales que en general se usan en expresiones para realizar una operación con los datos pasados como operandos. A continuación se muestran los distintos tipos de operadores

Aritméticos

Relacionales

De bits

+ - * / % ++ - -

== != > < >= <=

~ & | ^ << >> >>>

Se usan en expresiones matemáticas o aritméticas y devuelven un número.

Se usan para comparar datos y devuelve un booleano.

Se usan para relizar operaciones a nivel de bits (poco frecuentes)

Precedencia de operadores

Orden de precedencia de los operadores.

Lógicos

Asignación

Otros

&& || !

= += -= *= /= %=

?: (tipo) expr str+str

Se usan para evaluar condiciones y devuelven un booleano.

Se usan para asignar un valor a una variable

Otros operadores de Java de uso frecuente

Elementos esenciales del lenguaje Java

Conversiones de tipo

Las conversiones de tipo se realizan para hacer que el resultado de una expresión sea del tipo que nosotros deseamos. Existen dos tipos de conversiones:

Conversiones Explícitas

Conversiones automáticas

Cuando hacemos una conversión de un tipo con más bits a un tipo con menos bits. En estos casos debemos indicar que queremos hacer la conversión de manera expresa, ya que se puede producir una pérdida de datos y hemos de ser conscientes de ello. Este tipo de conversiones se realiza con el operador cast. El operador cast es un operador unario que se forma colocando delante del valor a convertir el tipo de dato entre paréntesis. Tiene la misma precedencia que el resto de operadores unarios y se asocia de derecha a izquierda. Las conversiones explícitas también suelen ser conocidas como casting.

Cuando a una variable de un tipo se le asigna un valor de otro tipo numérico con menos bits para su representación, se realiza una conversión automática. En ese caso, el valor se dice que es promocionado al tipo más grande (el de la variable), para poder hacer la asignación. También se realizan conversiones automáticas en las operaciones aritméticas, cuando estamos utilizando valores de distinto tipo, el valor más pequeño se promociona al valor más grande, ya que el tipo mayor siempre podrá representar cualquier valor del tipo menor (por ejemplo, de int a long o de float a double).

Elementos esenciales del lenguaje Java

Estructura de un programa

Cualquier programa en Java tiene, al menos, una clase con un método especial que se llama main. El método main es un método especial que le dice a la JVM que clase es la principal dentro del programa.

A la hora de ejecutar el código, el entorno de ejecución de Java (JRE) busca un método llamado main. Si no lo encuentra, no puede acceder. Es por ello que puedes considerar main como una palabra clave de acceso. Si la cambias, tu aplicación no se ejecutará.

Elementos esenciales del lenguaje Java

Estructuras de control de flujo

Las estructuras de control determinan la secuencia de ejecución de las sentencias de un programa.

Estructuras de control

Estructuras de control de flujo

Estructura secuencial

Estructura condicional

Estructura repetitiva

Instrucciones de salto

if simple

while

break

if - else

do - while

continue

if anidados

for

switch

" Ponte a prueba!!!!"

Accede y completa el test de autoevaluación.

¡Lección aprendida!

¡Buen trabajo!

Bibliografía y recursos

Recursos de consulta en los que está basada esta unidad didáctica

01

Apuntes del IES San Clemente

02

WIKILIBROS: Programación_en_Java

03

UNIDAD 4. INTRODUCCIÓN A JAVA. (2019/2020). Carlos Cacho y Raquel Torres. Centre específic d'educació a distància de la Comunitat Valenciana. https://github.com/lionel-ict/ApuntesProgramacion/blob/master/Unidad%204%20Introducci%C3%B3n%20a%20Java/ud4_Introduccion_a_Java.pdf

04

Java (lenguaje de programación). (2023, 16 de noviembre). Wikipedia, La enciclopedia libre. Fecha de consulta: 20:16, noviembre 16, 2023 desde https://es.wikipedia.org/w/index.php?title=Java_(lenguaje_de_programaci%C3%B3n)&oldid=155423920.

05

Apuntes de Programación de Javier Gutiérrez.

06

Iconos e imágenes de Flaticon

07

Videos manual Java de @originpathVlog

Ejemplo

Prueba en el código de ejemplo un uso de conversión de tipo para evitar un error de posible pérdida de precisión al asignar un valor de una variable a otra variable.Sigue los comentarios en el código para realizar la prueba

Lenguaje Orientado a Objetos

Java es un lenguaje totalmente orientado a objetos. Todo en Java son objetos, excepto los tipos de datos primitivos, por lo que le confiere toda la potencialidad de este paradigma de programación:

  • reutilización de código
  • encapsulación
  • polimorfismo
  • herencia

Todos estos conceptos se verán más en detalle en el tema de Programación Orientada a Objetos (POO).

Multithread

Java soporta de modo nativo los threads, sin necesidad del uso de librerías específicas (como es el caso de C). Esto le permite además que cada thread (hilo) de una aplicación java pueda correr en una CPU (o core) distinta, si la aplicación se ejecuta en una máquina que posee varias CPU. De este modo, mientras un hilo se encarga de la comunicación, otro puede interactuar con el usuario mientras otro presenta una animación en pantalla y otro realiza cálculos.

Comentario de varias líneas

/* Comentario de varias lineas, todo el texto aqui dentro es un comentario.*/

Los comentarios de implementación se utilizan para explicar el código fuente del programa. Todo el texto entre los caracteres /* y */ es un comentario de implementación, por lo tanto no forma parte del programa, ypuede tener varias líneas.

Portable

En Java no hay aspectos dependientes de la implementación, todas las implementaciones de Java siguen los mismos estándares en cuanto a tamaño y almacenamiento de los datos. Esta característica y la Máquina Virtual de Java (JVM) proporciona a los programas Java la capacidad de poder ejecutarse en cualquier computador.

Al ejecutar el código despues de cambiar el valor asignado en la declaración de la constante (línea 7), en el ejemplo se ha cambiado el valor 18 por el valor 21, en la consola de salida aparece el texto "El valor de la constante es 21".

Sentencias / Instrucciones

String saludo = "Hola mundo"; // Sentencia 1System.out.println(saludo); // Sentencia 2

Una sentencia o una instrucción representa una unidad de ejecución, la tarea más sencilla que se puede realizar en un programa. Las sentencias terminan siempre en ;

  • declaración de variables: String saludo = "Hola mundo";
  • llamada a métodos, por ejemplo para imprimir por pantalla: System.out.println(saludo);
  • expresión con algún tipo de operador: saludo += "!!!"
  • expresión de creación de objetos: Integer objInt = new Integer(4);

Un bloque de sentencias es un grupo de cero o más sentencias que se inicia con una llave abierta, carácter {, y termina con una llave cerrada, carácter }.

Operadores aritméticos

Los operadores aritméticos son aquellos operadores que combinados con los operandos forman expresiones matemáticas o aritméticas.

Lenguaje fuertemente tipado

Java es un lenguaje fuertemente tipado o tipificado. Esto quiere decir que es necesario especificar el tipo de dato para cada una de las variables y constantes que se vayan a utilizar en un programa El tipo de dato limita el valor de la variable o expresión, las operaciones que se pueden hacer sobre esos valores, y el significado de esas operaciones. La comprobación del tipo de dato de una variable se realiza en tiempo de compilación por lo que permite detectar errores antes de su ejecución. Por ejemplo, cuando se intenta asignar un valor de un tipo a una variable de otro tipo el compilador mostrará un mensaje de error. Sin embargo, en Java, puede haber conversión entre ciertos tipos de datos, como veremos posteriormente.

Comentario de una línea

// Comentario de una linea

Los comentarios de implementación se utilizan para explicar el código fuente del programa. Con los caracteres // se indica que todo el texto de la línea a continuación de dichos caracteres es un comentario, por lo tanto no forma parte del programa.

Los programas consumen memoria y en función del consumo de memoria van más rápidos o más lentos.

Estructura Condicional Doble

Mediante esta estructura de control el flujo de ejecución del programa puede seguir dos caminos distintos dependiendo del valor de una condición.

if (condicion) { sentenciaA; } else { sentenciaB; }

Se evalúa la condición y si se cumple se ejecuta un bloque de instrucciones. Si no se cumple se ejecuta otro bloque de instrucciones.

  • Introduce una letra en la pestaña Entrada y ejecuta el código, ¿cual es el resultado en la pestaña Salida?
  • Introduce un número entero en la pestaña Entrada, ejecuta el código y comprueba la pestaña Salida, ¿es un número par o impar?

Al asignar a la constante otro valor (línea 12) después de su declaración (línea 7) devuelve un error de compilación. Sin embargo, si se elimina el modificador final de la declaración de la constante ya no devuelve error porque ya no es una constante, sería una variable.

Otros operadores

El lenguaje Java tiene otros operadores. En la siguiente tabla se destacan algunos de los más frescuentes.

Estructura Condicional Múltipe

La estructura condicional múltiple se obtiene encadenando sentencias if ... else. Mediante esta estructura podemos construir estructuras de selección más complejas.

if (condicion) { sentenciaA; } else { if(condicion2) { sentenciaB; } else { sentenciaC; }

  • Introduce distintos valores en la petaña de entrada y ejecuta el programa, ¿cual es el resultado en la pestaña Salida?

Instrucción de salto break

Esta instrucción provoca la finalización de una instrucción switch, while, do-while o for. En aquellos casos en los que existan estructuras de control repetitivas anidadas, un break produce la salida inmediata de aquel bucle en el que se encuentre incluida pero no de los demás. La única situación en la que un buen programador debería utilizar la instrucción break, es para separar los diferentes casos de una instrucción switch.

En este ejemplo, cuando se ejecuta la instrucción break el for finaliza y la ejecución del programa continúa en la instrucción que aparece a continuación del for.

Operadores de bits

Los operadores a nivel de bits se caracterizan porque realizan operaciones sobre números enteros (o char) en su representación binaria, es decir, sobre cada dígito binario.Son operadores de uso poco frecuente y muy específico.

Lorem ipsum dolor
Operadores de asignación

El principal operador de esta categoría es el operador asignación "=" que permite al programa darle un valor a una variable, que ya hemos utilizado en varias ocasiones en esta unidad. Además de este operador, Java proporciona otros operadores de asignación combinados con los operadores aritméticos, que permiten abreviar o reducir ciertas expresiones.

Ejemplo

En el código se muestra un ejemplo de la conversación implícita al asignar el valor de una variable a otra variable de tipo con mayor rango (no hay pérdida de precisión y la conversión es automática)

Para practicar:
  • Cambia el valor de la variable por otro número entero, por ejemplo el 3, y ejecuta el código. ¿Cual es el resultado?
  • Cambia de nuevo el valor de la variable, esta vez pon el valor 3.1 ¿Qué pasa al ejecutar?
  • Cambia ahora el tipo de la variable, en vez de int pon double y ejecuta. ¿Qué sucede ahora?

Estructura repetitiva do...while

Las instrucciones se ejecutan mientras la condición sea evaluada a true.

do { sentencia; } while (condicion);

En un ciclo while la condición se comprueba al final del bucle por lo que el bloque de instrucciones se ejecutan al menos una vez. Si la condición nunca cambia tendremos un bucle infinito y el programa nunca terminará por lo que lo normal es modificar la expresión de la condición dentro del bloque while en algún momento para salir del bucle.

¿Que sucede si inicializamos la variable contador en la línea 7 con el valor 11?

Instrucciones de salto

Una instrucción de salto provoca la modificación del flujo de ejecución de un programa. En general no son muy recomendables y su uso debería estar restringido a situaciones especiales.

  • break
  • continue

Java ofrece dos instrucciones de salto:

El nombre de la constante:

Buenas prácticas según la convención de nombres de Java

  • debe tener todas las letras en mayúculas
  • no puede contener espacios; si está compuesto de varias palabras, irán separadas por un guión bajo "_"
  • java es case sensitive, es decir, distingue mayúsculas de minúsculas (no es lo mismo FINAL que final). Por esta razón, al escribir el nombre de las constantes en mayúscula no hay problemas con las palabras reservadas, las cuales tienen todas sus letras en minúsculas.

Ver la lista de palabras reservadas de Java

Truco para asimilar estos conceptos
  • Imagina que la memoria del ordenador es como un almacén.
  • las cajas serían las variables, espacios donde guardar cosas
  • la cajas tienen un código de barras para identificarlas, lo mismo sucede con el nombre de la variable
  • en la caja se indica el tipo de material que contiene, por ejemplo bolígrafos, igual que el tipo de una variable indica el tipo de valor que se guardará en ella.

Estructura switch

switch (expresion) { case valor1: sentenciaA; break; case valor2: sentenciaB; break; ... default: sentenciaN; break; }

Esta estructura de control se utiliza para seleccionar una de entre múltiples opciones posibles. La instrucción switch no permite que la variable o expresión sea del tipo float o double.

Funcionamiento de la instrucción switch:

  • Primero se evalúa la expresión y salta al case cuyo valor coincida con el valor de la expresión.
  • Se ejecutan las instrucciones que contiene el case seleccionado hasta que se encuentra un break o hasta el final del switch.
  • Si el valor de la expresión no coincide con ningún case se ejecuta el bloque default.

Distribuido

Java está muy orientado al trabajo en red, soportando protocolos como TCP/IP, UDP, HTTP y FTP. Java dispone de librerías que proporcionan una colección de clases para su uso en aplicaciones de red, que permiten abrir sockets y establecer y aceptar conexiones con servidores o clientes remotos, facilitando al programador las tareas del tratamiento de la información a través de redes para la creación de aplicaciones distribuidas.

Declaración de clase

public class Main {

En Java todo el código debe ser colocado dentro de una declaración de clase.

  • public: indica que la clase es de acceso público, es decir, accesibl desde otras clases de otros paquetes (los paquetes son colecciones de clases)
  • class: palabra reservada de Java que indica que se trata de una clase.
  • Main: nombre que será el identificador de la clase. Los nombres de clases empiezan en mayúscula.
  • {: indica el inicio de un bloque (puede ir en la misma línea o en la siguient).

Seguro

La seguridad está garantizada, ya que las aplicaciones Java no acceden a zonas delicadas de memoria o de sistema. Java incorpora mecanismos específicos para garantizar la seguridad del sistema. Por una parte, todo el código se ejecuta dentro de la máquina virtual y por otra, cuando se cargan los bytecodes existe un proceso de verificaicón de los mismos antes de que se ejecuten.

Ejemplos de tipos de datos

tipo de dato: número decimal

tipo de dato: palabra

3,1

2,4

1,5

8,6

gato

casa

pez

árbol

tipo de dato: letra

tipo de dato: número entero

Estructura condicional

Es una de las estructuras que permiten modificar el orden de ejecución de las instrucciones del programa.Una estructura condicional determina si se ejecutan unas acciones u otras según se cumpla o no una determinada condición.La condición que se comprueba para decidir si unas instrucciones se ejecutan o no debe ser una expresión booleana es decir debe dar como resultado un valor booleano true ó false.

  • Instrucción if:
    • condición simple: if
    • condición doble: if... else ...
    • condición múltiple o if anidados: if... else if ...
  • Instrucción switch (condición múltiple)
  • Operador condicional ?: (ya visto en operadores)

En java la estructura condicional se implementa mediante:

Declaración del método main

public static void main(String[] args)

El método main() es el punto de inicio de un programa Java y es necesario colocar toda la declaración exactamente:

  • public: palabra reservada de Java que indica que es de acceso público, accesible fuera de la clase
  • static: palabra reservada de Java que indica que se puede ejecutar sin una instancia de la clase
  • void: palabra reservada de Java que indica que el método main() no devuelve ningún valor
  • main(): nombre del método que indica que se trata del punto de entrada para la ejecución del programa.
  • String args[]: almacena los parámetros que se le pasan al programa, es decir, los parámetros de entrada que pueden ser números enteros, caracteres, etc. aunque siempre se pasan como String y debe realizarse la conversión de tipo dentro del programa.
  • {: indica el inicio de un bloque, puede ir en la misma línea o en la siguiente. En este caso las sentencias de las que se compone el método main();
Tipos primitivos en Java

Son los tipos de datos elementales de un lenguaje de programación, los más simples. Con estos tipos de datos se pueden crear otros tipos más complejos, pero esto lo veremos más adelante.

Lenguaje sencillo

Java es un lenguaje sencillo de aprender. Su sintaxis es la de C++ "simplificada". Los creadores de Java partieron de la sintaxis de C++ y trataron de eliminar de este todo lo que resultase complicado o fuente de errores en este lenguaje: la herencia múltiple, la aritmética de punteros, o la gestión de memoria . El "Recolector de Basura" o "Garbage collector" es una herramienta incluida en la plataforma Java que comprueba que memoria puede liberarse y la libera automáticamente sin necesidad de realizarlo el programador explícitamente.

Precedencia de operadores

El orden de precedencia de los operadores determina la secuencia en que deben realizarse las operaciones cuando en una expresión intervienen operadores de distinto tipo. Las reglas de precedencia de operadores que utiliza Java coinciden con las reglas de las expresiones del álgebra convencional. En la tabla se muestra el orden de precedencia de mayor a menor.

Bibliotecas de clases

Java dispone de numerosas librerías o bibliotecas de clases Java que proporcionan al programador de paquetes de clases últiles para la realización de múltiples tareas dentro de un progama facilitando el desarrollo. Las bibliotecas de clases están organizadas en paquetes lógicos donde cada paquete contiene un conjunto de clases relacionadas semánticamente. Estas clases contienen métodos que son últiles para los programadores. Hay bibliotecas que forman parte de la API de Java distribuidas gratuitamente junto con la JDK (Java Develpment Kit) y bibliotecas desarrolladas por terceros.

Operadores de relación

Los operadores relacionales se utilizan para comparar datos de tipo primitivo (numérico, carácter y booleano). Estas expresiones en Java dan siempre como resultado un valor booleano true o false.

Instrucción de salto continue

Esta instrucción provoca la ejecución de la siguiente iteración en el bucle, es decir, se salta las instrucciones que quedan hasta el final del bucle, y vuelve al inicio del mismo. Si se trata de un bucle for vuelve a la zona de incremento/decremento.Un buen programador deberá evitar el uso de esta instrucción.

En este ejemplo, el programa muestra los números desde el 1 hasta el 50 excepto los que sean múltiplos de 3 y de 5.

Robusto

Java fue diseñado para crear software altamente fiable. Para ello proporciona numerosas comprobaciones en compilación y en tiempo de ejecución. Sus características de memoria liberan a los programadores de una familia entera de errores (la aritmética de punteros), ya que se ha prescindido por completo de los punteros, y la recolección de basura elimina la necesidad de liberación explícita de memoria.

Estructura secuencial

Las sentencias de un programa se ejecutan por defecto en orden secuencial. Esto significa que las instrucciones se ejecutan en secuencia, una a continuación de la otra, en el orden en que aparecen escritas dentro del programa (de izquierda a derecha y de arriba abajo).

El nombre de la variable

Buenas prácticas según la convención de nombres de Java

  • deben ser cortos y describir el propósito del contenido que van a almacenar
  • el primer caracter debe ser una letra minúscula
  • no puede contener espacios; si está compuesto de varias palabras, irán en minúsculas con la primera letra de cada palabra en mayúscula exceptuando la primera
  • no deben empezar con caracteres como subrayado "_" o "$"
  • hay una serie de palabras reservadas que no pueden ser usadas como identificadores.

Ver la lista de palabras reservadas de Java

Estructura repetitiva for

for(inicialización; condición; incremento/decremento) { instrucciones;} //fin for

Un for hace que una instrucción o bloque de instrucciones se repitan un número determinado de veces mientras se cumpla la condición. Los bucles for son los más adecuados cuando se conoce el número de veces que se van a repetir las instrucciones.

  • La expresión de inicialización solo se ejecuta una vez, cuando empieza el bucle.
  • La condición se evalúa en cada iteración y cuando es false el bucle termina.
  • La expresión de incremento/decremento se ejecuta en cada iteración y aumenta o disminuye el valor que se evalúa en la condición

Estructura repititiva o iterativa

Esta estructura de control permite ejecutar de forma repetida una instrucción o un bloque de instrucciones.Las instrucciones se repiten mientras que se cumpla una determinada condición.Esta condición se conoce como condición de salida del bucle.

  • bucle while
  • bucle do ... while
  • bucle for

En java la estructura condicional se implementa mediante:

Lenguaje fuertemente tipado

Java es un lenguaje fuertemente tipado o tipificado. Esto quiere decir que es necesario especificar el tipo de dato para cada una de las variables que se vayan a utilizar en un programa El tipo de dato limita el valor de la variable o expresión, las operaciones que se pueden hacer sobre esos valores, y el significado de esas operaciones. La comprobación del tipo de dato de una variable se realiza en tiempo de compilación por lo que permite detectar errores antes de su ejecución. Por ejemplo, cuando se intenta asignar un valor de un tipo a una variable de otro tipo el compilador mostrará un mensaje de error. Sin embargo, en Java, puede haber conversión entre ciertos tipos de datos, como veremos posteriormente.

Estructuras de control de flujo

Las instrucciones se ejecutan generalmente una a continuación de la otra según la secuencia en la que el programador ha escrito el código. Sin embargo, hay ocasiones en las que es necesario romper esta secuencia de ejecución para hacer que una serie de instrucciones se ejecuten o no dependiendo de una determinada condición o hacer que una serie de instrucciones se repitan un número determinado de veces.Las estructuras de control permiten modificar el orden natural de ejecución de un programa.

Comentarios de documentación en Java (javadoc)

/** comentario */

Los comentarios no forman parte del programa y se utilizan para documentar el código. Los comentarios de documentación son comentarios especiales para generar la documentación del código Java (javadoc). Todo el texto dentro de /** y */ es un comentario javadoc. Existe un conjunto de indicadores que javadoc reconoce como especiales y empiezan por @, por ejemplo:

  • @author: nombre del desarrollador
  • @return: describe el valro devuelto de un método
  • @version: versión del método o clase

La sintaxis para generar el javadoc es la siguiente:

javadoc [ opcións ] [ fichero.java ]

Estructura repetitiva while

Las instrucciones se repiten mientras la condición sea evaluada a true.

while (condicion) { sentencia; }

En un ciclo while la condición se comprueba al principio del bucle por lo que las instrucciones que lo forman se ejecutan 0 ó más veces. Si la condición nunca cambia tendremos un bucle infinito y el programa nunca terminará por lo que lo normal es modificar la expresión de la condición dentro del bloque while en algún momento para salir del bucle.

¿Que sucede si inicializamos la variable contador en la línea 7 con el valor 11?

Importar librerías o bibliotecas

import java.util.*;

Al inicio de un fichero Java importamos las librearías a usar. En este caso se está importando la librería estándar de Java: java.util. En concreto, al usar el * estamos importando todas las clases dentro del paquete java.util. Por ejemplo:

  • List<E>: listas de datos de tipo E
  • Map<K,V>: colección de valores en modo clave(de tipo K)-valor(de tipo V)
  • Calendar: clase que representa una fecha y proporciona operaciones útiles con fechas

Estructura Condicional simple

La usaremos para decidir si una instrucción o bloque de instrucciones se ejecuta o no dependiendo de una condición.

if (condicion) { sentencia; }

Se evalúa la condición y si se cumple se ejecuta. Si no se cumple la condición, se salta dicho grupo de instrucciones y pasa a la siguiente instrucción.

  • Introduce una letra en la pestaña Entrada y ejecuta el código, ¿cual es el resultado en la pestaña Salida?
  • Introduce un número en la pestaña Entrada y ejecuta el código, ¿cual es el resultado en la pestaña Salida?
Operadores lógicos

Los operadores lógicos realizan operaciones sobre valores booleanos, o resultados de expresiones relacionales, dando como resultado un valor booleano.Existen ciertos casos en los que el segundo operando de una expresión lógica no se evalúa para ahorrar tiempo de ejecución, porque con el primero ya es suficiente para saber cuál va a ser el resultado de la expresión. Es el caso de los operadores && y ||.