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
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
Clase: Computador Objetos: .... Clase: Automóvil Objetos: .... Clase: Figura Geométrica Objetos: ..... Clase: Animal Objetos: ....
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, ...
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 ....
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
Ejercicios: Objetos y Atributos Clase: Curso Clase: Alumno Clase: Universidad Clase: Computadora Clase: Automóvil Clase: Figura Geométrica Clase: Animal
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)
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.
Clases en Java class NombreClase { Atributos de la clase ... Metodo Constructor de la clase Metodos de la clase ... }
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.
Atributos de la clase class Pais { String nombre; double area; int cantidadHabitantes; .... }
Métodos public  valor_retorno  nombre_metodo(... parametros ...) { código del método ..... }
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.
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 */
Tipos de elementos en Java Enteros: byte 8 bits  short 16 bits  int 32 bits long 64 bits
Reales en coma flotante: float 32 bits  double 64 bits
Booleanos: true  False Caracteres: a  \t  Cadenas: Por ejemplo: "Esto es una cadena literal"
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    } }
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 ;
Primer programa en Java public class Hola {    public static void main (String [] args)    {        System.out.println ("Hola");        System.out.println ("Bienvenidos a 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.
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
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.
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
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
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 ...."); } }
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.
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
Secuencias de escape Sirven para representar caracteres especiales Inician con \ que indica debe tener una interpretación especial
Secuencia de Escape Significado \b backspace \t tab \n new line \" doble comilla \' comillasencilla \\ backslash
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"); } }
 
 
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
 
public class TestShirt{ public static void main (String Args []){ Shirt myshirt= new Shirt(); myshirt.desplegarinfo(); } }
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
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
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

Java

  • 1.
  • 2.
    Orientación a ObjetosOO 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
  • 3.
    Clases y ObjetosLo 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
  • 4.
    Clase: Computador Objetos:.... Clase: Automóvil Objetos: .... Clase: Figura Geométrica Objetos: ..... Clase: Animal Objetos: ....
  • 5.
    Clases y propiedadesUn 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, ...
  • 6.
    Distintos objetos (deuna 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 ....
  • 7.
    Dos objetos deuna 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
  • 8.
    Ejercicios: Objetos yAtributos Clase: Curso Clase: Alumno Clase: Universidad Clase: Computadora Clase: Automóvil Clase: Figura Geométrica Clase: Animal
  • 9.
    Operaciones, métodos sobreobjetos 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)
  • 10.
    Existen otros métodosque 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.
  • 11.
    Clases en Javaclass NombreClase { Atributos de la clase ... Metodo Constructor de la clase Metodos de la clase ... }
  • 12.
    En JAVA todaslas 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.
  • 13.
    Atributos de laclase class Pais { String nombre; double area; int cantidadHabitantes; .... }
  • 14.
    Métodos public valor_retorno nombre_metodo(... parametros ...) { código del método ..... }
  • 15.
    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.
  • 16.
    Comentarios Comentarios EnJava 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 */
  • 17.
    Tipos de elementosen Java Enteros: byte 8 bits short 16 bits int 32 bits long 64 bits
  • 18.
    Reales en comaflotante: float 32 bits double 64 bits
  • 19.
    Booleanos: true False Caracteres: a \t Cadenas: Por ejemplo: "Esto es una cadena literal"
  • 20.
    Iniciando Java Ensu 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    } }
  • 21.
    Los métodos estánhechos 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 ;
  • 22.
    Primer programa enJava public class Hola {    public static void main (String [] args)    {        System.out.println ("Hola");        System.out.println ("Bienvenidos a Java");    } }
  • 23.
    Declaración del métodomain 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.
  • 24.
    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
  • 25.
    Creando el primerprograma 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.
  • 26.
    Para compilar unprograma 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
  • 27.
    Si el compiladordetecta 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
  • 28.
    Diferencia entre printy 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 ...."); } }
  • 29.
    String Una cadenade 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.
  • 30.
    import java.io.*; publicclass 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
  • 31.
    Secuencias de escapeSirven para representar caracteres especiales Inician con \ que indica debe tener una interpretación especial
  • 32.
    Secuencia de EscapeSignificado \b backspace \t tab \n new line \" doble comilla \' comillasencilla \\ backslash
  • 33.
    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"); } }
  • 34.
  • 35.
  • 36.
    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
  • 37.
  • 38.
    public class TestShirt{public static void main (String Args []){ Shirt myshirt= new Shirt(); myshirt.desplegarinfo(); } }
  • 39.
    Ejercico 1) Traducira 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
  • 40.
    ALGORITMO --------- FUNCIONpar(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
  • 41.
    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