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



Documentos relacionados
Tema 4. Control de flujo. Programación Programación - Tema 4: Control de Flujo

Tema 7: Polimorfismo. Índice

Estructura de datos y Programación

Estructuras de control repetitivas/iterativas

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

Introducción a las sentencias de control

Computación III. Objetivo de aprendizaje del tema

TIPOS DE BUCLES O CICLOS DE REPETICIÓN EN PHP: WHILE, DO WHILE Y FOR. EJEMPLOS Y EJERCICIOS RESUELTOS. (CU00822B)

Modulo 11. Clases y Objetos en Java

Estructura de Datos Unidad 1: Repaso del Lenguaje Java

Instrucción de selección múltiple switch.

1. (1 punto) Dado el siguiente fragmento en Java:

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

Introducción a Java. Introducción a Java. Programación I

Unidad V. Ya veremos qué poner en "algunas_palabras" y "algo_más", por ahora sigamos un poco más.

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

En este capitulo se estudiarán los conceptos relacionados a métodos, como lo son sobrecarga, métodos estáticos.

Estructura de un programa en Java. Tipos de datos básicos. class miprimerprograma{ // comentario, no es parte del programa

Fundamentos de Programación

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

6. Sentencias repetitivas o bucles

La sintaxis básica para definir una clase es la que a continuación se muestra:

Arreglos Unidimensionales En este tipo de arreglo se hace uso de un índice solamente para hacer referencia a una posición particular del arreglo.

INTRODUCCION A LA PROGRAMACION EN JAVA

HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA

CURSO : ESTRUCTURA DE DATOS DOCENTE : ING. JUAN ZEVALLOS VALLE

EJEMPLO DE CÓDIGO JAVA BÁSICO. CREAR CLASES CON CAMPOS, CONSTRUCTOR Y MÉTODOS. LA PALABRA CLAVE THIS (CU00652B)

Estructuras de control selectivas

Clases Abstractas e Interfaces

Curso Informática Lección 4. Instrucciones de control

Clase adicional 3. Métodos. Temas

Introducción Programación Modular y a Métodos: Consideremos el siguiente ejercicio:

Comprender las diferencias entre tipos de datos primitivos similares, y aprender a elegir el tipo más conveniente en cada caso.

Práctica #5: Uso de control de flujo, Excepciones y Lectura Estándar

Aspectos de los LP. Diseño de compiladores. Estático vs. Dinámico. Estático vs. Dinámico. Scope. Scope 24/03/2015

Sentencias de Control en C++

3. Tipos primitivos de dato

Unidad 3 Programación Orientada a Objetos. Programación JAVA. Cuestiones I:

ARRAYS O ARREGLOS. EJEMPLOS CON OBJETOS Y TIPOS PRIMITIVOS. CAMPO LENGTH. RESUMEN TIPOS DE COLECCIONES JAVA. (CU00669B)

HERENCIA (2ª parte) En Java todas las clases derivan de otra, aunque no se diga explícitamente.

Algoritmos y Estructuras de Datos Tema 2: Diseño de Algoritmos

Java. Introducción a la Programación Orientada a Objetos

GENERAR NÚMEROS ALEATORIOS EN JAVA. CLASE RANDOM Y MÉTODO NEXTINT. EJERCICIO EJEMPLO RESUELTO. (CU00672B)

5. Sentencias selectivas o condicionales

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

! Qué es la POO?! Un paradigma de programación. ! No hay paradigmas mejores ni peores! Todos tienen sus ventajas e inconvenientes

GUÍA DE LABORATORIO #4. SENTENCIAS DE CONTROL EN C: CICLO for, while y do while. Realizar programas en Lenguaje C aplicando for, while y do while.

Prueba N o 1. Programación II

abril de 2017 Desarrollo de aplicaciones en Java Tipos de datos primitivos Tipos de datos Elementos de aplicaciones simples

Práctica 5c. Práctica 5c. José M. Ordax

Práctica 2. Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones

Docente: Juan Carlos Pérez P. Alumno : Fecha : Nota:

a. Cuántas veces se ejecuta la instrucción System.out.println? b. Cuál es el diagrama de flujo correspondiente a este fragmento?

UNIDAD I. ALGORITMOS

Identidad, igualdad y equivalencia

Declaración de variables (integer, single, double, boolean, etc.) en Visual Basic. Dim. Ejemplos. (CU00309A)

El lenguaje C. 3. Una instrucción que se ejecutará si la condición es verdadera.

Unidad IV. Este tipo de codificación nos es permitido gracias a la sobrecarga, la cual se aplica a métodos y constructores.

Programación Estructurada

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

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

3. Estructuras iterativas

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

En Java, un arreglo es un grupo de variables (llamados elementos o componentes) que contienen valores, todos del mismo tipo.

TECNICAS DE PROGRAMACION Universidad Católica Los Angeles de Chimbote MODIFICADORES DE ACCESO A LOS MIEMBROS DE UNA CLASE

Introducción a Java 10/02/2011. Tokens. Juan Manuel Fernández Peña Curso Rev Tokens. Tokens

VARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E

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

Informática Lección 5. Arreglos (vectores) Curso Pedro Álvarez y José Ángel Bañares 2/11/2010. Dpto. Informática e Ingeniería de Sistemas.

Estructuras de control condicionales

Lección 2: Creando una Aplicación en Java. 1. Estructura del archivo de una clase. 3. Definiendo clases fundamentos

Parte I: Programación en un lenguaje orientado a objetos

PROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; }

PROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación:

REPASO ARRAYS MULTIDIMENSIONALES EN JAVA. DECLARACIÓN Y USO. EJEMPLOS Y EJERCICIOS RESUELTOS. (CU00905C)

BASE DE DATOS ARTICULOS DE COMPUTACION.

VARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E

TIPO Y MÉTODO ITERATOR. ERROR JAVA.UTIL.CONCURRENT MODIFICATIONEXCEPTION. RESUMEN DE TIPOS DE BUCLES EN JAVA. (CU00667B)

int[] nombrearray1; int nombrearray2[];

Estructuras de Control JAVA

UNADM. Estructura de datos. Guillermo Duran Garcia AL Actividad 2. Identificación de errores en métodos de ordenación

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

PRÁCTICA No 4 POO Encapsulación. El alumno conocerá los principios de la encapsulación, y el uso de constructores para la inicialización de datos

Conocimientos previos

Construcciones del Lenguaje Java

Práctica No. 2. Tipos de Datos y Entrada/Salida Estándar

3.3 Conceptos Básicos del Lenguaje Java

Transcripción:

Clase adicional 2 Temas Estructuras de control Sentencia condicional Iteración Clases Definir una clase Crear una instancia de una clase Campos estáticos Problemas de la clase adicional Problema de diseño Estructuras básicas de control Existen dos estructuras básicas de control Sentencias condicionales: if else Iteración: bucle while, bucle do while y bucle for Sentencia condicional La forma general de una sentencia if es: if(expresión) sentencia1 else sentencia2 siguiente sentencia Si la expresión es true, sentencia1 se ejecuta. Si es false, sentencia2 se ejecuta. Por ejemplo: if (grade >= 90) System.out.println(" Bien! He sacado un 10!"); else System.out.println(" Vaya! He sacado un 8!"); System.out.println ( Siempre impreso );

Estructura de iteración En ocasiones, es necesario repetir las mismas sentencias varias veces. En este caso, lo que necesita es utilizar la estructura de iteración. Hay dos tipos de estructuras de iteración: bucles indeterminados y bucles determinados. En un bucle indeterminado, se desconoce el número de veces que se ejecutará el bucle. Por lo tanto, se requerirá la ayuda de una expresión booleana: { while (expresión) sentencias;. Las sentencias se ejecutarán repetidamente siempre y cuando la expresión sea true. A continuación se muestra un ejemplo: Grade = 0; while (Grade <= 90) { System.out.println("Hay que estudiar más!"); Grade += 10; System.out.println(" Bien hecho!"); En este caso, el mensaje " Hay que estudiar más!" se imprime 10 veces mientras la calificación (grade) avanza de 0 a 90. Sólo cuando llegue a 90 verá el mensaje Bien hecho!. Una variante del bucle while es la estructura do-while. En vez de comprobar la expresión al principio del bucle, una estructura do-while realiza la comprobación al final. La forma general de esta estructura es: do sentencia while (expresión);

siguiente sentencia A continuación se muestra un gráfico de flujo del ejemplo anterior. Si quiere controlar el número de veces que se ejecutarán las sentencias ( bucle determinado ), deberá utilizar el bucle for. En este tipo de bucle, se define un contador que se actualiza tras cada iteración. Se saldrá del bucle cuando el contador llegue a su límite. A continuación se muestra un ejemplo: for(grade = 0; grade <= 90; grade+=10) { System.out.println(" Hay que estudiar más!"); System.out.println(" Bien hecho!"); Aquí, la calificación se inicializa en 0. En cada iteración, agregamos 10 puntos a la calificación. Cuando llega a 90, el bucle termina y el control pasa a la siguiente sentencia. Como se puede comprobar en el siguiente gráfico de flujo, el bucle for hace lo mismo que el bucle while.

Clases Una clase proporciona la definición de un objeto. Cada clase contiene: Variables (o campos): atributos del objeto. Métodos: acciones que el objeto puede ejecutar. Por ejemplo, podemos definir una clase Box que contiene tres atributos: width (ancho), height (alto) y length (largo). También contiene tres métodos setwidth, setheight y setlength que los usuarios pueden utilizar para definir el alto, el ancho y el largo del objeto Box. Definir una clase public class Box { //Atributos private double width; private double height; private double length; //Métodos setwidth (double w); setheight (double h); setlength (double l); Cada variable cuenta con un Identificador de acceso. Una variable puede ser public o private (existen otros identificadores de acceso que abordaremos más adelante en el curso). En este ejemplo, todas las variables de la clase Box se han declarado como private, lo que implica que únicamente se puede acceder a ellas desde la clase. Por su parte, a una variable public puede acceder cualquier usuario, tanto dentro como fuera de la clase. Tipo de datos. Una variable puede ser simplemente un tipo de datos como int o double, u otra clase. Nombre. El nombre de las variables debe comenzar por una letra, distingue entre mayúsculas y minúsculas y no puede ser una palabra reservada de Java. Una buena práctica es utilizar nombres descriptivos, por ejemplo, height (altura) en vez de h Por ejemplo, en la clase Box, height es una variables private del tipo double

Hablaremos de las definiciones de los métodos en la siguiente clase; también tienen especificadores de acceso y otras características. Crear la instancia de una clase Una vez que se ha definido una clase, es posible crear instancias de dicha clase. Cada instancia contiene el mismo conjunto de variables pero distintos valores. Aquí, nos gustaría crear una instancia llamada myfirstbox: Box myfirstbox = new Box(); Tenga en cuenta que myfirstbox no es un objeto; es una referencia al objeto que se crea cuando se llama al nuevo operador. El nuevo operador invoca el constructor de la clase (un método especial al que se llama cuando se crea un objeto por primera vez) y reserva memoria para dicho objeto. (Hablaremos de los constructores de forma detallada en la siguiente clase adicional). El siguiente ejemplo se centra en una explicación visual de la diferencia entre el objeto y la referencia al objeto. Aquí, hemos definido dos variables: una variable de datos primitiva (int j) y una variable de objeto (Integer i). Ambas contienen el valor entero 2. Utilizamos el cuadrado para representar el tipo de datos primitivo y la caja para representar al objeto. int j = 2; Integer i = new Integer(2); Tal como se puede observar en el siguiente dibujo, la variable primitiva j contiene el valor 2. Sin embargo, la variable del objeto, i, no contiene el objeto Integer, sino una referencia a dicho objeto con un valor de 2. Entonces, qué ocurre si asignamos i a otro objeto Integer? Podría explicarlo utilizando la misma representación de caja y cuadrado? int k = j; Integer m = i;

Campos Static Cada instancia de objeto contiene su propio conjunto de variables de miembros y métodos. Los cambios realizados en una instancia no afectan al resto. La única excepción son los campos y los métodos estáticos (static). Si define un campo como static, sólo podrá haber uno por clase. Veamos el siguiente ejemplo: public class Box { //Atributos static int numberofboxes = 0; private double width; Si creamos 1.000 instancias de Box, cada objeto box tendrá su propio ancho, pero sólo habrá un numberofboxes para la clase. Dado que los campos static pertenecen a la clase, se hace referencia a ellos mediante el nombre de la clase, y no mediante el nombre de la instancia. Por ejemplo: public static void main (String args[]) { Box b = new Box(); System.out.println(b.getWidth()); System.out.println(Box.numberOfBoxes()); Problemas de la clase adicional 1. Bucle for Qué datos de salida se obtienen con el siguiente programa? for (int i = 1; i < 4; i++) { for (int j = 1; j < 3; j++) { System.out.println("i = " + i + " + j = " + j + "\n" ); Respuesta: 2. Bucle do-while Escriba un pequeño programa que imprima los enteros impares desde 2 hasta 100 utilizando un bucle do-while:

int counter = 2; do { while ( ); 3. Bucle for Intente hacer lo mismo utilizando el bucle for. for ( ; ; ) ; 4. Clase Detecte los errores de compilación del siguiente programa: public class Box { private double width; private double height; private double length; public class TestBox { public static void main (String argv[]) { Box b1 = new Box(); b1.width = 5; System.out.println(b1.width); Respuesta: 5. Escriba un programa de Java que calcule el factorial (n!) de un entero no negativo n. La fórmula es la siguiente: factorial (n) = 1 if n < 2, n * (n - 1) *... * 1 otherwise Problema de diseño Defina un conjunto de clases, con sus variables de miembros, para modelar cursos del MIT. A continuación se incluye una breve descripción:

Cada curso del MIT tiene un número de curso, un número de aula, un instructor y 2 profesores adjuntos Cada profesor adjunto tiene un nombre y una dirección de correo electrónico Cada profesor tiene un nombre, un título (profesor, profesor asociado, etc.), un número de teléfono y un número de despacho Cada aula de clase tiene un número de aula y una capacidad Tras definir las clases, cree una instancia de describa el curso 1.00. (Puede obtener toda la información necesaria en el programa del curso y la instancia sólo debe incluir 2 estudiantes: usted mismo y su compañero).