Professional Documents
Culture Documents
Introducción a Java
/* Use nombres
Esto es una aplicación NO un applet … significativos
*/ para su clase,
class ClaseBasica { forme el
public static void main(String[] args) { nombre con
palabras sin
//Lógica del Programa espacios e
inicie cada
} // fin del main nombre con
} // fin de la clase mayúscula.
Ejemplo
/*
* Este programa despliega en la consola el mensaje “**Salida por Consola!!!”.
*/
class ClaseBasica {
public static void main(String[] args) {
int i;
//Despliega el mensaje cuatro veces
for (i = 0; i <4; i++){
System.out.println("** Salida por Consola!!!");
}
}
}
Comentario
Observe la similitud de las instrucciones con las del lenguaje C. En el programa
se utiliza el método println del objeto System.out. Lectura recomendada:
http://www.htmlpoint.com/guidajava/index.html
1
http://www.ibiblio.org/javafaq/books/jdr/examples/6/index.html
Diego Santimateo G. 1
Programación Orientada a Objetos
Diego Santimateo G. 2
Programación Orientada a Objetos
Tipo de Observación
dato
int Entero de 4 bytes
short Entero de 2 bytes
long Entero de 8 bytes
byte Entero de 1 bytes
float Punto flotante de 4 byte
double Punto flotante de 8 byte
char Representa carácter Unicote de 2
bytes
boolean Sus posibles valores son false y
true.
Variables
Java tiene tres tipos de variables que son: de instancia, de clase y locales.
Las variables de instancia, se usan para guardar los atributos de un objeto
particular, se declaran en la clase pero fuera de los métodos, estas variables se crean
cuando el objeto es creado y permanecen durante la vida del objeto, están visibles para
los métodos y constructores de la clases que las contiene, usualmente se declaran
como privadas (private), lo que impide que otras clases puedan verlas o accederlas.
Las variables de clase se caracterizan porque sus valores son los mismos para
todos los objetos de una determinada clase, se declaran de la misma manera que las
de instancia, solo que son estáticas (static).
Las variables locales se declaran dentro de un método, constructor o bloque. En
el lenguaje Java, las variables locales se declaran en el momento en el que son
necesarias y no usan modificadores de acceso(public, private etc.)
Diego Santimateo G. 3
Programación Orientada a Objetos
Cadenas de caracteres
Java maneja las cadenas de caracteres como una clase, de manera que para
realizar operaciones con ellas se debe recurrir a los métodos de dicha clase, esto
significa que se utiliza el nombre de la variable, seguido de un punto, seguido del
método con sus respectivos parámetros, si existen. Las variables de cadenas no
son vectores como en C, pero cada carácter se asocia con una posición que inicia en
cero. Para acceder a una posición particular puede usar el método charAt().
Declarar una cadena es similar a la declaración de una variable de cualquier
tipo primitivo, veamos los siguientes ejemplos:
Declaraciones: Asignaciones:
int i, j, k; i = 9;
float Peso, Altura; Swt = true;
char Opcion; Opcion = ‘s’;
boolean Swt; Peso = 98.56;
String xx, Nombre; Nombre = “desconocido”
Instrucción Comentario
k = Nombre.length(); Longitud de la variable Nombre.
Nombre.equals(xx); Compara si las cadenas Nombre y xx son iguales.
System.out.println(“peso = ” + Peso); Concatena la cadena “peso =” con el valor 98.56.
Substrae de Nombre los caracteres desde la
xx = Nombre.substring(2, 5); posición 2 hasta la 4, es decir el valor de xx será
sco. Nótese que no incluye la posición 5.
El carácter d de la posición 9 de nombre será
Opcion = Nombre.charAt(i); asignado a la variable Opcion.
Arreglos
Un arreglo es un objeto que almacena una colección de valores del mismo tipo,
los cuales se pueden acceder por medio de un índice o posición, tal y como se procede
en otros lenguajes orientados a procedimientos como Pascal o C. La primera posición
de un arreglo es cero y el valor usado como índice no debe ser negativo, Java verifica
automáticamente si el índice está fuera del rango permitido, según la cantidad de
posiciones declaradas para el arreglo. Los elementos de un arreglo pueden ser de un
tipo primitivo o también pueden ser objetos y siempre deben inicializarse para ser
luego utilizados. Si los elementos son números, el arreglo se inicializa con ceros, si
3
http://leepoint.net/notes-java/summaries/summary-stringbuilder.html
Diego Santimateo G. 4
Programación Orientada a Objetos
son objetos con null, si son caracteres se inicializa con /u0000 y si son boléanos con
false. La inicialización se logra al crear una instancia, como en los siguientes ejemplos:
int[] arreglox = new int[54]
boolean[][] matrizx = new boolean [10][3]
String[] nombre = new String[100];
Como los arreglos también son objetos, podemos utilizar métodos para
manejarlos o conocer sus propiedades, por lo que recomendamos revisar la clase
java.util.Arrays.
Instrucción Comentario
k = arrreglox.length(); Cantidad de elementos de arreglox.
Se utiliza el método sort de la clase Arrays
Arrays.sort(arreglox); para ordenar el vector arreglos.
Con el método arraycopy de la clase System
podemos copiar elementos de un vector a
otro. En este caso copiamos del arreglo
System.arraycopy(vector, 3, vector2, 5, 6) ; vector, 6 elementos a partir de su posición 3,
en el arreglo vector2 iniciando en la posición
5. ¿qué puede decir de los arreglos vector y
vector2?
Diego Santimateo G. 5
Programación Orientada a Objetos
Jerarquía
Uno de los conceptos fundamentales en la programación orientada a objetos es la
herencia, que permite relacionar las clases de manera jerárquica; una clase padre o superclase
sobre otras clases hijas o subclases. La siguiente figura ayuda a visualizar la relación de jerarquía.
Diego Santimateo G. 6
Programación Orientada a Objetos
if (est.pagoMatricula())
datos += "\n Recibo de pago:" + est.getRecibo();
else
datos += "\n ***Estudiante NO ha pagado matricula";
}
}
class Estudiante2{
Diego Santimateo G. 7
Programación Orientada a Objetos
public EstudianteFac (String fac, String n, String cip, String rec, int ed)
{
super(cip, n); //invoca constructor de la super clase
this.edad = ed;
this.facultad = fac;
this.recibo = rec;
}
else
return(true);
}
Java engloba todo el sistema de entrada y salida del paquete java.io bajo el concepto de
flujo (stream), esto implica un tratamiento común a la transmisión de data, sin importar que
recurso la envía o recibe. El flujo es una especie de transporte de datos desde un origen a un
destino, no obstante, el recurso que da origen al flujo se conoce como flujo de entrada,
mientras que el destino se denomina flujo de salida, especificados en las clases InputStream y
OutputStream respectivamente. Para el manejo de la codificación Unicode(dos bytes por caracter)
Diego Santimateo G. 8
Programación Orientada a Objetos
Java posee una jerarquía de clases separadas, se trata de las clases abstractas Reader y Writer,
que atienden aspectos de internacionalización.
Ejemplo
import java.io.*;
import java.util.*;
}
}
Obsérvese que System.in y System.out son objetos definidos en la clase System, mientras
que los objetos isr, br, y texto1 son objetos definidos en el programa que usamos de ejemplo; isr
es asociado a System.in, en consecuencia es el conducto que transporta datos desde el teclado al
programa pero en forma de byte, por otra parte, br es una instancia de BufferedReader asociada
al objeto isr, que transforma cada byte de isr en caracteres(tipo char), esto significa que puede
acceder a los datos de entrada según convenga al programador, por ejemplo con su método
Diego Santimateo G. 9
Programación Orientada a Objetos
readLine() captura una línea entera de caracteres que provienen del teclado y los transforma en
una cadena, que en nuestro caso queda almacenada en el objeto texto1.
String archivoName;
archivoName = JOptionPane.showInputDialog(null, "Indique nombre de archivo:");
try {
//BufferedReader in = new BufferedReader(new FileReader("datos1.txt"));
FileReader arch1 = new FileReader(archivoName);
BufferedReader in = new BufferedReader(arch1);
String s = new String();
try {
in.close();
}
catch ( IOException e )
{
System.err.println( "El archivo no se pudo cerrar correctamente" );
System.exit( 1 );
}
} //fin main
} // fin de LeeconReader
Diego Santimateo G. 10
Programación Orientada a Objetos
try {
// FileWriter con true permite adicionar registros al final...append
FileWriter arch1 = new FileWriter(archivoName, true);
PrintWriter out = new PrintWriter(arch1);
sigue = "s";
while (sigue.equals("s"))
{
linea = JOptionPane.showInputDialog(null, "Indique nuevos datos");
out.println(linea); //graba en el archivo
sigue = JOptionPane.showInputDialog(null, "Entre s para continuar");
}
try {
out.close();
}
catch (Exception e )
{
System.err.println( "El archivo no se pudo cerrar correctamente" );
System.exit( 1 );
}
System.exit(0);
}
catch (Exception e)
{
System.err.println("*** error en apertura o lectura del archivo:\n" +e);
}
} // fin main
} //fin de GrabaLeeFile
Los procesos de entrada y salida pueden provocar excepciones o errores por lo que el
programador debe controlarlos por medio del try … catch.
Diego Santimateo G. 11
Programación Orientada a Objetos
Referencias
1. Libro muy recomendado para aprendizaje de Java. Bruce Eckel's Thinking in Java
http://www.codeguru.com/java/tij/tij0107.shtml
2. Elliotte Rusty Harold. Repositorio de códigos fuentes. http://www.ibiblio.org/javafaq/books/jdr/examples/
3. MIT. Apuntes de Java. http://leepoint.net/notes-java/index.html
4. John Zukowski. The historical collection classes – Arrays. http://www-128.ibm.com/developerworks/library/j-
arrays/index.html
5. Fred Swartz: Java Notes. http://www.leepoint.net/notes-java/index.html
6. Eckel Bruce: Thinking in Java. Libro disponible en línea en Internet. http://www.zone.org/eckel/javabook.htm.
7. JavaSoft de Sun: Tutoriales en línea en Internet. http://www.javasoft.com/products/jdk/1.1/index.html
8. Naughton, Patrick y Schildt, Herbert: Java: The Complete Reference (Complete Reference Series). Osborne
McGraw-Hill, 1996.
9. Campione, Mary y Walrath, Kathy: The Java Tutorial: Object-Oriented Programming for the Internet (Java
Series). Addison-Wesley Pub Co, 1997.
10. Roberto Zoia. Apuntes de Programación java. http://www.zoia.org/blog/category/java/ .2006.[consulta: agosto
2007]
11. ADRFormación. http://www.adrformacion.com/cursos/java/java.html#3 .[consulta: agosto 2007]
12.Java. Tools and Utilities. http://java.sun.com/javase/6/docs/technotes/tools/index.html .[consulta: agosto 2007]
13. Los elementos del Lenguaje Java.
http://www.sc.ehu.es/sbweb/fisica/cursoJava/fundamentos/introduccion/indice_intro.htm .[consulta: agosto 2007]
Diego Santimateo G. 12