Javaintroduccion 2010

1,031 views
920 views

Published on

aplicacion introductoria java

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,031
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
18
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Javaintroduccion 2010

  1. 1. Java es un lenguaje de programación orientado a objetos desarrollado por Sun Microsystems a principios de los años 90. El lenguaje en sí mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulación directa de punteros o memoria. Las aplicaciones Java están típicamente compiladas en un bytecodes, aunque la compilación en código máquina nativo también es posible. En el tiempo de ejecución, el bytecodes es normalmente interpretado o compilado a código nativo para la ejecución, aunque la ejecución directa por hardware del bytecodes por un procesador Java también es posible. LENGUAJE JAVA
  2. 2. CARACTERISTICAS DE JAVA <ul><li>Orientado a objetos </li></ul><ul><li>Simple (similar a c++, sin complejidades) </li></ul><ul><li>Multiplataforma (Windows, PowerMac, Unix) </li></ul><ul><li>Robusto (hace chequeos, elimina punteros) </li></ul><ul><li>Recolección de basura automática ( errores exepciones) </li></ul><ul><li>Bibliotecas estándar </li></ul><ul><li>Facilidades para programación en redes </li></ul>
  3. 3. JAVA es un lenguaje interpretado <ul><li>Compilador de java (específico x plataforma) javac P1.java </li></ul>P1.java P1.class Intérprete de java (específico x plataforma) java P1 (class) Salida del Prog.
  4. 4. Herramientas necesarias para desarrollar aplicaciones en Java Para desarrollar programas en Java es suficiente con instalar el paquete JSDK de Sun, que es de libre distribución, el cual consta de elementos como : JSDK (Java Software Development Kit): Entorno de desarrollo (compilador y otras herramientas) que permite la creación de aplicaciones en tecnología Java. No incluye ningún interfaz gráfico; son todo comandos de línea, es decir que deben ser tecleados desde una consola. Para evitar esto se suele utilizar en la práctica un entorno gráfico (como Eclipse ,Real J, JCreator) que es el que se encargará de &quot;llamar&quot; al compilador de JSDK. A menudo se emplea la variante J2SDK para indicar que se trata del JSDK correspondiente a la segunda revisión del lenguaje, que es el que se usa actualmente. JRE (Java Runtime Environment): Se necesita para ejecutar un programa Java previamente compilado (es decir, es el intérprete de los famosos bytecodes). JVM (Java Virtual Machine): Similar a JRE, pero se suele utilizar más para referirse al intérprete de bytecodes incluido como parte de un navegador
  5. 5. Java puede ser usado para crear dos tipos de programas: aplicaciones independientes y applets. Las aplicaciones independientes se comportan como cualquier otro programa escrito en cualquier lenguaje, como por ejemplo en C++ . Por su parte, las applets son pequeños programas que aparecen inmersos en las páginas Web, como aparecen los gráficos o el texto, pero con la capacidad de ejecutar acciones muy complejas, como animar imágenes, establecer conexiones de red, presentar menús y cuadros de diálogo para luego emprender acciones, etc.
  6. 6. Tipos primitivos de datos en JAVA <ul><li>enteros: int, long, short, byte </li></ul><ul><li>reales: float, double </li></ul><ul><li>caracter: char </li></ul><ul><li>lógico: boolean </li></ul><ul><li>Const. true, false </li></ul><ul><li>Hileras : String </li></ul><ul><li>Constantes de String: “ Hola “ , “ UNAQ “ </li></ul>
  7. 7. Declaraciones <ul><li>int i; </li></ul><ul><li>int i = 1; </li></ul><ul><li>double pi = 3.14159; </li></ul><ul><li>char c = ‘a’; </li></ul><ul><li>subsidio= true; </li></ul><ul><li>Las declaraciones de variables pueden ir en cualquier parte del programa pero siempre antes de que la variable sea usada. </li></ul>
  8. 8. Instrucciones de Control <ul><li>Instrucción condicional: </li></ul><ul><li>1.- if (cond) sentencia </li></ul><ul><li>2. if (cond) sentencia </li></ul><ul><li>else sentencia </li></ul><ul><li>Ciclos repetición : </li></ul><ul><li>1.- while (cond) sentencia </li></ul><ul><li>2.- do </li></ul><ul><li>sentencia </li></ul><ul><li>while (cond); </li></ul><ul><li>3.- for (instr1; condicion; instr2) </li></ul><ul><li> sentencia </li></ul><ul><li>Selección mùltiple : switch/case </li></ul><ul><li>Nota : Agrupación de instrucciones bajo un if, else, while, for, etc. se realiza con paréntesis {……… } </li></ul>
  9. 9. DECLARACION DE LIBRERIAS O IMPORTACIONES ( import ) ( pakage) Class principal { .. Datos miembro (privados) … Funciones miembro (públicos) // implementación de funciones miembro Public static void main( String[] args ) throws Exception { ……… .. ………… .. instrucciones } } ESTRUCTURA GENERAL DE UN PROGRAMA EN JAVA
  10. 10. Entrada/Salida estándar JAVA La clase System proporciona automáticamente cuando comienza la ejecución de un programa, un stream para leer del dispositivo estándar de entrada (normalmente, el teclado), un stream para presentar información en el dispositivo estándar de salida (normalmente, la pantalla) Los 2 streams de entrada/salida están controlados por esta clase y se referencian como: System.in entrada estándar System.out salida estándar Ejemplos : ESCRITURA : System.out.print (&quot;UNAQ&quot; ); System.out.println (&quot;UNAQ&quot; ); System.out.print (&quot;UNAQnn&quot; ); System.out.println(); // salta una línea en blanco
  11. 11. EJEM : int a=5 , b=4 , sum=a+b; ; System.out.println (&quot;La suma de &quot;+a+” mas “+b+ “ es “ +sum ); Aparecerá en pantalla : La suma de 5 mas 4 es 9 …..luego salta de línea LECTURA o INGRESO DEDATOS Para el ingreso estandar de datos por teclado se utiliza la sentencia : System.in.read(); Ejm : int a ; System.out.print (&quot; ingrese un valor entero &quot; ); a= System.in.read(); // ojo solo lee un valor entero de 1 cifra
  12. 12. Entrada o lectura de datos con La clase Scanner Scanner es una de las clases que nos permite leer entradas de teclado por consola, para utilizarla se debe importarla de la clase util , de la sgte manera: Import java.util.*; Import java.util.Scanner ; Entrada de variables con diversos tipos de datos Scanner teclado = new Scanner(System.in); TIPO INSTRUCCIÓN Int Variable = teclado.nextInt() float Variable = teclado.nextFloat() double Variable = teclado.nextDouble() Char Variable = teclado.nextChar() Short Variable = teclado.nextShort() String Variable = teclado.next() Variable = teclado.nextLine()
  13. 13. Ejemplos : String nombre; int Anio; float altura; short edad; char paralelo; double sueldo ; //Crear objeto Scanner Scanner teclado= new Scanner(System.in); //Solicitar datos System.out.print(&quot;Ingrese nombre: &quot;); nombre= teclado.next(); System.out.print(&quot;Ingrese año de nacimiento: &quot;); Anio = teclado.nextInt(); System.out.print(&quot;Ingrese altura: &quot;); altura= teclado.nextFloat(); System.out.print(&quot;Ingrese edad: &quot;); edad= teclado.nextShort(); System.out.print(&quot;Ingrese Paralelo: &quot;); paralelo= teclado.nextChar(); System.out.print(&quot;sueldo : &quot;); sueldo= teclado.nextDouble();
  14. 14. CONSTANTES EN JAVA Las constantes son variables que no pueden modificarse. En Java se declaran anteponiendo la palabra reservada final a la declaración de la variable: Final de acuerdo la sgte sintaxis . tipoVariable nombreVariable = valorInicial; Ej.: final char LETRA= 'a'; final double N = 792.495; final double PI = 3.141592;
  15. 15. // programa verifica.cpp #include<iostream.h> #include<conio.h> void main() { int n,r; clrscr(); cout<<&quot; PROGRAMA VERIFICA PAR IMPAR n&quot;; cout<<” ingrese un numero entero&quot;; cin>>n; r=n %2; if(r==0) cout<<” El numero es parn&quot;; else cout<<&quot; El numero es impar n&quot;; cout<<” presione una tecla para salir … “; cin. get(); }
  16. 16. // programa verifica.java import java.io.*; import java.util.*; public class verifica { public static void main (String[] args)throws Exception { int pausa, n,r ; Scanner teclado = new Scanner(System.in) ; System.out.print (&quot;Ingrese un numero entero &quot; ); n=teclado.nextInt(); r=n %2; if(r==0) System.out.println (“ El numero es par&quot; ); else System.out.println(“ El numero es impar &quot; ); System.out.print(&quot;... presione una tecla para salir .... &quot; ); pausa= System.in.read(); } } //` ver: verifica.java
  17. 17. BREVE EXPLICACION DEL CÓDIGO DE JAVA Nota : el nombre de la clase debe ser el mismo nombre del archivo fuente public Esta palabra significa que el método puede utilizarse desde fuera de la clase. static La palabra static significa que para utilizar este método no necesitamos declarar un objeto de la clase. Veremos que en general para utilizar una clase es necesario tener un objeto de dicha clase (una variable de ese tipo, dicho con otras palabras), pero el método main es un método especial ya que es el punto de comienzo de la aplicación. void Todos los métodos deben devolver un resultado de algún tipo. En la cabecera hay que indicar dicho tipo. Sin embargo algunos métodos, como este realmente no necesitan devolver ningún valor. En este caso se declaran como de tipo void .
  18. 18. String[] args Los métodos pueden recibir argumentos. En el caso de main este argumento es una lista (representada en Java por []) de cadenas de caracteres (String en Java). Estas cadenas de caracteres se utilizan para que el usuario pueda pasar información al programa al inicio. En Java, igual que en C y C++ se utilizan las llaves ({ }) para agrupar código, en este caso el cuerpo del método. Este cuerpo está formado por una única instrucción: System.out.println(&quot; &quot;); Instrucción que, como todas en Java, terminan en ;. En este caso se llama al método println que escribe por pantalla una cadena de caracteres. El método pertenece al objeto out definido en la clase System que siempre puede usarse en relación con la declaración import java.io import java.util.Scanner ( .*) ; Para leer de teclado se debe utilizar un objeto de la clase Scanner. Esta clase no es de las incluidas de forma automática y por eso debe incluirse mediante la palabra clave import. Si la clase está definida en otro paquete se escribe el nombre &quot;cualificado&quot;, precedido por el nombre del paquete. En este caso la clase Scanner es parte del paquete util que es a su vez parte de la clase java.
  19. 19. DECLARACION DE OBJETOS EN JAVA Un objeto es una INSTANCIA de una clase ,por lo que se debe declarar de la sgte manera : Nombre_clase variable_objeto = new Nombre_clase( ) ; Ejm : numeros obj=new numeros ( ); // declaración del objeto Nota : si la clase tiene un constructor , los valores se deben poner en los paréntesis , ejm : numeros obj=new numeros ( 12, 4 ); LLAMADA A FUNCIONES MIEMBRO DE LA CLASE ( MÉTODOS ) Variable_objeto . funcion( ) ; Ejm : obj. Ingreso( ) ; obj. Presenta( ) ;
  20. 20. Realizar un programa que maneje una clase la cual tenga como datos 2 numeros enteros ,se desea construir funciones para . ingreso() , mcd(),mcm(), mayor () , promedio() de los valores ingresados Class funciones { int x, y ; public : void ingreso ( ); void mayor( ); void promedio( ) ; int Mcd( ); void Mcm ( int max ) ; } ; Void funciones : : ingreso () void funciones : : mayor ( ) { { ……… .. …… ……….. ………….. ……… . ……… …….. ………… } }
  21. 21. Void funciones : : promedio ( ) int funciones : : Mcd ( ) { { …… .. ……. ……………… …… .. ……… return(max) ; } } Void funciones : : Mcm ( int max) { …… .. ……… } Void main ( ) { int c; funciones obj; obj.ingreso ( ); obj.mayor( ); obj.promedio( ); c= obj.Mcd( ) ; obj. Mcm( c); Cin.get( ); }
  22. 22. import java.io.*; import java.util.*; public class funciones { // inicio de la clase funciones private int x, y; public void ingreso( ) throws Exception { Scanner entrada= new Scanner(System.in); System.out.println(&quot; Ingrese 1er valor &quot;); x=entrada.nextInt(); System.out.println(&quot; Ingrese 2do valor &quot;); y=entrada.nextInt(); } public void mayor( ) { if(x>y) System.out.println(&quot;El numero mayor es: &quot;+x); else System.out.println(&quot;El mayor es &quot;+y); }
  23. 23. public void promedio( ) { double prom; prom=(x+y)/2; System.out.println(&quot;El promedio es: &quot;+prom); } public int mcd() { int aux1,aux2; aux1=x; aux2=y; while( aux1!=aux2 ) { if(aux1>aux2) aux1=aux1-aux2; else aux2=aux2-aux1; } System.out.println(&quot; El MCD es &quot;+ aux1 ); return(aux1); }
  24. 24. public void mcm(int max) { double mcm; mcm=(x*y)/max; System.out.println(&quot;El MCM es: &quot;+mcm); } public static void main (String [ ] args ) throws Exception { int pausa, c; funciones obj=new funciones(); // declaración del objeto obj.ingreso(); c=obj.mcd(); obj.mcm(c); obj.mayor(); obj.promedio(); System.out.println(&quot; .....presione una tecla para salir&quot;); pausa=System.in.read(); } } // fin de la clase funciones // ver funciones.java
  25. 25. ARRAYS EN JAVA SINTAXIS : TIPO nombre [ ] = new TIPO [ dimension ] ; VECTOR TIPO nombre [ ] [ ] = new TIPO [ dimension [ dimension] ; MATRIZ Ejm: int A[ ] = new int[4] ; // en c++ int A[4] double A [ ] [ ] = new Double[5][5] ; // en c++ double A[5][5] int b[ ] = new i nt [10] ; (declara 10 elementos enteros ) int c[ ][ ]= new int [5] [4]; ( declara matriz de 5*4 enteros)
  26. 26. Arrays <ul><li>Declaracion </li></ul><ul><ul><li>int a[]; equivale a int[] a; </li></ul></ul><ul><ul><li>a es un array; b y c son enteros </li></ul></ul><ul><ul><ul><li>int a[], b, c; </li></ul></ul></ul><ul><ul><li>a, b y c son arrays: </li></ul></ul><ul><ul><ul><li>int[] a, b, c; </li></ul></ul></ul><ul><li>Instanciacion </li></ul><ul><ul><li>a = new int[20]; ó int[] a = new int[20]; </li></ul></ul><ul><ul><li>a[0] = 15; // desde cero </li></ul></ul><ul><ul><li>System.out.println(a.length); // imprime 20 </li></ul></ul>
  27. 27. Inicializacion de Arrays <ul><li>Sus elementos se inicializan al valor por defecto del tipo correspondiente </li></ul><ul><ul><li>int[] cuadrados = {0, 1, 4, 9}; </li></ul></ul><ul><li>que equivale a int[] cuadrados = new int[4]; cuadrados[0] = 0; cuadrados[1] = 1; cuadrados[2] = 4; cuadrados[3] = 9; </li></ul>
  28. 28. Ejemplos de Arrays <ul><li>int [] digitos = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; </li></ul><ul><li>String [] dias = {&quot;lunes&quot;,&quot;martes&quot;,&quot;miércoles&quot;,&quot;jueves&quot;, &quot;viernes&quot;,&quot;sábado&quot;,&quot;domingo&quot;}; </li></ul><ul><li>Ejemplo de un recorrido de un arreglo : </li></ul><ul><li> int [] lista = new lista[10]; for (int i = 0; i < lista.length ; i++) { System.out.println (lista[i]); } </li></ul>
  29. 29. INICIALIZAR ARRAY DE STRINGS Cuando se a inicializar un array en Java tenemos varias posibilidades de hacerlo. No es que haya una mejor que otra, sino que podríamos decir que dependiendo de las circunstancias que se nos den La primera es en la propia declaración del array: String a[ ] = {“Azuay&quot;,“Bolivar&quot;,“Carchi&quot;,“Manabi&quot;} ; La segunda forma es mediante la asignación directa de elementos. Aquí, lo primero que tenemos que hacer es declarar el array: String b[ ] = new String[4]; b[0] = &quot;Azuay&quot;; b[1] = &quot;Bolivar&quot;; b[2] = “Carchi&quot;; b[3]=“Manabi”
  30. 30. Inicialización de Arrays Multidimensionales <ul><li>Se necesita un conjunto de datos entre llaves para cada dimensión </li></ul><ul><li>int [][] matriz = </li></ul><ul><li>{ </li></ul><ul><li>{ 1, 2, 3 } , </li></ul><ul><li>{ 4, 5, 6 } </li></ul><ul><li>} ; </li></ul><ul><li>equivale a : </li></ul><ul><li>int [][] matriz = new int[2][3]; matriz[0][0] = 1; matriz[0][1] = 2; matriz[0][2] = 3; matriz[1][0] = 4; matriz[1][1] = 5; matriz[1][2] = 6; </li></ul>
  31. 31. <ul><li>Temas de consulta en JAVA : </li></ul><ul><li>Tratamiento de exepciones en java </li></ul><ul><li>Constructores de java </li></ul><ul><li>Clase String de java </li></ul><ul><li>Clase StringBuffer de java </li></ul><ul><li>Clase Math de java ( métodos mas importantes describir c/u ) </li></ul><ul><li>Clase Thread de java ( métodos mas importantes describir c/u) </li></ul><ul><li>Clase Vector </li></ul><ul><li>Herencia java </li></ul><ul><li>Clases abstractas </li></ul><ul><li>Interfaces en java </li></ul>
  32. 32. <ul><li>Trabajo especial de java : </li></ul><ul><li>Tema : El Lenguaje de Modelación Unificado (UML) </li></ul><ul><li>Subtemas : </li></ul><ul><li>Cosntruccion de bloques UML </li></ul><ul><li>Elementos UML </li></ul><ul><li>Relaciones </li></ul><ul><li>Tipos de diagramas UML </li></ul><ul><li>Elemntos estructurales </li></ul><ul><li>Clases en UML </li></ul><ul><li>Diagramas de clases en UML . Ejemplos </li></ul>
  33. 33. Excepciones en java <ul><li>Una Exeption es un evento que rompe la ejecución normal de un programa (debido a un error). Cuando ocurre un evento como este un objeto de la clase Exception es generado o “lanzado” (throw). </li></ul><ul><li>Existen varios tipos de clases derivadas Exception dependiendo de que fue lo que originó el evento: IOException, IndexOutOfBoundsException, UnknownHostException, etc. </li></ul><ul><li>Cuando esto sucede, el intérprete de JAVA busca un exception handler adecuado para esta exception, que ejecuta un pedazo de código (programado por el usuario) que debería reaccionar en forma adecuada a esta falla del programa. Esto se llama “atrapar una exception” (catch). </li></ul><ul><li>Cuando no se ha escrito ningún ningún handler que atrape esta exception, el programa se detiene (se cae). La razón para introducir exceptions es que la programación para reaccionar ante fallas se hace más fácil (no hay que preverlas todas). </li></ul>
  34. 34. Paquetes <ul><li>Un paquete es una agrupación de clases (librería)‏ </li></ul><ul><li>El programador puede crear sus propios paquetes con la sentencia package al principio del fichero fuente </li></ul><ul><ul><li>package <nombre.paquete>; </li></ul></ul><ul><ul><li>Ejemplo: package empresa.finanzas; </li></ul></ul><ul><li>La composición de nombres (separados por puntos) está relacionada con la jerarquía de directorios: CLASSPATHempresafinanzas </li></ul><ul><li>Los nombres de los paquetes se suelen escribir en minúsculas </li></ul>
  35. 35. Ejemplo de Paquetes <ul><li>Fichero fuente Empleado.java: </li></ul><ul><li>package empresa.finanzas; public class Empleado { ... } </li></ul><ul><li>La clase Empleado realmente se llama empresa.finanzas.Empleado </li></ul><ul><li>Si no se indica la sentencia package, la clase Empleado pertenecerá a un paquete por defecto sin nombre </li></ul>
  36. 36. Sentencia import <ul><li>La sentencia import indica al compilador dónde están ubicadas las clases que estamos utilizando </li></ul><ul><li>Para importar sólo una clase de un paquete: </li></ul><ul><ul><li>import <nombre.paquete>.<NombreClase>; </li></ul></ul><ul><li>Para importar todas las clases de un paquete: </li></ul><ul><ul><li>import <nombre.paquete>.*; </li></ul></ul><ul><li>El compilador añade a todos los ficheros la línea </li></ul><ul><ul><li>import java.lang.*; </li></ul></ul><ul><ul><li>El paquete que contiene las clases fundamentales para programar en Java (System, String, Object...)‏ </li></ul></ul>

×