You are on page 1of 18

1. INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS.

1.1 Programación Orientada a Objetos.


La orientación a objetos es un paradigma de programación que facilita la creación de software de calidad por
sus factores que potencian el mantenimiento, la extensión y la reutilización del software generado bajo este
paradigma.
La programación orientada a objetos trata de amoldarse al modo de pensar del hombre y no al de la máquina.
Esto es posible gracias a la forma racional con la que se manejan las abstracciones que representan las
entidades del dominio del problema, y a propiedades como la jerarquía o el encapsulamiento.

El elemento básico de este paradigma no es la función (elemento básico de la programación estructurada),


sino un ente denominado objeto. Un objeto es la representación de un concepto para un programa, y contiene
toda la información necesaria para abstraer dicho concepto: los datos que describen su estado y las
operaciones que pueden modificar dicho estado, y determinan las capacidades del objeto. Java incorpora el
uso de la orientación a objetos como uno de los pilares básicos de su lenguaje.

1.2 Los objetos.


Podemos definir objeto como el "encapsulamiento de un conjunto de operaciones (métodos) que pueden ser
invocados externamente, y de un estado que recuerda el efecto de los servicios". [Piattini et al., 1996].

Un objeto además de un estado interno, presenta una interfaz para poder interactuar con el exterior. Es por
esto por lo que se dice que en la programación orientada a objetos "se unen datos y procesos", y no como en
su predecesora, la programación estructurada, en la que estaban separados en forma de variables y funciones.

Un objeto consta de:

• Tiempo de vida: La duración de un objeto en un programa siempre está limitada en el tiempo. La


mayoría de los objetos sólo existen durante una parte de la ejecución del programa. Los objetos son
creados mediante un mecanismo denominado instanciación, y cuando dejan de existir se dice que
son destruidos.
• Estado: Todo objeto posee un estado, definido por sus atributos. Con él se definen las propiedades
del objeto, y el estado en que se encuentra en un momento determinado de su existencia.
• Comportamiento: Todo objeto ha de presentar una interfaz, definida por sus métodos, para que el
resto de objetos que componen los programas puedan interactuar con él.

El equivalente de un objeto en el paradigma estructurado sería una variable. Así mismo la instanciación de
objetos equivaldría a la declaración de variables, y el tiempo de vida de un objeto al ámbito de una variable.

1.3. Las clases.


Las clases son abstracciones que representan a un conjunto de objetos con un comportamiento e interfaz
común.

Podemos definir una clase como "un conjunto de cosas (físicas o abstractas) que tienen el mismo
comportamiento y características. Es la implementación de un tipo de objeto (considerando los objetos como
instancias de las clases)". Una clase no es más que una plantilla para la creación de objetos. Cuando se crea
un objeto (instanciación) se ha de especificar de qué clase es el objeto instanciado, para que el compilador
comprenda las características del objeto.

Las clases presentan el estado de los objetos a los que representan mediante variables denominadas atributos.
Cuando se instancia un objeto el compilador crea en la memoria dinámica un espacio para tantas variables
como atributos tenga la clase a la que pertenece el objeto.

1
Los métodos son las funciones mediante las que las clases representan el comportamiento de los objetos. En
dichos métodos se modifican los valores de los atributos del objeto, y representan las capacidades del objeto
(en muchos textos se les denomina servicios).

Desde el punto de vista de la programación estructurada, una clase se asemejaría a un módulo, los atributos a
las variables globales de dicho módulo, y los métodos a las funciones del módulo.

1.4. Modelo de objetos.


Existen una serie de principios fundamentales para comprender cómo se modeliza la realidad al crear un
programa bajo el paradigma de la orientación a objetos. Estos principios son: la abstracción, el
encapsulamiento, la modularidad, la jerarquía, el paso de mensajes y el poliforfismo.

a.) Principio de Abstracción.


Mediante la abstracción la mente humana modeliza la realidad en forma de objetos. Para ello busca parecer
entre la realidad y la posible implementación de objetos del programa que simulen el funcionamiento de los
objetos reales.

Los seres humanos no pensamos en las cosas como un conjunto de cosas menores; por ejemplo, no vemos un
cuerpo humano como un conjunto de células. Los humanos entendemos la realidad como objetos con
comportamientos bien definidos. No necesitamos conocer los detalles de porqué ni cómo funcionan las cosas;
simplemente solicitamos determinadas acciones en espera de una respuesta; cuando una persona desea
desplazarse, su cuerpo le responde comenzando a caminar.

Pero la abstracción humana se gestiona de una manera jerárquica, dividiendo sucesivamente sistemas
complejos en conjuntos de subsistemas, para así entender más fácilmente la realidad. Esta es la forma de
pensar que la orientación a objeto intenta cubrir.

b.) Principio de Encapsulamiento.


El encapsulamiento permite a los objetos elegir qué información es publicada y qué información es ocultada
al resto de los objetos. Para ello los objetos suelen presentar sus métodos como interfaces públicas y sus
atributos como datos privados e inaccesibles desde otros objetos.

Para permitir que otros objetos consulten o modifiquen los atributos de los objetos, las clases suelen presentar
métodos de acceso. De esta manera el acceso a los datos de los objetos es controlado por el programador,
evitando efectos laterales no deseados.

Con el encapsulado de los datos se consigue que las personas que utilicen un objeto sólo tengan que
comprender su interfaz, olvidándose de cómo está implementada, y en definitiva, reduciendo la complejidad
de utilización.

c.) Principio de Modularidad.


Mediante la modularidad, se propone al programador dividir su aplicación en varios módulos diferentes (ya
sea en forma de clases o bibliotecas), cada uno de ellos con un sentido propio. Este disminuye el grado de
dificultad del problema al que da respuesta el programa, pues se afronta el problema como un conjunto de
problemas de menor dificultad y facilita la comprensión del programa.

d.) Principio de Jerarquía.


La mayoría de nosotros ve de manera natural nuestro mundo como objetos que se relacionan entre sí de una
manera jerárquica. Por ejemplo, un perro es un mamífero, y los mamíferos son animales, y los animales seres
vivos...

Del mismo modo, las distintas clases de un programa se organizan mediante la jerarquía. La representación
de dicha organización da lugar a los denominados árboles de herencia: Clase Padre, Clase Hija1, Clase
Hija2, Clase Nieta1, Clase Nieta 2, Clase Nieta 3…

2
Mediante la herencia una clase hija puede tomar determinadas propiedades de una clase padre. Así se
simplifican los diseños y se evita la duplicación de código al no tener que volver a codificar métodos ya
implementados. Al acto de tomar propiedades de una clase padre se denomina heredar.

e.) Principio del Paso de Mensajes.


Mediante el denominado paso de mensajes, un objeto puede solicitar de otro objeto que realice una acción
determinada o que modifique su estado. El paso de mensajes se suele implementar como llamadas a los
métodos de otros objetos. Desde el punto de vista de la programación estructurada, esto correspondería con la
llamada a funciones.

f.) Principio de Polimorfismo.


Polimorfismo quiere decir "un objeto y muchas formas". Esta propiedad permite que un objeto presente
diferentes comportamientos en función del contexto en que se encuentre. Por ejemplo un método puede
presentar diferentes implementaciones en función de los argumentos que recibe, recibir diferentes números de
parámetros para realizar una misma operación, y realizar diferentes acciones dependiendo del nivel de
abstracción en que sea llamado.

1.5 Relaciones entre objetos.


Durante la ejecución de un programa, los diversos objetos que lo componen han de interactuar entre sí para
lograr una serie de objetivos comunes.

2. INTRODUCCIÓN A JAVA.

2.1 Origen de Java. Java fue diseñado en 1990 por James Gosling, de Sun Microsystems, como software
para dispositivos electrónicos: como calculadoras, microondas y la televisión interactiva. Curiosamente, este
lenguaje fue diseñado antes de que diese comienzo la era World Wide Web.

Inicialmente Java se llamó Oak (roble en inglés), aunque tuvo que cambiar de denominación, debido a que
dicho nombre ya estaba registrado por otra empresa. Se dice este nombre se le puso debido a la existencia de
tal árbol en los alrededores del lugar de trabajo de los promotores del lenguaje.

Tres de las principales razones que llevaron a crear Java son:

1. Creciente necesidad de interfaces mucho más cómodas e intuitivas que los sistemas de ventanas que
proliferaban hasta el momento.
2. Fiabilidad del código y facilidad de desarrollo. Gosling observó que muchas de las características
que ofrecían C o C++ aumentaban de forma alarmante el gran costo de pruebas y depuración. Por
ello en sus ratos libres creó un lenguaje de programación donde intentaba solucionar los fallos que
encontraba en C++.
3. Enorme diversidad de controladores electrónicos. Los dispositivos electrónicos se controlan
mediante la utilización de microprocesadores de bajo precio y reducidas prestaciones, que varían
cada poco tiempo y que utilizan diversos conjuntos de instrucciones. Java permite escribir un código
común para todos los dispositivos.

Aunque muchas de las fuentes consultadas señalan que Java no llegó a caer en un olvido, lo cierto es que tuvo
que ser Bill Joy (cofundador de Sun y uno de los desarrolladores principales del sistema operativo Unix de
Berckley) el que sacó a Java del letargo en que estaba sumido. Joy juzgó que Internet podría llegar a ser el
campo adecuado para disputar a Microsoft su primacía en el terreno del software, y vio en Oak el instrumento
idóneo para llevar a cabo estos planes.

Para poder presentarlo en sociedad se tuvo que modificar el nombre de este lenguaje de programación, cuando
un grupo de empleados de Sun visitó una cafetería local, sugirierón el nombre de Java (como se conoce
también en inglés al café) y se tuvo que realizar una serie de modificaciones de diseño para poderlo adaptar al
propósito mencionado. Así Java fue presentado en sociedad en agosto de 1995.

3
2.2 Características principales de Java.

Multitarea o Multihilo (multithreaded). Java permite realizar muchas actividades


simultáneas en un programa. Las actividades o tareas a veces llamadas, procesos ligeros o hilos de ejecución,
son básicamente pequeños procesos o piezas independientes de un gran proceso. Al estar estas tareas
construidas en el mismo lenguaje, son más fáciles de usar.

El beneficio de ser multitarea consiste en un mejor rendimiento interactivo y mejor comportamiento


en tiempo real. Aunque el comportamiento en tiempo real está limitado a las capacidades del Sistema
Operativo (Unix, Windows, MacOS, etc.) de la plataforma.

Dinámico. Java se beneficia todo lo posible de la tecnología Orientada a Objetos y no intenta


conectar todos los módulos que comprenden una aplicación hasta el mismo tiempo de ejecución. Las librerías
nuevas o actualizadas no paralizarán la ejecución de las aplicaciones actuales.

Biblioteca de clases de Java (API Application Programming Interface=


Interfaz de Programación de Aplicaciones).
Los programas Java consisten en piezas llamadas clases y métodos. Se puede programar cada pieza
que se vaya a necesitar para formar un programa Java, pero la mayoría de los programadores que usan Java
aprovechan las ricas colecciones de clases y métodos que existen ya en las bibliotecas de clases de Java. Por
tanto, el aprendizaje del mundo de Java tiene en realidad dos aspectos.

El primero es aprender el Lenguaje Java (sintaxis) mismo para poder programar clases y métodos
propios.
El segundo consiste en aprender usar las clases y métodos de las extensas bibliotecas de clases de
Java API.

Las Bibliotecas de la API de Java consisten de varios paquetes, cada uno de los cuales contiene
varias clases que se agrupan de acuerdo con su funcionalidad. Estas clases consisten de campos y métodos.

Con estas bibliotecas podemos realizar las siguientes acciones:

• Interfaces de usuario, Animación y Procesamiento de Imágenes (java.awt) (AWT= Abstract


Window Toolkit). Sirve para crear interfaces atractivas útiles para applets. Por ejemplo:
Java.awt.Graphics, Applet.getImgae() y menús.
• Applets. (java.applet). Sirve para crear applets e interactuar con el navegador. Por ejemplo
java.appet.Applet.
• Aplicaciones de Entrada y salida (java.io). Sirve para comunicar un programa en Lenguaje Java
(entrada/salida). Por ejemplo: System.out.println();
• Comunicación (java.net). Sirve para comunicarse con otras fuentes de información en red o
Internet. Por ejemplo: java.net.serverSocket.
• Manejo de datos (java.lang). Sirve para el manejo de datos básicos, manejo de errores, seguridad al
cliente al navegar en Internet, este paquete es el corazón del Lenguaje Java, incluye una gran
variedad de métodos. Por ejemplo: Métodos matemáticos utilizando la clase Math.
System.out.println(Math.max(2,8)); el resultado en pantalla es 8.

2.3 Aplicaciones en Java.


Java en mayo de 1995 hizo surgir un interés inmediato en la comunidad de los negocios en vista de la
magnitud del interés comercial por la World Wide Web. Java no era un lenguaje académico como otros
lenguajes (C, Pascal, etc.), más bien, Java había diseñado con motivos comerciales, principalmente para
desarrollar sistemas relacionados con la Internet, la World Wide Web.

4
Aplicaciones:

 Bases de Datos. JDBC (Java DataBase Conectivity), además un doble traductor bridge (puente)
llamado JDBCODBCdriver.
 Sistemas Expertos. API AIMA de Java (algoritmos de búsqueda heurística: A*, IDA*, Profundidad,
Anchura, Profundidad Iterativa, Hillclimbing y Simulated Anneling)
 Telefonía móvil: Java J2ME/MIDP 1.0 (Teléfono móvil: Siemens C55, Nokia 6610).
 Ingeniería Web. Plataforma J2EE (Java 2 Platform, Enterprise Edition), Tecnologías Java Servlet,
JSP (JavaServer Page) y JSTL (JSP Standard Tag Library).

2.4 Herramientas de desarrollo en Java.

2.4.1 Edición. El programa fuente en Java terminan con la extensión java. Se puede crear un programa
utilizando cualquier editor de texto plano ASCII, aunque actualmente se utilizan los Entornos Integrados de
Desarrollo que proporcionan editores específicos para Java con características de edición avanzada, como
coloración de sintaxis, autocompletado de sentencias, etc. Por ejemplo Jcreator, o Kawa.

Primer programa que imprime un mensaje “Hola Mundo” en la pantalla.

// Hola.java
class Hola{
public static void main(String args[]) {
System.out.println("Hola Mundo!");
}
}

// Hola.java. Comentarios unilínea.

class Hola{
Esta línea declara la clase Hola. El nombre de la clase especificado en el archivo fuente se utiliza para crear
un archivo nombredeclase.class en el directorio que se compila la aplicación. En este caso, el compilador
creará un archivo llamado Hola.class.

public static void main(String args[]) {

Esta línea especifica el método que el intérprete Java busca para ejecutar en primer lugar. La palabra clave,
main, para especificar la primera función a ejecutar. En este ejemplo no se pasan argumentos.

public significa que el método main() puede ser llamado por cualquiera, incluyendo el intérprete Java.

static es una palabra clave del Lenguaje le dice al compilador que main se refiere a la propia clase Hola.

void indica que main() no devuelve ningún valor.

args[] es la declaración de un arreglo tipo String.

System.out.println("Hola Mundo!");

5
Ésta es la funcionalidad de la aplicación. Esta línea muestra el uso de un nombre de clase y método. Se usa el
método printfln() de la clase out que está el paquete System, permite presentar en la salida estándar del
Sistema el argumento que se le pase. En este caso, muestra en pantalla la cadena Hola Mundo!

Finalmente , se cierran las llaves que limitan el método main() y la clase Hola.

2.4.2. Compilación.

El compilador Javac se encuentra en el directorio bin dentro del directorio Java, o aquel donde se haya
instalado la plataforma Java. El compilador de Java traslada el código fuente Java a bytes, que son los
componentes que entiende la Máquina Virtual Java que está incluida en los navegadores con soporte Java.

Una vez creado el programa fuente hola.java se puede compilar introduciendo la siguiente línea de
comandos:

javac Hola.java

Si no se han cometido errores al editar el programa, ni se han tenido problemas con el PATH a la hora de
especificar el directorio del programa fuente y del compilador, no debería aparecer mensaje alguno en la
pantalla, y cuando vuelva a aparecer el prompt del sistema, se debería ver un programa Hola.class nuevo en
el directorio donde se encuentra el programa fuente.

Si aparece algún problema, es necesario editar de nuevo el programa para revisar el tipo de error y
nuevamente compilar el programa fuente.

2.4.3 Ejecución.

Para ejecutar la aplicación Hola.class, se utiliza el intérprete java, que también se encuentra en el directorio
bin. Se ejecutará la aplicación con la línea:

Java Hola

Y debería aparecer en pantalla la respuesta de Java:

Hola Mundo!

Cuando se ejecuta una aplicación Java, el intérprete Java busca e invoca el método main() de la clase cuyo
nombre coincide con el nombre del archivo Hola.class que se indique en la línea de comandos.

PLANTILLA DE UN PROGRAMA JAVA.

6
Comentarios
Sirve para describir */
el programa

Sentencias import */
Llama los paquetes de las import
bibliotecas para cargar las clases import
de Java o Interfaz de Java API,
para compilar el programa.

Nombre de la clase class


Nombre descriptivo de la clase
principal
{
public static void main(String arg[])
{
Cuerpo del Método
Sirve para escribir todas las
instrucciones necesarias para que
funcione el método.

}
}

2.4.4. El primer applet de Java.

Un applet es un programa que anima una porción de una página Web. Se recupera a partir de la red y corre en
la máquina del usuario, pero con muchas restricciones de modo que no pueda afectar la integridad del
ambiente del usuario.

A continuación veremos versión applet del ejemplo anterior. Es decir un programa que coloca en una página
Web el mensaje ”Hola Mundo Applet!”.

Crear el programa fuente HolaAp.java:

/* Ejemplo de un Applet : HolaAp.java */

import java.awt.Graphics;

7
import java.applet.Applet;

public class HolaAp extends Applet{

public void paint(Graphics g){

g.drawString("Hola mundo Applet!!",25,25);

Compilar con: javac HolaAp.java

Dado que un applet no se invoca desde el intérprete de comandos, no tiene sentido definir el método
main. El browser Web notifica al applet que debe dibujar su contenido invocando el método paint.
Esto ocurre cada vez que se muestra la porción de la página html que contiene este applet. Por lo tanto un
applet debe definir el método paint (en vez de main).

Las instrucciones:

import java.awt.Graphics;
import java.applet.Applet;

indican que dentro del archivo las clases java.awt.Graphics y java.applet.Applet serán
conocidas simplemente como Graphics y Applet.

Luego viene la definición de la clase HolaAp con:

public class HolaAp extends Applet { ... }

Las palabras extends indican que HolaAp es una extensión de la clase de biblioteca Applet. Esto
significa que HolaAp es casi como Applet, solo que se modifica el comportamiento del método paint.

El método paint recibe como argumento un objeto de tipo Graphics que corresponde a una clase de
biblioteca. Este objeto se usa para dibujar en la porción de página html asignada al applet.

La instrucción g.drawString("Hola mundo Applet!!",25,25); dibuja la cadena Hola mundo


Applet!! en la porción asignada en las coordenadas (25, 25).

Es necesario construir la página html que va a contener el applet. Crear la página HolaAp.html con el
siguiente contenido:

<!-- HolaAp.html, programa que llama la clase HolaAp -->


<HTML>

<APPLET CODE="HolaAp.class" WIDTH=100 HEIGHT=50>


</APPLET>

8
</HTML>

HolaAp.html debe estar en el mismo directorio que HolaAp.java.

Ver el applet con: appletviewer HolaAp.html

El mismo applet también se puede ver desde Web como Internet Explorer u otros.

PLANTILLA DEL APPLET.

Comentarios /*
Sirve para describir
el programa */
import java.applet.*;
Sentencias import import java.awt.*;
Incluye las bibliotecas necesarias
de applets, para compilar el
programa.

Nombre de la subclase public class extends Applet


{
Nombre descriptivo para la
subclase applet

public void paint (Graphics g)


Cuerpo del Método
Sirve para escribir todas las {
instrucciones necesarias para que
funcione el applet. }
}

LA PLANTILLA DE UN PROGRAMA HTML .

<!-- comentarios -->


<HTML>

<APPLET CODE="Nombre.class" WIDTH= ancho del área HEIGHT=altura del área>


</APPLET>

</HTML>

III. MANEJO DE DATOS.

9
3.1 Variables.
Tiene tres propiedades: una posición de memoria para almacenar el valor, el tipo de dato almacenado en la
posición de memoria y el nombre usado para referirse a esa posición de memoria.

Existen 3 tipos de variables:

• de instancia
• de clase
• locales

En Java no hay globales, debido a que es un lenguaje "puro" orientado a objetos.

Los nombres de variables deben empezar con:

• letra,
• _,o
• $

Sensible a mayúsculas/minúsculas, así la variable A es distinta de la variable a y ambas son distintas de la


variable aA.

Al igual que en cualquier lenguaje de programación cualquier nombre debe tener un significado útil.

Creación de variables:

Para crear una variable, simplemente hay que poner el tipo deseado seguido del nombre que se desee dar a la
variable.

Ejemplo:

int calificacion;

char valor1;

boolean exito;

Tipos de información

Un programa Java maneja dos tipos de información:

• Tipos primitivos
• Objetos

Tipos primitivos

Existen ocho tipos de datos primitivos agrupados en los siguientes cuatro grupos:

Cada tipo de datos primitivo tiene el mismo tamaño y características (no importa plataforma o sistema
operativo).

10
Enteros

Tipo Tamaño Valores


(bytes)
byte 1 -128 a 127
short 2 -32,768 a 32,767
int 4 -2,147,483,648 a 2,147,483,647
long 8 9223372037 X 10 E+18

Punto flotante

Tipo Tamño (bytes) Valores


float 4 1.44E-45 a 3.4E+38
double 8 4.9E-324 a 1.7E+308

Caracteres

Se usa para caracteres individuales como letras, números, puntuación y otros símbolos

Booleanos

Solamente pueden tener el valor de "true" o "false"

Inicialización:
Cuando una variable es declarada automáticamente Java inicializa las variables de acuerdo a:

Numéricas 0

Caracteres ‘\0’

Booleanos false

Asignación
Una vez que una variable ha sido declarada, se le puede asignar un valor con el operador de asignación (=).
Ejemplo:

int i;

i=5;

Es posible declarar e inicializar una variable en el mismo enunciado. Ejemplo:

int año = 2000;

11
boolean aprobado = true;

int edad = 20, peso = 80;

Se pueden encadenar las instrucciones de asignación: Ejemplo: x = y = z = 10;

3.2 Expresiones aritméticas.

Una instrucción es una expresión que produce un valor. Ejemplo:

class Geometria{

public static void main (String args[]){

int lados = 4; //declaración e inicialización

System.out.println ("Un cuadrado tiene " + lados + " lados");

lados = 3; //sentencia de asignación

System.out.println ("Un triangulo tiene " + lados + " lados");

}
}

Operadores aritméticos

Operador Significado Ejemplo


+ Suma 3+4
- Resta 10 - 5
* multiplicación 2*7
/ división 5/2
% módulo 7%4

Operadoresde asignación

Expresión Significado
x += y x=x+y
x -= y x=x-y
x *= y x=x*y
x /= y x=x/y

Operadores de Incremento y Decremento:

12
• Incremento ++

• Decremento - -
• Pueden ser prefijos o posfijos: Ejemplo:

Considere el siguiente segmento de código:

int a = 5,b=10;

a++; b--;

System.out.println ("a = " + a); a= 6

System.out.print ln("b = " + b); b= 9

3.3 Constantes.

Mientras se ejecuta un programa no cambia su valor asignado, de forma que no pueda ocurrir ningún
cambio. Una constante se declara de forma similar a una variable, pero añadiendo la palabra reservada
final. Una constante tiene un valor asignado cuando se declara. Ejemplo:

final doble PI=3.1416; final short KM=1000; final int DICIEMBRE=12; final char ASTERISCO=´*´;

Se recomienda para nombrar constantes, usar letras mayúsculas y subrayado. Ejemplos:

System.out.print ln("PI es igual " + PI); PI es igual 3.1416

System.out.println(“Un kilómetro tiene “ + KM + “ metros “); Un kilómetro tiene 1000 metros

System.out.print ln("El número de diciembre es: “ + DICIEMBRE); El número de diciembre es: 12

Ejemplo para calcular el área de un Círculo. La formula que nos calcula el área es la siguiente: Área = Π · r2

public class AreaCirculo {

public static void main(String args[]) {

final double radio = 6; final double PI=3.1416;

double area;

area = PI * (radio*radio);

System.out.println("Área de un circulo de radio "+ radio + " es " + area); Área de un circulo de radio 6 es 113.0976

3.4 La Clase Math.

13
Cuando se desea tener acceso a un método es necesario especificar dónde está la clase a la que pertenece así
es que se utiliza la declaración import.

Una declaración import especifica un identificador (el nombre de la clase) que será referenciada, y el nombre
del paquete en el que está definida. Un * indica que cualquier clase del paquete puede ser referenciada.
Ejemplos:

import java.awt.Graphics;

import java.applet.Applet;

import java.io.*;

import java.util.*;

En Java los métodos siempre están dentro de una clase. Algunos métodos pueden ser invocados o llamados a
través del nombre de la clase en la que fueron definidos sin tener que instanciar un objeto de la clase primero.
Estos métodos son llamados métodos estáticos o de clase.

La clase Math

La clase Math ofrece un gran número de funciones matemáticas básicas. La siguiente tabla muestra algunos
métodos. El formato es Math.metodo, a continuación se muestran fragmentos de programas para dar los
ejemplos:

int a=-5, r;

1. System.out.println("Valor absoluto = " + Math.abs(a)); Valor absoluto = 5 // como salida de datos

2. r=Math.abs(-8); // como asignación

System.out.println("Otro resultado = " + r); Otro resultado = 8

3. if ( Math.abs(10) == r + 2) // para la selección de datos

4. System.out.println("El mayor es " + Math.max(Math.abs(a),1)); El mayor es 5//como parámetros

Método Tipo de Descripción Ejemplo Resultado


argumento

abs (n) int Regresa el valor absoluto de n abs(10) 10


float abs(-8) 8
long

max(a,b) int Regresa el valor más grande entre a y b max(10,20) 20


float
long
min(a,b) int Regresa el valor más pequeño entre a y b min (10,20) 10
float
long
round(n) int Regresa el valor entero de n redondeado al round(5.6) 6

14
float número más cercano. round(5.4) 5
Round(5.5) 6
round(-5.6) -6
pow (n,e) double Regresa el número n elevado a la potencia de e pow(2.0,3.0) 8.0
random () No tiene Genera un número aleatorio entre 0.0 a 1.0 random() 0.70
sqrt (n) double Devuelve la raíz cuadrada de n sqrt(9.0) 3.0
PI No tiene Devuelve el valor de PI PI 3.141592

Nota: NO es necesario utilizar import para usar una función de la clase Math

3.5 La clase String.

Java posee gran capacidad para el manejo de cadenas dentro de su clase String. Las cadenas son apropiadas
para crear editores de textos, procesadores de palabras, software de formación de páginas, sistemas de
tipografía computarizados y otros tipos de software para procesar textos.

Una cadena es una serie de caracteres que se tratan como una unidad. Una cadena puede incluir letras, dígitos,
y diversos caracteres especiales como +,-,*,$ y otros. Una cadena en Java es un Objeto de la clase String
(cadena para manejarlas en el paquete java.lang). Las literales de cadena o constantes (también llamados
objetos de String anónimos) en Java se escriben como una secuencia de caracteres entre comillas; por
ejemplo:

“UAEM”
“Cuernavaca Morelos”
“Clase 2007”
“12345678”

Concatenación de cadenas:

El operador "+" realiza la concatenación cuando, al menos, uno de los operandos es un String:

Ejemplos:

cadena1="este" + "aquel"; // Produce "esteaquel"


cadena2="abc" + 56 // Produce "abc56"
8 + " casa" + "s" //Produce "8casas"
"a" + "casa" + "azul" // Produce "acasaazul"
Un String se puede asignar a una referencia en una declaración.

String msg = “Feliz cumpleaños”;

inicializa la referencia String msg de modo que se refiera al objeto String anónimo “Feliz cumpleaños”.

Un String puede declararse de la siguiente manera:

String nombre;
String vacía = "";
String mensaje = "hola";
String msg= “hola”;
String ciudad = new String();
String despedida = new String ("adios");

15
String c="Mexico lindo y querido";
String t1="otra cosa";

3.6 Métodos para el manejo de cadenas.


Para los ejemplos considere las cadenas definidas anteriormente.

Formato: cadena.metodo

Método Actividad Ejemplo Resultado


length () Devuelve el número de caracteres System.out.println(mensaje.length()); 4
de la cadena
charAt (n) Devuelve el carácter que se System.out.println(mensaje.charAt(0)); h
encuentra en la posición n
equals(otra) Determina si la cadena es igual al System.out.println(mensaje.equals(msg)); true
String otra System.out.println(mensaje.equals(t1)); false
cad1==cad2 Compara si el String cad1 es System.out.println(mensaje==msg); true
igual al String cad2 System.out.println(mensaje==t1); false
compareTo (otra) Comparación lexicográfica. String a="ABC";
Devuelve 0 si los dos String son String b="CBA";
iguales, un número negativo si el String c="ABC";
String que invoca a comparteTo
es menor que el String que se System.out.println(a.compareTo(b)); -2
pasa como argumento y un System.out.println(b.compareTo(a)); 2
número positivo en caso System.out.println(a.compareTo(c)); 0
contrario. El valor devuelto es la
diferencia entre las
representaciones enteras del
primer carácter que es diferente
en cada String.
substring(i,j) crea un nuevo objeto String t1=c.substring(0,6);
copiando parte de un objeto
String existente. System.out.println(t1); Mexico

substring ( i ) o substring (i, j) System.out.println(c.substring(7,12)); lindo

System.out.println(c.substring(18,20)); ?

String a="Edo.Mex";

System.out.println(a.substring(3)); .Mex

Conversión a Al unir con el operador + una int n=12345;


string: cadena con cualquier tipo, el String c;
resultado final es un String. c="" + n;
System.out.println(c.charAt(2)); 3
System.out.println(c.charAt(0)); ?
concat(otra) Concatena dos String y devuelve String a="MEX";
un nuevo objeto String que String b="DF";
contiene los caracteres de los dos a=a.concat(b);
String originales. System.out.println(a); MEXDF

16
System.out.println(b); ?
replace(char,char) genera un objeto String en el que String a="mex y xoxo";
cada ocurrencia del primer System.out.println(a.replace('x','*')); me* y *o*o
carácter en el String con que se System.out.println(a); mex y xoxo
invoca se substituye por el System.out.println(a.replace('K','L')); ?
segundo carácter. Sino hubiera
coincidencias se regresa una
copia del String original.
toUpperCase ( ) Regresa un objeto de la clase String a="Edo. Mex";
String igual pero cuyas
caracteres son todos mayúsculas System.out.println(a.toUpperCase()); EDO.MEX
String Regresa un String con todos los String a="Edo. Mex";
toLowerCase () caracteres en minúsculas
System.out.println(a.toLowerCase()); edo.mex
indexOf((int)char) Devuelve el índice del carácter String a="Edo. Mex";
del String, si no existe regresa -1 System.out.println(a.indexOf((int)'o')); 2
System.out.println(a.indexOf((int)'k')); -1
System.out.println(a.indexOf((int)'M')); ?

3.7 Métodos de Salida.

Despliegue de un string:

String s=”Hola Raton sin cola”;

String t;

System.out.println(s); Hola Raton sin cola


System.out.println(t); // Error t no tiene valor

3.8 Métodos de Entrada.


Método para introducir caracteres individuales tecleados por el usuario: System.in.read, el formato es:

int c;

c=System.in.read();
Empleando este método sólo se puede leer un dígito a la vez, esto se debe a lo limitado de las capacidades de
Java para leer información del flujo de entrada. Con frecuencia es necesario leer información como enteros,
flotantes, cadenas y otro tipos para introducirlos a un programa.

Para poderlo hacer, se requiere diseñar una clase propia o utilizar una diseñada por otras personas, a
continuación se propone la siguiente:

Ponga en su directorio de trabajo el siguiente archivo:

Teclado.java

Compilar el programa javac Teclado.java y generar la clase Teclado.class

17
Utilizar alguna de las funciones de lectura que se encuentran en el archivo Teclado.java, las cuales tienen el
siguiente formato:
tipo variable;
variable = Teclado. Método ();

Ejemplos:

int a;
a = Teclado. readInt ();

Esta clase contiene los siguientes métodos para leer:


readString () readInt ()
readWord () readLong ()
readBoolean () readFloat ()
readChar () readDouble ()

Ejemplos:

int n;
String cad;
float nf;
char c;

System.out.print("Dar numero entero: ");


n=Teclado.readInt();
System.out.print("Dar nombre: ");
cad=Teclado.readString();
System.out.print("Dar numero flotante: ");
nf=Teclado.readFloat();
System.out.print("Dar caracter: ");
c=Teclado.readChar();

18

You might also like