Java Creator

  • View
    228

  • Download
    10

Embed Size (px)

DESCRIPTION

interesante

Text of Java Creator

Java:

Java:del Grano a su MesaAndrs Muoz O.

Versin 1.2

Tabla de Contenidos

2Tabla de Contenidos

Introduccin3Agradecimientos4Captulo I: Principios Bsicos de Java5Captulo II: Conceptos Bsicos22Captulo III: Entrada y Salida27Captulo IV: Asignaciones, Expresiones y Tipos de Datos31Captulo V: Mtodos y Funciones34Captulo VI: Condicionales38Captulo VII: Ciclos de Programa45Captulo VIII: Cadenas de Texto y Literales49Captulo IX: Patrones de Programacin57Captulo X: Arreglos y Matrices60Captulo XI: Recursividad70Captulo XII: Clases y Objetos73Captulo XIII: Ordenamiento y Bsqueda102Captulo XIV: Archivos de Texto122Captulo XV: Interfaces Grficas AWT128Captulo XVI: Interfaces Grficas SWING160Captulo XVII: Excepciones y Control de Errores161Captulo XVIII: Tipos y Estructuras de Datos178Captulo XIX: Archivos de Acceso Aleatorio215Captulo XX: Bases de Datos222Captulo XXI: Concurrencia246Captulo XXII: Comunicacin de Datos255Captulo XXIII: Paquetes de Clases256Captulo XXIV: Diseo de Software UML263Referencias289

Introduccin

Este documento est orientado al apoyo de personas que no tengan conocimiento con el lenguaje Java, ni tampoco con conceptos de programacin.

Todos los captulos estn realizados con un formato de clases, plantenado primero una motivacin que generalmente es un problema que es deseable resolver y que tiene su solucin con los conceptos obtenidos a travs del captulo, luego el desarrollo del tema y por ltimo algunos problemas resueltos y propuestos para practicar con los conceptos obtenidos.

Como est recopilado por clases de ctedra de un profesor de la Universidad de Chile, existe una posibilidad que hayan inconsistencias entre los captulos, que sern solucionados en posteriores ediciones de este apunte.

Su uso es liberado a nivel acadmico, tanto por alumnos del curso de Computacin I como profesores que deseen usar este material como apoyo a sus clases.

Tambin, la idea es dar ms herramientas en espaol para aquellos programadores inexpertos que estn ingresando en el mundo de Java.

Agradecimientos

A mi esposa, Vernica, quien comprendi eternamente las largas noches en los cuales preparaba las clases del ao 2001 y 2002 (las que faltaban).

Adems, para mis alumnos del curso de CC10A Computacin I seccin 03 del ao 2001, de la Escuela de Ingeniera de la Universidad de Chile, quienes motivaron el desarrollo del contenido de este apunte.

Tambin a mis alumnos del curso de CC10A Computacin I seccin 03 del ao 2002, gracias a quienes logr mejorar, completar informacin y compilarla en este apunte.

De manera especial, agradezco a Daniel Muoz, quien me hizo reflexionar en el nombre de este apunte y cambiarlo desde su versin original Java: Programacin y Lenguaje a Java: del Grano a su Mesa.

A Giselle, Pablo y Claudia quienes hicieron control de calidad de mi apunte.

Por ltimo a los profesores y alumnos quienes utilizan este apunte, ya que gracias a ellos podr recibir comentarios y aportes a mi correo electrnico (andmunoz@dcc.uchile.cl) para mejorar ms an su ayuda acadmica y computacional.

A todos, gracias.

Andrs Muoz O.

Ingeniero de Software

Profesor Universidad de Chile

Captulo I: Principios Bsicos de Java

Principios Bsicos

Qu es Java?

JAVA es un lenguaje de programacin creado por SUN Microsystems (http://www.sun.com), muy parecido al estilo de programacin del lenguaje C y basado en lo que se llama Programacin al Objecto.

Programacin al Objeto

Los principios de la programacin al objeto es modelar y representar, a travs de elementos de programacin, objetos que existen en la realidad (tangible o intangibles). Por ejemplo, un lenguaje en donde se pueda modelar una calculadora con todas las operaciones que pueda realizar.

Es as como se encapsula y representa un objeto de la siguiente forma (notacin UML):

Este dibujo representa las funciones que uno puede realizar con una calculadora.

Programacin en Java

Los programas en Java son archivos de texto planos con extensin .java (se utiliza cualquier programa que escriba archivos de texto como son el Notepad de Windows, Wordpad, Textpad e inclusive Word cuando guarda en formato texto) que deben ser compilados con una JVM (Java Virtual Machine) y convertidos en un archivo .class, con el cul pueden ser ejecutados.

Los archivos .class son binarios, por lo que no se pueden abrir con ningn programa.

Un Archivo Java

Un archivo .java debe contener la siguiente estructura base:

// Area de inclusin de libreras (package) [Opcional]

import .*;

// Definicin de la clase

[public] class {

// Definicin de mtodos

[static] [public/protected/private]

(, , ..., ) {

...

}

}

Clase

La estructura anteriormente vista la llamaremos Clase y representar algn objeto o entidad, tangible o intagible que queramos modelar.

En un principio escribiramos clases que sean nuestros Programas Principales, es decir, aquellos que resuelven los problemas que nos planteemos. Por ejemplo:

public class HolaMundo {

static public void main (String[] args) {

Console c = new Console();

c.println (Hola Mundo);

}

}

Esta clase representa mi programa llamado HolaMundo y solo escribe en pantalla la frase Hola Mundo.

Tipos de Clases

Existen 2 tipos bsicos de clases: Las clases ejecutables y las que no lo son.

La diferencia entre estas 2 clases radica fsicamente en que algunas de ellas son invocadas desde otras clases. Por ejemplo, Console es una clase (Console.class) que es invocada o utilizada por la clase HolaMundo anteriormente vista.

Esta clase puede tener muchos mtodos o funcionalidades, que son utilizadas dentro de los otros programas.

public class Console {

public void print(String s) { ... }

public void println(String s) { ... }

public int readInt() { ... }

public double readDouble() { ... }

public long readLong() { ... }

...

}

La clase HolaMundo es del tipo que se puede ejecutar, es decir, al tener el mtodo main significa que lo que est dentro de los parntesis de llave corresponde a lo ejecutable:

public class HolaMundo {

static public void main (String[] args) { // EJECUTABLE

Console c = new Console();

c.println(Hola Mundo);

}

}

Instrucciones

Cada lnea en Java es conocida como una Instruccin, y significa que es lo que uno manda a realizar al computador en un determinado momento. Por ejemplo:

c.println(Hola Mundo); // Indica al computador que debe

// imprimir en pantalla la frase

// HOLA MUNDO

Todas las instrucciones llevan un separador al final: ; (punto y coma). Este separador funciona como si se le indicara al computador DONDE termina una lnea, ya que Java permite que en 1 lnea fsica escribir ms de una instruccin:

c.print(Hola); c.println( Mundo);

Esta lnea es equivalente a:

c.print(Hola);

c.println( Mundo);

ya que el ; indica el fin de instruccin.

Tambin es normal que uno pueda escribir una instruccin en ms de una lnea fsica, ya que el ; es nuestro fin de instruccin:

c.println(Hola +

Mundo);

Estas 2 lnea son interpretadas por el computador como si fuesen una sola:

c.println(Hola + Mundo);

Bloques

En Java se pueden agrupar las instrucciones en Bloques de instrucciones. Los bloques son delimitados por los parntesis de llaves ({ y }).

Los mtodos son bloques de programas que se ejecutan al ser invocados:

static public void main (String[] args) {

Console c = new Console();

c.println(Hola Mundo); BLOQUE

}Las clases se componen de 2 partes: un encabezado y un cuerpo:

public class HolaMundo { ENCABEZADO

static public void main (String[] args) {

Console c = new Console();

c.println(Hola Mundo); CUERPO

}

}El cuerpo de una clase es considerado un bloque de programa, ya que almacena mltiples bloques (mtodos) y otras instrucciones. Los bloques tambin pueden almacenar otros bloques como en este caso.

Ejecucin de un Programa Java

Definiremos plan de ejecucin a las lneas que realmente son ledas y ejecutadas cuando uno invoca la clase que desea correr.

La ejecucin de un programa en Java es lineal, y comienza SIEMPRE por el bloque de programa escrito dentro del mtodo main. Al momento de ejecutar la clase, el bloque main comienza a ejecutar. Luego se realizan las llamadas necesarias a cualquier bloque o mtodo:

import java.io.*;

class ejemplo{

//este programa calcula el factorial de un numero.

static public int fact(int numero){

int factorial=1;

for(int i=1; i_

En general, los errores de compilacin son aquellos que son causados por un problema en la sintaxis o que no dependen de los valores de variables, mtodos e ingresos de datos que ocurran al momento de ejecutar.

Al ver este caso podemos decier inmediatamente que clas est mal escrito. De hecho el compilador nos lo dice:

EjemploDeError.java:1

Indica el archivo y el nmero de la lnea del error.

class or interface expectedste es el error.

El que nos sali en este momento nos dice que esperaba un class o interface, lo que significa que esperaba la palabra class que es claramente el error en que incurrimos. Lo que est abajo de la primera lnea de error es la lnea y est marcado el inicio de la palabra que est mal escrita:

clas EjemploDeError {Esta es la lnea errada.

^

Indic