Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Documentos relacionados
AGRUPA P R OBJET E OS 1

CAPITULO 4. AGRUPAR OBJETOS

TEMA 4. ESTRUCTURAS DE CONTROL

Tema 2. El lenguaje JAVA

fundamentos de programación (unidad 4) programación estructurada en Java

5. Sentencias selectivas o condicionales

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Ciclos. Recordando Estructuras de Control Básicas: SELECCIÓN (condición) SECUENCIAL

Fundamentos de programación

Java para programadores

PHP y MySQL. Indice: Switch Bucles For While do...while

Estatutos de Control C# Estatutos de Decisión (Selección)

Programcaión Básica. Secuencias de Control y Repetición. Arturo Vega González.

Un identificador le da nombre único a un elemento en un programa (Variables, procedimientos, etc.). No puede contener operadores como + - * /

Instrucciones de control

Estructuras de control

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.

REFERENCIA DEL LENGUAJE

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Parte 4: Estructuras de Control

Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Java para no Programadores

Estructuras de Control

PHP: Lenguaje de programación

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

1. Cuántas sentencias hay en la secuencia principal del siguiente programa?

CONCEPTOS BASICOS DEL LENGUAJE JAVA

Introducción a las sentencias de control

INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B)

Microprocesadores. Introducción al Lenguaje C - Parte III. Prof. Luis Araujo. Universidad de Los Andes

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Programación Orientada a Objetos

PROGRAMACION ORIENTADA A OBJETOS Ingenieria Informática Final Febrero 2006/07

Estructuras Repetitivas

ESTRUCTURAS REPETITIVAS EN PHP

Operadores de comparación

Tema 9. Algoritmos sobre listas. Programación Programación - Tema 9: Algoritmos sobre listas

ESTRUCTURAS REPETITIVAS

FACULTAD DE INGENIERÍA

Estructuras de Control 3

Fundamentos de la Programación Orientada a Objetos Agrupación de objetos. Colecciones e iteradores

Clase adicional 2. Estructuras básicas de control. Temas

Elementos léxicos del lenguaje de programación Java

Apunte JAVA + SVN. Emi Höss

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Estructuras en LabVIEW.

FUNDAMENTOS DE INFORMÁTICA

Curso de Java Introducción a la Programación III

Elementos de un programa en C

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA

Diagramas de secuencia

Fundamentos del Lenguaje de Programación Java

Centro Asociado Palma de Mallorca Tutor: Antonio Rivero Cuesta

4. Operadores Operador asignación

INTELIGENCIA EN REDES DE COMUNICACIONES PRÁCTICA FINAL. Ignacio Ribas Ramos Miguel Flecha Lozano Ingeniería de Telecomunicaciones

1.2. Es Java un lenguaje ideal para aprender a programar? 1.4. Cuáles son las versiones y distribuciones Java y cuál usar?

Herramientas de Programación. M.C. Juan Carlos Olivares Rojas

Guía práctica de estudio 05: Diagramas de flujo

Práctica 3 mtp. metodoloxía e tecnoloxía da programación. Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java.

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;

Tema 5 Sentencias de control de flujo. Fundamentos de Informática

Índice general. Capítulo 1 Conceptos básicos. Capítulo 2 Controles básicos I. Pág. N. 1

FUNDAMENTOS DE INFORMÁTICA

Arrays. Programación. Licenciatura de Lingüística y Nuevas Tecnologías

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS

CALENDARIO AÑO 2016 PICO Y PLACA AUTOMOVILES SERVICIO ESPECIAL PICO Y PLACA TAXIS

LENGUAJE. Tema 2 Elementos de un programa

Computación III. Objetivo de aprendizaje del tema

3.2. Programación estructurada. Principal. Modulo 1 Modulo 2 Modulo 3 Modulo 4. Modulo Modulo Modulo 3 1 Modulo 4 1 Modulo 4 2. Pág.

Colecciones. Nadjet Bouayad-Agha Programación 2007

Tema 7.- Fundamentos de la Programación Orientada a Objetos

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

Herramientas computacionales para la matemática MATLAB: Estructuras de control

Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez

Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas

media = ( temp0 + temp1 + temp2 + temp3 + temp temp23 ) / 24; printf( "\nla temperatura media es %f\n", media );

JavaScript. Contenidos. Introducción El lenguaje Validación de formularios. Programación en Internet DLSI - Universidad de Alicante 1

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable.

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

Modulo 1 El lenguaje Java

Programación de Computadores 4 Iteraciones y Decisiones. Prof. Javier Cañas. Universidad Técnica Federico Santa María Departamento de Informática

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

Programa Java. El lenguaje de programación Java. Comentarios. Programa Java. Palabras reservadas. Identificadores

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System.

Tema: Arreglos de Objetos en C++.

GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C)

CALENDARIO AÑO 2016 PICO Y PLACA AUTOMOVILES SERVICIO ESPECIAL PICO Y PLACA TAXIS

LA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C)

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

Programación de los problemas de Física en.

C# para no Programadores

la solución a una ecuación cuadrática solicitando al usuario los términos de dicha ecuación.

Programación Orientada a Objetos. Java: Excepciones

Manual de turbo pascal

Ejercicios de evaluación de fundamentos de programación en Java

Los caracteres de Java pueden agruparse en letras, dígitos, espacios en blanco, caracteres especiales, signos de puntuación y secuencias de escape.

QUÉ ES UNA CLASE JAVA? ATRIBUTOS (PROPIEDADES O CAMPOS), CONSTRUCTOR Y MÉTODOS. (CU00623B)

Transcripción:

Centro Asociado Palma de Mallorca Introducción Práctica de Programación Java Antonio Rivero Cuesta

Sesión III

La Sintaxis de Java II... 6 Estructuras de Control... 7 Estructuras de Selección... 8 Sentencia if... 9 Sentencia if - else... 12 Sentencia switch... 15 Estructuras de Repetición... 21

Sentencia while... 22 Sentencia do-while... 27 Sentencia for... 31 Bucle for each... 37 El Tipo Iterador... 42 Métodos de Iterator... 44 Vectores... 46 Creación de un Vector... 47

Inicialización Estática... 50 Tamaño del Vector... 51 Matrices... 52

La Sintaxis de Java II

Estructuras de Control Estructuras de selección Estructuras de repetición

Estructuras de Selección if if-else switch

Sentencia if La sentencia if permite en un programa tomar la decisión sobre la ejecución o no de una acción o de un grupo de acciones, mediante la evaluación de una expresión lógica o booleana. La acción o grupo de acciones se ejecutan cuando la condición es cierta. En caso contrario no se ejecutan y se saltan.

Sentencia if if (condición){ sentencias }

Falso Condición Verdadero Operaciones

Sentencia if - else Esta clase de sentencia if ofrece dos alternativas a seguir, basadas en la comprobación de la condición. La palabra reservada else separa las sentencias utilizadas para ejecutar cada alternativa. Si la evaluación de la condición es verdadera, se ejecuta la sentencia 1 o secuencia de sentencias l, mientras que si la evaluación es falsa se ejecuta la sentencia 2 o secuencia de sentencias 2.

Sentencia if - else if (condición){ sentencia 1 } else { sentencia 2 }

Falso Condición Verdadero Operación 2 Operación 1

Sentencia switch Cuando se tienen muchas alternativas posibles a elegir, el uso de sentencias if else-if puede resultar bastante complicado, siendo en general más adecuado en estos casos el empleo de la sentencia switch. La sintaxis de una sentencia switch es la siguiente:

switch (expresión) { case valor1: sentencias; break; case valor2: case valor3: sentencias; break; default: sentencias; break; }

private int opcionprincipal; public void gestionmenuprincipal(){ do { menuprincipal(); switch (opcionprincipal){ case 1: gestionmenualumno(); break; case 2: gestionmenuprofesor(); break; case 3: System.out.println("Salir"); break; default: System.out.println("introduzca una opcion valida"); break; } } while (opcionprincipal!= 3); }

La expresión es obligatoria que esté entre paréntesis. Tiene que evaluarse a un entero, un carácter, un enumerado o un booleano. A continuación, en cada case aparece un valor que únicamente puede ser una expresión constante, es decir, una expresión cuyo valor se puede conocer antes de empezar a ejecutar el programa del mismo tipo que la expresión del switch. Después de cada case se puede poner una o varias sentencias.

Los valores asociados en cada case se comparan en el orden en que están escritos. Cuando se quiere interrumpir la ejecución de sentencias se utiliza la sentencia break que hace que el control del programa termine el switch y continúe ejecutando la sentencia que se encuentre después de esta estructura. Si no coincide el valor de ningún case con el resultado de la expresión, se ejecuta la parte default.

Si ningún valor de los case coincide con el resultado de la expresión y la parte default no existe, ya que es opcional, no se ejecuta nada de la estructura switch.

Estructuras de Repetición while do-while for for-each Iterator

Sentencia while El bucle while ejecuta una sentencia o bloque de sentencias mientras se cumple una determinada condición. La condición tiene que estar obligatoriamente entre paréntesis. La condición es una expresión lógica. Si la condición vale true, se ejecutan las sentencias que componen el bucle.

Cuando concluye la ejecución de las instrucciones del bucle se vuelve a evaluar la condición. De nuevo, si la condición es cierta se vuelven a ejecutar las instrucciones del bucle. En algún momento la condición valdrá false, en cuyo caso finaliza la ejecución del bucle y el programa continúa ejecutándose por la sentencia que se encuentre a continuación de la estructura while.

Un problema frecuente en programación se produce cuando aparecen bucles infinitos. Un bucle infinito es aquel que nunca termina. Los bucles while infinitos se producen debido a que la condición que se comprueba nunca se hace falsa, de modo que el bucle while ejecuta repetidamente sus sentencias una y otra vez.

Sentencia while while (condición booleana){ cuerpo del bucle }

Condición Falso Verdadero Operaciones

Sentencia do-while La sentencia do-while es similar a la sentencia while. Aquí la condición se comprueba después de que el bloque de sentencias se ejecute. La sentencia o sentencias se ejecutan y, a continuación, se evalúa la condición. Si la condición se evalúa a un valor verdadero, las sentencias se ejecutan de nuevo.

Este proceso se repite hasta que expresión se evalúa a un valor falso, en cuyo momento se sale de la sentencia do-while. Dado que el test condicional se realiza al final del bucle la sentencia o bloque de sentencias se ejecuta al menos una vez.

Sentencia do-while do{ sentencias }while (condición);

Operaciones Verdadero Condición Falso

Sentencia for Es una estructura de control repetitiva que resulta particularmente adecuada cuando: Queremos ejecutar un conjunto de sentencias un número exacto de veces. Necesitamos una variable dentro del ciclo cuyo valor cambie en una cantidad fija, generalmente en 1, en cada iteración.

Sentencia for for (inicialización ; condición ; incremento){ } sentencias

Su equivalente while: Inicialización; while (condición){ Instrucciones a repetir incremento }

Las sentencias podrán ser cero, una única sentencia o un bloque, y serán lo que se repita durante el proceso del bucle. La inicialización fija los valores iniciales de la variable o variables de control antes de que el bucle for se procese y ejecute solo una vez. La condición de terminación se comprueba antes de cada iteración del bucle y éste se repite mientras que dicha condición se evalúe a un valor verdadero.

Si se omite no se realiza ninguna prueba y se ejecuta siempre la sentencia for. El incremento se ejecuta después de que se ejecuten las sentencias y antes de que se realice la siguiente prueba de la condición de terminación. Cuando no se tienen valores a incrementar se puede suprimir este apartado. En esencia, el bucle for comprueba si la condición de terminación es verdadera

Si la condición es Verdadera, el bucle ejecuta una iteración, se ejecutan todas las sentencias del interior del bucle. A continuación la variable de control del bucle se incrementa. Si la condición es Falsa, se saltan todas las sentencias del interior del bucle.

Bucle for each Se incorpora en la versión 5 de Java. Esta estructura nos permite recorrer una Colección o un array de elementos de una forma sencilla. Evita el uso de Iteradores o de un bucle for normal.

// Declaro un ArrayList private ArrayList<Alumno> alumnos; // Estructura for each public void listaralumnosforeach(){ for (Alumno alumno : alumnos) System.out.println("Alumno:"+alumno); }

El resultado es más legible. Sin embargo en ocasiones los iteradores aportan cosas interesantes que los bucles for each no pueden abordar. Vamos a borrar todos los objetos de una lista con un nombre concreto. La operación parece tan sencilla como hacer lo siguiente:

for (String nombre:pelis){ if (nombre.equals("casablanca")){ pelis.remove("casablanca"); } } El código no funciona y lanza una excepción. Exception in thread "main" java.util.concurrentmodificationexception at java.util.arraylist$itr.checkforcomodification(arraylist.java:901) at java.util.arraylist$itr.next(arraylist.java:851) at Cine.main(Cine.java:83)

El interface Iterator dispone de un método adicional que permite eliminar objetos de una lista mientras la recorremos. El método remove.

El Tipo Iterador Existe una tercera variante para recorrer una colección, que está entre medio de los ciclos while y for-each. Se usa un ciclo while para llevar a cabo el recorrido. Y un objeto iterador en lugar de una variable entera como índice para controlar la posición dentro de la lista.

Los Iteradores sirven para recorrer los ArrayList y poder trabajar con ellos. Para poder utilizarlo: import java.util.arraylist; import java.util.iterator;

Métodos de Iterator hasnext() para comprobar que siguen quedando elementos en el iterador. next() para que nos dé el siguiente elemento del iterador. remove() para eliminar un elemento del iterador.

ArrayList<String> pelis = new ArrayList<String>(); //Agrego cuatro peliculas pelis.add ("Casablanca"); pelis.add ("39 Escalones"); pelis.add ("La reina de Africa"); pelis.add ("El Padrino"); // Usamos iterator para recorrer el ArrayList Iterator<String> it = pelis.iterator(); while (it.hasnext()){ String elemento = it.next(); System.out.println(elemento);

Vectores Un vector es una estructura de datos que permite almacenar un conjunto de datos del mismo tipo. Existen dos formas equivalentes de declarar vectores o arrays en Java: int[] nombredelvector1; int nombredelvector2[];

Creación de un Vector Los vectores son objetos, para utilizarlos primero hay que crearlos. El valor inicial por defecto es null. nombredelvector1 = new int[20]; nombredelvector2 = new int[100];

El vector nombredelvector1 permite guardar 20 enteros. El vector nombredelvector2 permite guardar 100 enteros. Al crear el vector, cada uno de los elementos se inicializa al valor por defecto: 0 para los números. false para los boolean. \u0000 para los caracteres null para las referencias a objetos.

Los vectores se pueden crear cuando se declaran: int[] nombredelvector1 = new int[20]; int nombredelvector2[] = new int[100];

Inicialización Estática Es posible inicializar los elementos del vector a la vez que se crean: String[] díassemana = { Lunes, Martes, Miércoles, Jueves, Viernes, Sábado, Domingo }; Cuando se desea acceder a los valores de un vector de tamaño N, el primer elemento está en la posición 0 y el último en N 1.

Tamaño del Vector Para conocer el número de elementos de un vector se utiliza su atributo length. System.out.println( El vector díassemana tiene + díassemana.length + elementos );

Matrices Un vector declarado de la siguiente forma representa una tabla de dos dimensiones: int[][] tabla; Para crearlo: int[][] tabla = new int[4][7]

Una matriz es una estructura de datos que permite almacenar un conjunto de datos del mismo tipo. Con un único nombre se define la matriz y por medio de dos subíndices hacemos referencia a cada elemento de la misma.