java

41
Java

Upload: mtemarialuisa

Post on 26-May-2015

5.093 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Java

Java

Page 2: Java

Orientación a Objetos

• OO es un paradigma de modelación y programación

• Idea principal: modelar los problemas lo mas cercanos al contexto en el que ocurren y

• Hacer un programa siguiendo esta modelación.• Conceptos fundamentales (iniciales):

– Clases– Objetos

Page 3: Java

Clases y Objetos

• Lo más simple es verlo con ejemplos:

• Clase: Persona

• Objetos: Juan, Alberto, Julia

• Clase: Perro

• Objetos: Boby, Lazy, Benji

• Clase: País

• Objetos: Chile, Australia, Afganistán

Page 4: Java

• Clase: Computador• Objetos: ....• Clase: Automóvil• Objetos: ....• Clase: Figura Geométrica• Objetos: .....• Clase: Animal• Objetos: ....

Page 5: Java

Clases y propiedades

• Un objeto que pertenece a una clase se llama instancia de esa clase.

• Si un objeto A es una instancia de la clase C diremos que A es de• tipo C.• Todos los objetos (o instancias) de una misma clase comparten• ciertos atributos.• Clase: Persona• Atributos: nombre, sexo, fecha de nacimiento, estatura ....• Clase: Perro• Atributos: raza, color de pelo, sexo, ....• Clase: País• Atributos: nombre, área, número de habitantes, ...

Page 6: Java

Distintos objetos (de una misma clase) pueden tener distintos valores en estos atributos:

• Clase: Persona• Objeto: Iván Zamorano (el ex-futbolista)• Atributos:• nombre: Iván Zamorano• sexo: masculino• estatura: 1,80 metros• ....• Clase: Perro• Objeto: Cachupín (el perro de mi vecino)• Atributos:• raza: no definida• color de pelo: negro • sexo: macho• ....

Page 7: Java

• Dos objetos de una misma clase pueden tener exactamente los mismos valores para todos sus atributos pero ser objetos distintos.

• Por ejemplo pueden existir dos personas distintas que se llamen Iván Zamorano, de sexo masculino, que midan 1,80

• mts, ....• Los valores de los atributos NO definen la identidad de

un Objeto.• Los valores de los atributos definen el estado del objeto

Page 8: Java

Ejercicios: Objetos y Atributos

• Clase: Curso

• Clase: Alumno

• Clase: Universidad

• Clase: Computadora

• Clase: Automóvil

• Clase: Figura Geométrica

• Clase: Animal

Page 9: Java

Operaciones, métodos sobre objetos

• Se pueden realizar operaciones o métodos sobre objetos (instancias) de una clase, para modificar su estado.

• Por ejemplo:

• Cambiarle el nombre a una persona

• Asignar un nuevo curso a un alumno

• Eliminar a un alumno un curso que tenia asignado

• Estos métodos son intrínsecos a la Clase, o sea, pueden ser• aplicadas a cualquier objeto de la clase.

• Note que estos métodos deben recibir parámetros (el nuevo• nombre, el nuevo curso, el curso a eliminar)

Page 10: Java

• Existen otros métodos que nos permiten consultar por el• estado de un objeto

• o por cierta información que puede ser derivada de los• atributos...

• Por ejemplo:• Cuál es el nombre de una persona• Cuál es la edad de una persona• Tiene un alumno algún curso asignado• Cuántos cursos tiene asignado un alumno• Cuántos créditos en total tiene un alumno• Estas operaciones son intrínsecas a la Clase, o sea, pueden ser• aplicadas a cualquier objeto de la clase.

• Note que estos métodos entregan resultados.

Page 11: Java

Clases en Java

• class NombreClase• {• Atributos de la clase• ...• Metodo Constructor de la clase• Metodos de la clase• ...• }

Page 12: Java

• En JAVA todas las clases comienzan su definición con la palabra reservada class seguido del nombre de la clase

• Le siguen los atributos de la clase (que tendrán valores para las distintas instancias)

• El constructor (o constructores)

• Los métodos de la clase.

Page 13: Java

Atributos de la clase

• class Pais

• {

• String nombre;

• double area;

• int cantidadHabitantes;

• ....

• }

Page 14: Java

Métodos

• public valor_retorno nombre_metodo(...parametros...)

• {

• código del método

• .....

• }

Page 15: Java

• MUY IMPORTANTE: el nombre del método constructor debe ser el mismo nombre del la clase y NO se debe especificar valor de retorno para el constructor.

Page 16: Java

Comentarios

• Comentarios

• En Java hay tres tipos de comentarios:

• // comentarios para una sola línea/* comentarios de una o más líneas *//** comentario de documentación, de una o más líneas */

Page 17: Java

Tipos de elementos en Java

• Enteros:

• byte 8 bits

• short 16 bits

• int 32 bits

• long 64 bits

Page 18: Java

• Reales en coma flotante:

• float 32 bits

• double 64 bits

Page 19: Java

• Booleanos:– true – False

• Caracteres: a \t

• Cadenas:

• Por ejemplo: "Esto es una cadena literal"

Page 20: Java

Iniciando Java

• En su forma más simple, una aplicación en Java es una definición de clase, que se ejecuta del primer { al último }

class Nombre{   public static void main (String [] args)   {       enunciados   }}

Page 21: Java

• Los métodos están hechos de instrucciones y expresiones, que están hechas de operadores.

Una instrucción es un comando que hace que algo ocurra. Ejemplos:

int age = 30;System.out.println (“Hola”);

Una instrucción finaliza con el carácter ;

Page 22: Java

Primer programa en Java

• public class Hola{   public static void main (String [] args)   {       System.out.println ("Hola");       System.out.println ("Bienvenidos a Java");   }}

Page 23: Java

Declaración del método main

• public : Define alcance público. static : Quiere decir que no necesita instancia de clase. void : El método principal main no retorna valor (numérico). main : Nombre por defecto del programa principal (obligatorio). String arg[ ] : Parámetro opcional para pasar argumentos (datos) desde la línea de comandos.

Page 24: Java

• System : Colección (paquete) de clases out : Clase de salida estándar de datos println : Método que escribe en pantalla y luego hace un salto de línea

Page 25: Java

Creando el primer programa

• Deberá guardar este archivo con el mismo nombre de la clase y terminación .java.

• Por ejemplo la primera clase se llama Hola, por lo tanto deberá guardarse en el archivo:

Hola.java• Se sugiere que la primera letra sea mayúscula

para distinguir las clases.

Page 26: Java

• Para compilar un programa fuente escriba el comando javac seguido del nombre del archivo del programa fuente. Continuando con el ejemplo anterior deberá escribir el siguiente comando en el prompt de la máquina:

javac Hola.java

Page 27: Java

• Si el compilador detecta algún error deberá de editar el archivo fuente, corregir el error y nuevamente compilar. Podría suceder que este proceso de edición y compilación se tenga que repetir en más de una ocasión.

• Durante la compilación se genera un archivo que contiene el código de bytes y que se llama igual que la clase pero con terminación .class. Así, si no existe un error de compilación en el ejemplo anterior se generará el siguiente archivo:

Hola.class

Page 28: Java

Diferencia entre print y println

• import java.io.*;• public class Diferencia• // Clase Programa que muestra la diferencia entre print y println• {• public static void main (String [] args)• {• System.out.print ("En sus marcas ...");• System.out.print ("Listos ...");• System.out.println ("Fuera ...");• System.out.println ("");• System.out.println ("El ganador es ....");• }• }

Page 29: Java

String

• Una cadena de caracteres es un objeto en Java, definido en la clase String y está delimitado por comillas (“ ...”)El operador de concatenación es +.Las cadenas también pueden concatenarse con números.Debido a que el operador + también es de adición aritmética, si uno o dos de los operandos del + son cadenas, se realiza la concatenación.

Page 30: Java

• import java.io.*;

• public class Hechos• {• public static void main (String [] args)• {• int edad2, edad = 22;• • System.out.println ("Algunos hechos cotidianos\n"+"que pueden servir para su conocimiento

extracurricular");• System.out.println ();

• // cadena que contiene dígitos numéricos• System.out.println ( "Numero de letras en el alfabeto hawaiano: 12");• //cadenas concatenadas con valores numéricos• System.out.println ("Codigo LADA de la Antartida " + 672);• System.out.println ("A/o en que Leonardo da Vinci invento el paracaidas: " +1515);• System.out.println(“La edad es: ” + edad);• edad2=++edad;• System.out.println(“La edad 2 es: “ + edad2); • }//fin main• }// fin Hechos

Page 31: Java

• Secuencias de escapeSirven para representar caracteres especialesInician con \ que indica debe tener una interpretación especial

Page 32: Java

Secuencia de Escape Significado

\b backspace

\t tab

\n new line

\" doble comilla

\' comillasencilla

\\ backslash

Page 33: Java

• public class Naranjas• {• public static void main (String [] args)• {• System.out.println ("\"¿Quien me compra una naranja\n\t para

mi consolacion\n" +• "una naranja madura\n\ten forma de corazon? \"" +• "\n\t\t\t Jose Gorostiza");• }• }

Page 34: Java
Page 35: Java
Page 36: Java

• public class Shirt{

• public int codigoshirt=0;• public String descripcion="Camisa blanca manga corta";

• …• public void desplegarinfo(){

• System.out.println("Codigo camisa: " + codigoshirt);• System.out.println("Descripcion camisa: " + descripcion);

• …• }// Fin metodo desplegarinfo

• }// Fin class shirt

Page 37: Java
Page 38: Java

• public class TestShirt{

• public static void main (String Args []){

• Shirt myshirt= new Shirt();

• myshirt.desplegarinfo();

• }• }

Page 39: Java

Ejercico

• 1) Traducir a Java el siguiente algoritmo

• a) Se quiere determinar si un número es par o impar

• Para ello asignar valores enteros a una variable num

Page 40: Java

• ALGORITMO• ---------• FUNCION par(num :

entero) : boolean• INICIO• SI (MOD(num/2) == 0)

ENTONCES• RETORNAR true• SINO• RETORNAR false• FIN SI• FIN //fin par

• INICIO• Inicializar num de tipo entero a 23• • SI (par(num) == true)

ENTONCES• escribir “El numero: “ + num +

“es par”• SINO• escribir “El numero: “ + num +

“es impar”• FIN SI• FIN// ALGORITMO

Page 41: Java

• public class NumeroPar {

• public static boolean par(int num)• {• if (num % 2 == 0)• {• return true;• }• else• {• return false;• }• }// Fin metodo par

• public static void main(String[] args) {

• int num=23;

• • if ( par(num))• • System.out.println(" El número: " + num + " es par");• else • System.out.print(" El número: " + num + " es impar"+ "\n");• • } // Fin metodo main

• } // Fin class