Está en la página 1de 75

PROGRAMACIN CON JAVA

Introduccin.
En el primer captulo se Identificara y analizara el lenguaje de programacin Java, sus
fundamentos, sus estructuras de control de programa, y sus clases. Se

conocer los

fundamentos de la Programacin Orientada a Objetos la compresin de lo que es un objeto,


sus clases, sus metodos, sus parmetros y se conocer la implementacin de los arreglos.
En el segundo captulo conocer los fundamentos muy relevantes en la POO tales como la
herencia de las subclases de las clases, la comprensin del polimorfismo que identifica solo
un objeto con varios comportamientos a la vez, las clases abstractas que permiten manejar
un solo objeto con diferentes comportamientos con diversos mensajes, asimismo la clase
de interface que nos permiten acceder con un solo mtodo de presentacin.
En el tercer captulo usted podr conocer la forma en que puede crear las pantallas de
presentacin a partir las clase JFRAME, generando los diversas instancias de las clases
para crear las etiquetas, cuadros de texto, Botn de comando ,lista de seleccin, botones de
radio, casillas de verificacin y otros.

Captulo 1. Principios fundamentales sobre Programacin Orientada a Objetos


1.1. Introduccin a la Programacin en Java
1.2. Concepto de Programacin Orientada a Objetos
1.3. Definicin de clase y objeto
1.4. Formas de ejecucin de programas Java
1.5. Entornos de trabajo (IDE)
1.6. Estructura de un programa en Java
1.7. Elementos del Lenguaje Java
1.7.1.

Ejercicios Prcticos

1.8 Paradigmas de POO: Abstraccin y encapsulamiento


1.8.1 Ejercicios Prcticos
1.8.2 Constructores
1.9 Variables pblicas y privadas
1.10 Arreglos en JAVA
1.10.1 Ejercicios Prcticos
1.11 Resumen

Facultad de Sistemas

Pgina 1 de 75

II Ciclo

Captulo 2. Programacin con objetos


2.1 Herencia
2.2 Sobrecarga de mtodos
2.3 Orientacin a objetos (constructores, pronombres)
2.4 Polimorfismo Clases abstractas
2.5 Interfaces: Cuando lo que se heredan son compromisos
2.6 Ejecucin como aplicacin tipo consola
27 Clases de tipo main class
Captulo 3. Interfaces graficas
3.1 Librera AWT y Swing, caractersticas.
3.2 Ventanas en Java: JFrame, JDialog y JOptionPane
3.3 Menus: JMenu, JMenuItem y JToolbar
3.4 Uso de los Layout managers
3.5 Eventos: definicin
3.6 Integracin de clases con eventos
Objetivos:

Al final del curso el participante ser capaz de alcanzar los siguientes objetivos:
implementar programas usando la sintaxis de Java bsica
Implementar programas

utilizando los principios de la Programacin

Orientada a objetos como la creacin, de clases generando objetos partir de


las instancias de clases.
Implementar programas usando los conceptos de la herencia, polimorfismo,
clases abstractas, interfaces.
Implementar pantallas de presentacin usando clases visuales

Facultad de Sistemas

Pgina 2 de 75

II Ciclo

INDICE
CAPITULO 1:
Principios fundamentales sobre Programacin Orientada a Objetos
1.1

Introduccin a la Programacin en JAVA

1.2

Concepto de Programacin Orientada a Objetos

1.3

Definicin de Clase y Objeto

11

1.4

Formas de Ejecucin de Programas en JAVA

14

1.5

Entorno Trabajo (IDE)

16

1.6

Estructura de un Programa en JAVA

19

1.7

Elementos del Lenguaje JAVA

30

1.7.1 Ejercicios Prcticos

46

Paradigmas de POO-Abstraccin y Encapsulamiento

52

1.8.1 Ejercicios Prcticos

60

1.8.2 Constructores

66

1.9

Variables pblicas y privadas

67

1.10

Arreglos en JAVA

68

1.10.1 Ejercicios Prcticos

69

1.8

1.11

Resumen

Facultad de Sistemas

Pgina 3 de 75

II Ciclo

CAPITULO 1:
Fundamentos de Programacin Orientada a objetos
Objetivos:
Al finalizar este capitulo

Identificar y analizar el lenguaje de programacin Java, sus


fundamentos, sus estructuras de control de programa, y sus clases.

Identificar los Fundamentos de la Programacin Orientada a Objetos,


Las clases de conversin de tipos de datos y arreglos.

Identificar los Fundamentos de la programacin orientada a Objetos y


la Programacin Visual.

Introduccin:
La Programacin Orientada a Objetos facilita la creacin de software de calidad
basadas en el modo de pensar del hombre, con el modo de operar de las mquinas
y se centra en los conceptos bsicos que son los objetos a la cuales se le atribuye
sus propiedades, mtodos y a su vez se generan los modelos de herencia,
abstraccin, encapsulamiento y polimorfismo.

Pensar en trminos de objetos es muy parecido a cmo lo haramos en la vida real.


Por ejemplo vamos a pensar en una persona para tratar de modelar en un esquema
de POO1. Diramos que la persona es el elemento principal que tiene una serie de
caractersticas, como podran ser el nombre, la edad, el sexo, etc. Adems tiene una
serie de funcionalidades (acciones) asociadas, como pueden ser comer, caminar,
dormir, etc.

Programacin Orientada a Objetos

Facultad de Sistemas

Pgina 4 de 75

II Ciclo

1.1 Introduccin a la Programacin En Java


CONCEPTOS PRELIMINARES
Que es JAVA
Java es una plataforma virtual de software desarrollada por Sun Microsystems,
de tal manera que los programas creados en ella puedan ejecutarse sin
cambios en diferentes tipos de arquitecturas y dispositivos computacionales
( "Diferentes plataformas").
La plataforma Java consta de las siguientes partes:

El lenguaje de programacin, mismo.

La mquina virtual de Java o JRE, que permite la portabilidad en


ejecucin.

El API Java, una biblioteca estndar para el lenguaje.

Originalmente llamado OAK por los ingenieros de Sun Microsystems, Java fue
diseado para correr en computadoras de propsito especifico tales como
controlar la humedad y la temperatura, controlar el ritmo cardiaco. Sin embargo,
en 1995, dada la atencin que estaba produciendo la Web, Sun Microsystems
la distribuy para sistemas operativos tales como Microsoft Windows.
El lenguaje mismo se inspira en la sintaxis de C++, pero su funcionamiento es
ms similar al de Smalltalk que a ste. Incorpora sincronizacin y manejo de
tareas en el lenguaje mismo (similar a Ada) e incorpora interfaces como un
mecanismo alternativo a la herencia mltiple de C++.
CREADOR:
Hay ms de cinco versiones distintas sobre el origen, concepcin y desarrollo
de Java, desde la que dice que ste fue un proyecto que rebot durante mucho
tiempo por distintos departamentos de Sun sin que nadie le prestara ninguna
atencin, hasta que finalmente encontr su nicho de mercado en la aldea
global que es Internet; hasta la ms difundida, que justifica a Java como
lenguaje de pequeos electrodomsticos.
Pese a lo que pareca ya un olvido definitivo, Bill Joy, cofundador de Sun y
uno de los desarrolladores principales del Unix de Berkeley, juzg que Internet
podra llegar a ser el campo de juego adecuado para disputar a Microsoft su
primaca casi absoluta en el terreno del software, y vio en Oak el instrumento
idneo para llevar a cabo estos planes. Tras un cambio de nombre y

modificaciones de diseo, el lenguaje Java fue presentado en sociedad en


agosto de 1995.
CARACTERSTICAS DE JAVA:
Es Simple
Reduce en un 50% los errores ms comunes de programacin en lenguajes
como C y C++ al eliminar aritmtica de punteros, referencias, necesidad de
liberar memoria.
Es Robusto
Java realiza verificaciones en busca de problemas tanto en tiempo de
compilacin como en tiempo de ejecucin.
Es Arquitectura neutral
El cdigo compilado tiene un formato independiente de la arquitectura de la
mquina en que se ejecutar.
Es Seguro
No usa punteros para prevenir el acceso ilegal a la memoria.
Es Interpretado
Requiere un runtime (JRE) para ser ejecutado, lo que lo hace diez veces ms
lento que un programa C compilado.
Es Orientado a objetos
Soporta las tres caractersticas propias del paradigma de la orientacin a
objetos: encapsulamiento, herencia y polimorfismo
Es Distribuido
Se ha construido con extensas capacidades de interconexin TCP/IP, presenta
libreras con protocolos http y ftp para obtener informacin a travs de la red.
JAVA EN LA EMPRESA:
Java para aplicaciones corporativas
All donde la red sea algo crtico, Java facilita la programacin corporativa.
Desarrollo rpido de aplicaciones
Java facilita la creacin de entornos de desarrollo de aplicaciones mediante el
uso de frameworks y patrones.
Aplicaciones efectivas y eficientes
Las grandes empresas prefieren programas que se desarrollen rpidamente y
funcionen a que lo haga eficientemente.

Facultad de Sistemas

Pgina 2 de 75

II Ciclo

Portabilidad para programador y programa


La empresa es una plyade de computadores (PC, Mac, HP, Linux,
Windows,...), pero el mismo programa funcionar en cualquier estacin con el
mismo programador.
Costos de desarrollo
La llegada de Java e Intranet ha reducido los costos de las aplicaciones,
adems es creciente el software gratuito por explotar.
JAVA EN TU PC:
Los programas tienen extensin.java (Hola.java)
Genera un compilado con extensin .class (Hola.class)
ELEMENTOS DE COMPILACIN:
Java es un lenguaje compilado, vamos a ver que es esto grficamente:
CDIGO
FUENTE

COMPILAR

CDIGO
OBJETO

LINKEAR

PROGRAMA
EJECUTABLE

Fig. 1. Compilacin de un Programa


CDIGO FUENTE: Es el programa que nosotros escribimos, se graba con la
extensin .java
CDIGO OBJETO: Es el programa fuente pero traducido a lenguaje mquina
(sucesin de 0 y 1), se graba con la extensin .class
PROGRAMA EJECUTABLE: Es el programa objeto ms componentes de
java, se graba con la extensin .jar

Facultad de Sistemas

Pgina 3 de 75

II Ciclo

1.2 Conceptos de Programacin Orientada a Objetos


(POO)
Introduccin
Los programas estructurados se basan en estructuras de control bien definidas,
bloques de cdigo, subrutinas independientes que soportan recursividad y
variables locales. La esencia de la programacin estructurada es la reduccin
de un programa a sus elementos constituidos.
La programacin orientada a objetos permite descomponer un problema en
subgrupos relacionados. Cada subgrupo pasa a ser un objeto auto contenido
que contiene sus propias instrucciones y datos que le relacionan con ese
objeto.
Los mecanismos bsicos de la POO son:
Objetos
Mensajes
Mtodos
Clases
Herencia, Encapsulamiento, Polimorfismo
OBJETOS:
1.- Un programa tradicional (estructurada) se compone de:
Procedimientos(subprogramas)
Datos
Ambos no se encuentran asociados, exige el diseo del algoritmo y la
estructura de datos adecuada.
PROGRAMA TRADICIONAL(TOP DOWN):
MDULO1

SUBPROGRAMA1
MDULO11

PROGRAMA
PRINCIPAL

SUBPROGRAMA2

MDULO2
MDULO21

PROGRAM

FUNCTION, PROCEDURE

CDIGO(DATOS,

VARTIABLES)
Facultad de Sistemas

Pgina 4 de 75

II Ciclo

Fig. 2. -TOP DOWN ( DESCENDENTE )


2.- Un POO, consiste en objetos que contiene tanto a los procedimientos como
a los datos. Ambos estn asociados adecuadamente para realizar
diferentes tareas relacionadas con un elemento, identificado OBJETO.
TRMINOS BSICOS
POO

ESTRUCTURADO

Clase

Tipo

Objeto

Variable

Mtodo

Subprograma

Figura 3.-Diferencias entre trminos de Programacin


Qu es la Programacin Orientada a Objetos ?
La POO es una nueva filosofa de programacin que se basa en la utilizacin
de objetos. El objetivo de la POO no es sino la meta de cualquier modelo de
programacin estructurada convencional: imponer una serie de normas de
desarrollo que aseguren y faciliten la mantenibilidad y reusabilidad del cdigo.
Los mecanismos bsicos de la POO son: objetos, mensajes, mtodos y
clases.
Objeto. Un objeto es cualquier cosa, real o abstracta, que posee atributos
(datos) y un conjunto de operaciones que manipulan esos atributos, atributos
y operaciones le dan al objeto un COMPORTAMIENTO particular.
Por ejemplo, en una biblioteca podemos distinguir los objetos biblioteca, libros,
revistas, usuarios, ficheros, fichas, etc.
OBJETO

MTODOS

DATOS

OBJETO = DATOS + OPERACIONES


Figura 4.- Mtodos y Datos

Facultad de Sistemas

Pgina 5 de 75

II Ciclo

Mensajes. Es el medio de comunicacin (Interrelacin) entre los objetos. Es


una manera de acceder a un mtodo de un objeto para que realice una funcin.
Durante la ejecucin de un POO, los objetos estn recibiendo, interpretando y
respondiendo mensajes de otros objetos.
OBJETO
EMISOR

OBJETO
RECEPTOR
MENSAJE
(EVENTO)

Mtodos

Mtodos

Datos

Datos

B
Figura 5.Mensaje entre Objetos

Los OBJETOS envan y reciben informacin al pasar mensajes de una manera


semejante a la que emplean las personas.
Mtodo. Un mtodo (funcin miembro) es el procedimiento o funcin que
se invoca para actuar sobre un objeto. Un mtodo especifica cmo se ejecuta
un mensaje.
OBJETO
M
E
N
S
A
J
E
S

MTODOS

DATOS

Figura 6.-Mensaje a los Objetos

MTODO Y MENSAJE DE UN OBJETO


EJEMPLO DE OBJETOS: Est sujeta, solo a los lmites que imponga la
imaginacin.

Facultad de Sistemas

Pgina 6 de 75

II Ciclo

Elementos de entorno grficos


Ventanas, mens, mouse, teclado, impresora, etc.
Estructura de datos
Arrays , pilas, listas enlazadas, rboles, etc.
Datos matemticos
ngulos, puntos en el plano, figuras, etc.
Objetos Fsicos
Computadora, impresora, reloj, automvil, aviones, casas. muebles, etc.
Clases. Una clase es una plantilla o anteproyecto para producir objetos de
esa clase o tipo. Una clase est formada por los mtodos y los datos que
definen las caractersticas comunes o todos los objetos de esa clase..
Eje: Una clase Empleado representara todos los empleados de una empresa,
mientras que un objeto de esa clase (tambin denominado instancia)
representara a uno de esos empleados en particular.
COMPONENTES DE LA POO

CLASE BASE
JERARQUA
DE
CLASES

HERENCIA
SUBCLASE
INSTANCIA

OBJETO
PROPIEDADES
EVENTOS

ENCAPSULAMIENTO

MTODOS CON
EVENTOS
MTODOS SIN
EVENTOS

POLIMORFISMO

Figura 7.-Componenets de la POO

Facultad de Sistemas

Pgina 7 de 75

II Ciclo

1.3 Definicin de Clase y Objeto


Una clase es la descripcin de un conjunto de objetos. Consta de mtodos
y datos que resumen las caractersticas comunes de un conjunto de objetos.
Muestra el comportamiento general de un grupo de objetos.

FACTURA

NOMBRE DE LA
CLASE

CLIENTE
DESCRIPCIN
PRECIO
CANTIDAD

DATOS
MTODOS

LEER()
ESCRIBIR()
CALCULAR()
GUARDAR()
ENVIAR()

Figura 8.-Descripcin de una Clase


SUBCLASE: Es una clase definida a partir de otra clase ya existente. Esto se
logra aplicando la caracterstica de HERENCIA.
SUPERCLASE: Es una clase que tiene SUBCLASE. Se dice que es la clase
PADRE o BASE.
Las principales caractersticas de la POO son: abstraccin, herencia,
polimorfismo y encapsulamiento:
Abstraccin. Es la propiedad que permite describir un procedimiento o
fenmeno que existe o sucede en el mundo real. Frecuentemente, un programa
imita un comportamiento o accin humana; otras veces simula(es decir, lo
reproduce) un fenmeno fsico.
Herencia. Es el proceso por el cual un objeto puede adquirir las propiedades
de otro objeto.
Con la herencia, la clase derivada(CLASE HIJA) hereda los datos y mtodos
de sus clases padre(CLASE BASE).
Es decir, podramos tener la clase Empleado (clase base) y la clase
Vendedor derivando de la anterior.

Facultad de Sistemas

Pgina 8 de 75

II Ciclo

Ejemplo de Clase y Sub-Clases

CLASE BASE

Clase Hija 2

Clase Hija 1

Clase Hija 11

Clase Hija 3

Clase Hija 12

Figura 9.-Clase y Subclases


EJM:
AREA

LARGO
ANCHO
RADIO
RECTANGULO()
CIRCULO()

VOLUMEN

ALTURA

AA
CUBO()
CILINDRO()

Figura 10.-Herencia de Clases

Facultad de Sistemas

Pgina 9 de 75

II Ciclo

Polimorfismo. Es la propiedad que permite a una operacin (mtodo) tener


diferentes comportamientos en OBJETOS diferentes. En otras palabras
OBJETOS diferentes reaccionan de modo diferente al mismo mensaje.
En C++ el polimorfismo se consigue mediante la definicin de clases derivadas,
funciones virtuales y el uso de punteros a objetos.
MENSAJE

COMPORTAMIENTO

DIBUJAR

Figura 11.-Poliformismo
Encapsulamiento (Encapsulado, Encapsulacin). Dentro de un objeto parte
de sus datos pueden ser privados del objeto e inaccesible fuera de l. De esta
forma, un objeto proporciona un significativo nivel de proteccin contra
modificaciones accidentales o contra un uso incorrecto de la informacin que
contiene.
CARROS ---------- OBJETOS

CLASE
BASE
CARROS

HERENCIA
CARGA

PASAJERO

CARRERA

Primer Nivel
OMNIBUS

Segundo Nivel

COMBIS

COLECTIVOS

DESCENDIENTES

E
N
C
A
P
S
U
L
A
M
I
E
N
T
O

Figura 12.-Encapsulamiento de Objetos

Facultad de Sistemas

Pgina 10 de 75

II Ciclo

Los objetos se pueden manipular por POLIMORFISMO.

1.4 Formas de ejecucin de programas Java


En este apartado se asume que se ha instalado el JDK (J2SE) distribuido por
SUN Microsystems y que tanto el compilador (javac) como la JVM (java) estn
accesibles. Asumiremos que los comandos se emitirn desde una ventana
DOS en un sistema Windows, siendo la sintaxis en un entorno UNIX muy
parecida. En este captulo se estudiar todos los pasos necesarios para crear,
compilar y ejecutar un programa Java.
Creacin y Compilacin de un programa Java
PASO 1: Con un editor de texto simple (incluso notepad sirve, aunque resulta
poco aconsejabe) creamos un archivo con el contenido siguiente:
package Programas.Ejemplo1;
class HolaMundo {
public static void main ( String [] args) {
System.out.println("Hola a todos");
}
}
Guardamos el fichero fuente con nombre HolaMundo.java en la carpeta:
C:\ApuntesJava\Programas\Ejemplo1.
PASO 2: Abrimos una ventana DOS y en ella:
C:> cd C:\ApuntesJava
C:\ApuntesJava>javac Programas\Ejemplo1\HolaMundo.java
Si no hay ningn error en el programa se producir la compilacin y el
compilador almacenar en el directorio C:\ApuntesJava\Programas\Ejemplo1
un

fichero

de

nombre

HolaMundo.class,

con

el

cdigo

ejecutable

correspondiente a la clase HolaMundo.


Recuerda que en Java las maysculas y minsculas son significativas. No es lo
mismo la clase ejemplo1 que la clase Ejemplo1. Esto suele ser fuente de
errores, sobre todo al principio. Sin embargo, ten en cuenta que en algunos
sistemas operativos como Windows, o ms concretamente en una ventana
DOS, esta distincin no existe. Puedes poner cd C:\ApuntesJava o cd
C:\APUNTESJAVA indistintamente: el resultado ser el mismo (no as en

Facultad de Sistemas

Pgina 11 de 75

II Ciclo

cualquier UNIX, que s distingue unas y otras). Asegurate por tanto, de que las
palabras estn correctamente escritas.
Cuando pones javac Programas\Ejemplo1\HolaMundo.java ests indicando al
compilador que busque un archivo de nombre HolaMundo.java en la ruta
Programas\Ejemplo1, a partir del directorio actual; es decir, ests especificando
la ruta de un archivo.
En el ejemplo se utiliza la clase del API de Java System. Sin embargo el
programa no tiene ningn import. No obstante el compilador no detecta ningn
error y genera el cdigo ejecutable directamente. Esto se debe a que la clase
System est definida en el package java.lang, que es el nico del que no es
necesario hacer el import, que es hecho implcitamente por el compilador.
Para cualquier clase del API, definida fuera de este package es necesario
hacer el import correspondiente.
Ejecucin de un programa Java
PASO 3: Ejecutar el programa: Desde la ventana DOS.
C:\ApuntesJava>java Programas.Ejemplo1.HolaMundo
Se cargar la JVM, cargar la clase HolaMundo y llamar a su mtodo main
que producir en la ventana DOS la salida:
Hola a todos
Los archivos .class son invocables directamente desde la lnea de comandos
(con la sintaxis java nombreDeClase) si tienen un mtodo main Se puede
indicar a la JVM que busque las clases en rutas alternativas al directorio actual.
Esto se hace con el parmetro -classpath (abreviadamente -cp) en la lnea de
comandos. Por ejemplo si el directorio actual es otro, podemos invocar el
programa de ejemplo de la forma:
C:\Windows>java -cp C:\ApuntesJava Programas.Ejemplo1.HolaMundo
Con el parmetro -cp se puede especificar diversas rutas alternativas para la
bsqueda de clases separadas por ;
Cuando pones java Programas.Ejemplo1.HolaMundo ests indicando a la JVM
que cargue y ejecute la clase HolaMundo del Package Programas, subpackage
Ejemplo1. Para cumplir est orden, expresada en trminos Java de clases y
packages

la

JVM

buscar

el

archivo

HolaMundo.class

en

la

ruta

Programas\Ejemplo1 que es algo expresado en trminos del sistema de


archivos, y por tanto del Sistema Operativo.
Facultad de Sistemas

Pgina 12 de 75

II Ciclo

Archivos fuente (.java) y ejecutables (.class)


El esquema habitual es tener un archivo fuente por clase y asignar al archivo
fuente el mismo nombre que la clase con la extensin .java (el nombre .java
para la extensin es obligatorio). Esto generar al compilar un archivo .class
con el mismo nombre que la fuente ( y que la clase). Fuentes y mdulos
residirn en el mismo directorio.
Lo habitual es tener uno o varios packages que compartan un esquema
jerrquico de directorios en funcin de nuestras necesidades (packages por
aplicaciones, temas, etc.)
Es posible definir ms de una clase en un archivo fuente, pero slo una de ellas
podr ser declarada public (es decir podr ser utilizada fuera del package
donde se define). Todas las dems clases declaradas en el fuente sern
internas al package. Si hay una clase public entonces, obligatoriamente, el
nombre del fuente tiene que coincider con el de la clase declarada como public
.

Facultad de Sistemas

Pgina 13 de 75

II Ciclo

1.5 Entornos de trabajo (IDE)


Un entorno de desarrollo integrado o en ingls Integrated Development Environment
('IDE') es un programa compuesto por un conjunto de herramientas para un
programador.
Puede dedicarse en exclusiva a un slo lenguaje de programacin o bien, poder
utilizarse para varios.
Un IDE es un entorno de programacin que ha sido empaquetado como un programa
de aplicacin, es decir, consiste en un editor de cdigo, un compilador, un depurador y
un constructor de interfaz grfica GUI. Los IDEs pueden ser aplicaciones por si solas o
pueden ser parte de aplicaciones existentes. El lenguaje Visual Basic por ejemplo
puede ser usado dentro de las aplicaciones de Microsoft Office, lo que hace posible
escribir sentencias Visual Basic en forma de macros para Microsoft Word.
Los IDEs proveen un marco de trabajo amigable para la mayora de los lenguajes de
programacin tales como C++, Python, Java, C#, Delphi, Visual Basic, etc. En algunos
lenguajes, un IDE puede funcionar como un sistema en tiempo de ejecucin, en donde
se permite utilizar el lenguaje de programacin en forma interactiva, sin necesidad de
trabajo orientado a archivos de texto, como es el caso de Smalltalk u Objective-C.

Es posible que un mismo IDE pueda funcionar con varios lenguajes de programacin.
Este es el caso de Eclipse o NetBeans, que mediante pluggins se le puede aadir
soporte de lenguajes adicionales

Existen varios IDEs para JAVA, se recomienda estas dos:

Facultad de Sistemas

Pgina 14 de 75

II Ciclo

ECLIPSE

Eclipse es un entorno de desarrollo integrado de cdigo abierto multiplataforma para


desarrollar lo que el proyecto llama "Aplicaciones de Cliente Enriquecido", opuesto a
las aplicaciones "Cliente-liviano" basadas en navegadores. Esta plataforma,
tpicamente ha sido usada para desarrollar entornos de desarrollo integrados (del
ingls IDE), como el IDE de Java llamado Java Development Toolkit (JDT) y el
compilador (ECJ) que se entrega como parte de Eclipse (y que son usados tambin
para desarrollar el mismo Eclipse). Sin embargo, tambin se puede usar para otros
tipos

de

aplicaciones

cliente,

como

BitTorrent

Azureus.

Eclipse es tambin una comunidad de usuarios, extendiendo constantemente las


reas de aplicacin cubiertas. Un ejemplo es el recientemente creado Eclipse
Modeling Project, cubriendo casi todas las reas de Model Driven Engineering.

Eclipse fue desarrollado originalmente por IBM como el sucesor de su familia de


herramientas para VisualAge. Eclipse es ahora desarrollado por la Fundacin Eclipse,
una organizacin independiente sin nimo de lucro que fomenta una comunidad de
cdigo abierto y un conjunto de productos complementarios, capacidades y servicios.

NETBEANS

Facultad de Sistemas

Pgina 15 de 75

II Ciclo

NetBeans se refiere a una plataforma para el desarrollo de aplicaciones de escritorio


usando Java y a un entorno de desarrollo integrado (IDE) desarrollado usando la
Plataforma NetBeans.

La plataforma NetBeans permite que las aplicaciones sean desarrolladas a partir de un


conjunto de componentes de software llamados mdulos. Un mdulo es un archivo
Java que contiene clases de java escritas para interactuar con las APIs de NetBeans y
un archivo especial (manifest file) que lo identifica como mdulo. Las aplicaciones
construidas a partir de mdulos pueden ser extendidas agregndole nuevos mdulos.
Debido a que los mdulos pueden ser desarrollados independientemente, las
aplicaciones basadas en la plataforma NetBeans pueden ser extendidas fcilmente por
otros desarrolladores de software.

NetBeans es un proyecto de cdigo abierto de gran xito con una gran base de
usuarios, una comunidad en constante crecimiento, y con cerca de cien socios en todo
el mundo. Sun MicroSystems fund el proyecto de cdigo abierto NetBeans en junio
2000 y contina siendo el patrocinador principal de los proyectos.

Facultad de Sistemas

Pgina 16 de 75

II Ciclo

1.6 Estructura general de un programa en java


public class nombre_clase
{
public static void main(String[ ] args)
{
<Instrucciones>;
}
}

Hola Mundo Java con NetBeans


El IDE NetBeans es un entorno de desarrollo Open Source escrito en Java.
Como este ser el entorno de desarrollo utilizado durante el curso, es
conveniente realizar el ya clebre programa Hola Mundo para saber como

crear un nuevo proyecto

crear un nuevo paquete

crear una nueva Clase

compilar una Clase

ejecutar una Clase

Crear un nuevo proyecto


,

En nuestro caso, crearemos un proyecto llamado proholamundo siguiendo los


siguientes pasos
elegimos File | New Project...

Facultad de Sistemas

Pgina 17 de 75

II Ciclo

Figura 13.-Entorno de Netbeans


en el cuadro de dialogo New Project elegimos Java y Java Application y
seguidamente hacemos clic sobre el botn

Facultad de Sistemas

Pgina 18 de 75

II Ciclo

Figura 14.-Seleccionar Proyecto


en el cuadro de dilogo New Java Application tenemos que rellenar los
siguientes campos

Project Name: proholamundo


o

durante el curso seguiremos una convencin a nivel didctico que


va a consistir en poner el prefijo pro a todos los nombres de los
proyectos que crearemos

Project Location: C:\isg\j2se\prosjava


o

vamos a hacer clic sobre el botn

para indicar que

queremos que nuestro proyecto se aloje por debajo de los


directorios C:\isg\j2se\prosjava
o

durante el curso iremos aadiendo todos los diferentes proyectos


debajo de esta jerarqua de directorios

Set as main project:


o

lo dejamos marcado

Create Main Class:


o

lo desmarcamos

seguidamente hacemos clic sobre el botn

Facultad de Sistemas

Pgina 19 de 75

II Ciclo

Figura 15.-Ubicar en una Carpeta


Crear un nuevo paquete
Cuando estamos realizando aplicaciones de cierta envergadura, tenemos que
incluir las Clases de nuestra aplicacin en paquetes (packages) para poder
obtener una serie de ventajas que ya veremos ms adelante

estos paquetes tienen sentido tanto en el proceso de desarrollo como en


el de produccin

los paquetes no estn ligados a un entrono de desarrollo, sino que es


una parte integral y esencial del lenguaje Java

En nuestro caso, crearemos un paquete llamado paqholamundo siguiendo los


siguientes pasos
nos situamos en la ventana Projects y con el botn derecho del ratn
seleccionamos la carpeta Source Packages correspondiente al proyecto
proholamundo que acabamos de crear.
elegimos new | Java Package...

Facultad de Sistemas

Pgina 20 de 75

II Ciclo

Figura 16.-Crear un Paquete


y en el cuadro de dilogo New Java Package introducimos el nombre del
paquete paqholamundo y hacemos clic sobre el botn

Figura 17.-Fuente de Paquetes

Facultad de Sistemas

Pgina 21 de 75

II Ciclo

Crear una nueva Clase


En Java los programas o aplicaciones se escriben en ficheros que tienen la
extensin .java

una aplicacin puede tener uno o ms ficheros con extensin .java

cada uno de estos ficheros .java contiene una Clase


o

cada vez que se crea una nueva Clase, se crea su


correspondiente fichero con el nombre de la Clase y con
extensin .java

En nuestro caso, vamos a crear una Clase que la vamos a llamar HolaMundo
siguiendo los siguientes pasos nos situamos en la ventana Projects y con el
botn derecho del ratn seleccionamos el paquete paqholamundo
elegimos new | Other...

Figura 18.-Crear Paquete

Facultad de Sistemas

Pgina 22 de 75

II Ciclo

en el cuadro de dilogo New File elegimos la categoria Java y el tipo de fichero


Java Main Class y hacemos clic sobre el botn

Figura 19.-Crear Clases


en el campo de Texto Class Name indicamos que la Clase se va a llamar
HolaMundo y hacemos clic sobre el botn

Facultad de Sistemas

Pgina 23 de 75

II Ciclo

Figura 20.-Crear Clases


Este es el cdigo generado por el Asistente de NetBeans
package paqholamundo;
public class HolaMundo
{
public static void main(String[] args)
{
//TODO code application logic here
}
}

package paqholamundo;
o

en esta primera lnea de cdigo, estamos indicando que la clase


HolaMundo pertenece al paquete paqholamundo

public class HolaMundo { }


o

aqu estamos declarando el nombre de la Clase

es muy importante mencionar que todo cdigo Java que se


escriba tiene que estar obligatoriamente incluido dentro de una
Clase

es decir el cdigo java siempre estar dentro del bloque


(indicado entre llaves {}) de esa Clase

public static void main(String[] args) { }

Facultad de Sistemas

Pgina 24 de 75

II Ciclo

aqu estamos declarando el mtodo main(...)

de momento saber que la MVJ (Mquina virtual Java) cuando


tiene que ejecutar la aplicacin HolaMundo, lo primero que hace
es buscar este mtodo como punto de entrada a la aplicacin

Y para que nos muestre el mensaje Hola Mundo..., tenemos que aadir el
siguiente cdigo al mtodo main(...)
Nota: Podemos ahorrarnos toda la escritura de la lnea System.out.println("");
escribiendo out y seguidamente presionando la tecla tabulador
public static void main(String[] args)
{
System.out.println("Hola Mundo...");
}

System.out.prinln("Hola Mundo...");
o

de momento slo saber que "Hola Mundo.." es un String que se


muestra como mensaje de salida

Compilar una Clase


En Java, las Clases compiladas se encuentran en ficheros que tienen la
extensin .class

al contenido de estas clases se le denomina cdigo byte

si no tuviramos un IDE como NetBeans tendramos que ejecutar el


comando javac

En nuestro caso, compilaremos la Clase HolaMundo situndonos en la


ventana Projects. Seguidamente seleccionamos con el botn derecho del
ratn la Clase HolaMundo.java y elegimos Compile File

F9. Esta accin

hace que Netbeans ejecute de forma transparente para nosotros el comando


javac

Facultad de Sistemas

Pgina 25 de 75

II Ciclo

Figura 21.-Compilar el Programa


Ejecutar una Clase
A diferencia de los lenguajes compilados que ejecutamos ficheros con la
extensin .exe, en java se ejecutan los ficheros con extensin .class

si no tuviramos un IDE como NetBeans tendramos que ejecutar el


comando java, cuya utilizacin ya veremos ms adelante

Para ejecutar la Clase HolaMundo nos vamos a situar en la ventana Projects.


Seguidamente seleccionamos con el botn derecho del ratn la Clase
HolaMundo.java y elegimos Run File Maysculas+F6

Facultad de Sistemas

Pgina 26 de 75

II Ciclo

Figura 22.-Ejecutar el programa


y finalmente ya vemos el mensaje Hola Mundo en la ventana Output

Figura 23.-Resultado de la Ejecucin

Facultad de Sistemas

Pgina 27 de 75

II Ciclo

Elementos del Lenguaje JAVA


COMENTARIOS:
//
/*

: Inicio de un comentario.
*/ :Todo

lo

que

escribimos

entre

los

smbolos

anteriores

son

comentarios para el programador, que no influyen para nada en la ejecucin


del programa.
SMBOLOS BSICOS:
a) Letras : a ... z , A ... Z ( no incluye , )
b) Dgitos : 0 .. 9
c) Smbolos especiales : + - * / ; [ ] : { } . , = <= >= etc.
IDENTIFICADORES :
Es un nombre con el que se describir a una variable usado en el programa.
Es el nombre que le damos a una variable.
CARACTERSTICAS:
1.- Puede tener hasta 127 caracteres.

Ejm:

x ( 1 caracter )

suma ( 4 caracteres )

sum

nombre ( 6 caracteres )

nomb

valor_inicia l( 13 caracteres ) vi

Recomendacin: Usar de 3 a 5 caracteres.


2.- El primer carcter debe ser una letra o subrayado.

Vlido

No Vlido

sueldo

prom 1

n1

-sum

prom_2

2n

_123

nom-5

3.- Se hace distincin entre minsculas y maysculas.

Facultad de Sistemas

Pgina 28 de 75

II Ciclo

Ejm: suma Suma SUMA


4.- Deben ser distintas de las Palabras Reservadas

Ejm:

if

while

for

float

null

PALABRAS RESERVADAS:

Son identificadores con un significado especial para el compilador, crear el


programa ejecutable.

Ejm:

if

while

for

else

case

boolean

switch

class

void

NOTA: Siempre se escribe en minsculas, no pueden ser variables.

Facultad de Sistemas

Pgina 29 de 75

II Ciclo

VARIABLE : Es un dato almacenado en una posicin de memoria cuyo


contenido o valor vara ante la ejecucin de un programa. Toma direccin en la
memoria RAM.
RAM
asignacin
x

car
car

MEMORIA

Variable

Dato o
Informacin

Direccin de
Memoria

INICIALIZACIN DE VARIABLES:
Java tiene la caracterstica de que sus variables pueden ser inicializadas en el
momento de su declaracin.

Facultad de Sistemas

Pgina 30 de 75

II Ciclo

Ejm:
double sueldo = 0.0;
int s = 0;
String cad = ;

REGLAS DE CODIFICACIN
1.- Las instrucciones o comandos podrn estar escrito en minsculas.
Ejm:

if

while

for

class

null

static

public

2.- Toda instruccin o comando debe terminar con punto y coma(;).

Ejm:

a) __________________ ;
_____________ ;
________;

b) ______________; ___________ ;
___________;

c) _____________; _______________; ____________;

NOTA: Se puede apreciar en cada caso tres instrucciones.

Facultad de Sistemas

Pgina 31 de 75

II Ciclo

3.- Las variables que se van a usar tienen que estar declaradas
necesariamente.

Ejm:

ar = b * h ;
per = 2 * ( b + h ) ;
bonif = 0.18 * sue ;
SENTENCIA DE ASIGNACIN:

Es muy importante, nos indica que una variable almacena (recibe) un dato o
valor mediante una expresin.

SINTAXIS:

Guarda, Almacena

< VARIABLE > = < DATO O EXPRESIN > ;

Son del mismo tipo ( tienen que ser iguales )

Ejm:

edad = 18 ;

entero entero

num = 4 ;

sue = 658,75 ;

letra = a ;

Facultad de Sistemas

Pgina 32 de 75

II Ciclo

Tipos de datos
TIPO: Determina la naturaleza del dominio de valores que puede tomar una
variable, las operaciones en que puede participar y el espacio de memoria que
necesita.
CLASIFICACIN:

Fig 24.Tipo de Datos

TIPOS ENTEROS:

TIPO

RANGO

MEMORIA

int

-32768 a 32767

2 Bytes

long

-2147483,648 a 2147483,647

4 Bytes

TIPOS REALES:

TIPO

RANGO

MEMORIA

float

3.4E-45 a 3.4E+38

4 Bytes

double

1.7E-308 a 1.7E+308

8 Bytes

TIPO BOOLEAN (LGICO):

TIPO

RANGO

Facultad de Sistemas

MEMORIA
Pgina 33 de 75

II Ciclo

bool

true / false

1 Byte

TIPO CHAR:

TIPO

RANGO

MEMORIA

char

a..z, A..Z, 0..9,+.-,*,/,etc.

1 Byte

EXPRESIONES Y OPERADORES
1.- EXPRESIN: Es un conjunto de operandos ms operadores.

EXPRESIN = OPERANDOS + OPERADORES


Variables

*,+,-,/,div,mod,etc.

Constantes
EJM:
a) 5 * 4
b) ( X + 6 ) / 8
c) 80 div 5
d) not ( X > Y )
e) ( X < 80 ) and ( X > 40 )

Facultad de Sistemas

Pgina 34 de 75

II Ciclo

2.- OPERADORES: Se utiliza para formar expresiones.


TIPOS:
A)

OPERADORES MATEMTICOS:

OPERADOR

OPERACIN

TIPO

DE TIPO

OPERANDO

RESULTADO

Suma

E R

E R

Resta

E R

E R

Multiplicacin

E R

E R

Divisin Entera

Residuo

B)

OPERADORES BOOLEANOS(LGICOS):

OPERADOR

OPERACIN

TIPO

DE TIPO

OPERANDO

RESULTADO

Negacin Lgica

boolean

boolean

&&

And Lgica

boolean

boolean

||

Or Lgica

boolean

boolean

C)

DE

OPERADORES RELACIONES(CONDICIONALES):

OPERADOR

OPERACIN

TIPO

DE TIPO

DE

OPERANDOS

RESULTADO

==

Igual

Tipos Compatibles

boolean

!=

No igual

Tipos Compatibles

boolean

<

Menor que

Tipos Compatibles

boolean

>

Mayor que

Tipos Compatibles

boolean

<=

Menor o igual que

Tipos Compatibles

boolean

>=

Mayor o igual que

Tipos Compatibles

boolean

D)

DE

OPERADORES DE ASIGNACIN:

OPERADOR

Facultad de Sistemas

OPERACIN

Pgina 35 de 75

II Ciclo

++

Incremento en uno (Post, Pre)

--

Decremento en uno (Post, Pre)

+=

Suma y asignacin

-=

Resta y asignacin

*=

Multiplicacin y asignacin

/=

Divisin y asignacin

Asignacin Sencilla

EJM 1:
1) X = X +1 ;
2) X + = 1 ;
3) X + + ;
EJM 2:
1) X = X -1 ;
2) X - = 1 ;
3) X - - ;
EJM 3:
1) X + = 3 ; X = X +3 ;
2) X * = 2 ; X = X * 2 ;
3) n + + ;

n=n+1;

4) X / = 5 ; X = X / 5 ;

Estructuras bsicas

Estructuras secuenciales

La estructura secuencial consta esencialmente de sucesivos pasos o


instrucciones, uno detrs de otro.
Sintaxis:
{
<Instruccin 1>;
<Instruccin 2>;
<Instruccin 3>;
<Instruccin 4>;
.

Facultad de Sistemas

Pgina 36 de 75

II Ciclo

.
.
.
<Instruccin n>;
}

ESTRUCTURAS DE CONTROL CONDICIONAL

Las estructuras condicionales son instrucciones de programacin que permiten


controlar la ejecucin de un fragmento de cdigo en funcin de si se cumple o
no una condicin.
ESTRUCTURAS DE DECISIN

Estructura if Simple

Esta estructura evala una condicin especfica y, si es verdadera, ejecuta


todas las instrucciones que le siguen a la palabra clave if.
Sintaxis:
if (<condicin>)
{
<Instrucciones>;
}

Estructura if ... else

Permite evaluar una condicin, si la condicin es verdadera ejecuta las


instrucciones debajo del if sino ejecuta las instrucciones debajo de la clusula
else.
Sintaxis:
if (<condicin>)
{
<Instrucciones 1>; ejecuta si condicin es verdadera
}
else
{
<Instrucciones 2>; ejecuta si condicin es falsa
Facultad de Sistemas

Pgina 37 de 75

II Ciclo

Estructuras if ... Anidadas

Dentro de una estructura If puede ir otra, y dentro de esta otra y otra.


Sintaxis:
if (<condicin 1>)
{
<Instrucciones 1>; si condicin 1 es verdadera
}
else
if (<condicin 2>)
{
<Instrucciones 2>; si condicin 2 es verdadera
}
else
If (<condicin 3>)
{
<Instrucciones 3>; si condicin 3 es verdadera
........................
........................
}
else
if (<condicin n>)
{
<Instrucciones n>; si condicin n es verdadera
}
else
{
<Instrucciones m>,si ninguna de las anteriores es verdadera
}
Ejemplo
int puntuacion;
String nota;
if (puntuacion >= 90) {
nota = "Sobresaliente";
Facultad de Sistemas

Pgina 38 de 75

II Ciclo

} else if (puntuacion >= 80) {


nota = "Notable";
} else if (puntuacion >= 70) {
nota = "Bien";
} else if (puntuacion >= 60) {
nota = "Suficiente";
} else {
nota = "Insuficiente";
}

Estructura switch

Es una estructura que evala una determinada expresin que puede tener
mltiples alternativas de las cuales se podr realizar una de ellas, en el caso
que sea verdadera sino se evaluaran las instrucciones de la parte falsa debajo
de la clusula default.
Sintaxis:
switch(<expresin>)
{
case valor 1:

{S valor 1 es verdad}

<Instrucciones 1>;break;
case valor 2:

{S valor 2 es verdad}

<Instrucciones 2>;break;
case valor 3:

{S valor 3 es verdad}

<Instrucciones 3>;break;
.
.
case valor n:

<Instrucciones n>; {S valor n es verdad}

default:

<Instrucciones m> {Si no son verdaderos los valores anteriores}

Facultad de Sistemas

Pgina 39 de 75

II Ciclo

class claseswitch
{
public static void main(String[] args)
{
int diasemana=6;
switch(diasemana)
{
case 0:
System.out.println("Dia Lunes");
break;
case 1:
System.out.println("Dia Martes");
break;
case 2:
System.out.println("Dia Miercoles");
break;
case 3:
System.out.println("Dia Jueves");
break;
case 4:
System.out.println("Dia Viernes");
break;
case 5:
System.out.println("Dia Sabado");
break;
case 6:
System.out.println("Dia Domingo");
break;
default:
System.out.println("No existe");
break;
}
}
}
Facultad de Sistemas

Pgina 40 de 75

II Ciclo

ESTRUCTURAS DE BUCLES O REPETITIVAS

ELEMENTOS AUXILIARES
CONTADOR:
Es una variable de tipo entero que permite controlar el nmero de repeticiones
que puede dar un conjunto de instrucciones.
Los contadores se pueden inicializar con un valor de 0 1, pero no
necesariamente.
Sintaxis:
Variable = Variable + valor;
ACUMULADOR:
Es una variable recipiente que permite guardar un conjunto de valores que
pueden ser: entero, real o cadena.
Sintaxis:
Variable = Variable + variable1;

ESTRUCTURAS REPETITIVAS:
Son empleadas en procesos repetitivos basados en rangos o condiciones.
Estructura while.- Permiten ejecutar un conjunto de instrucciones mientras
que una condicin sea verdadera.
Sintaxis:
while(<condicin>)
{
<Instrucciones>, se ejecutan mientras condicin sea verdadera
}
Estructura do ... while.- Permiten ejecutar un conjunto de instrucciones hasta
que una condicin sea verdadera.
Facultad de Sistemas

Pgina 41 de 75

II Ciclo

Sintaxis:
do
{

<Instrucciones>; se ejecutan mientras condicin es verdadera


}
while(<condicin>);
Sentencia for.- Permite repetir un conjunto de instrucciones desde un valor
inicial hasta un valor final.
Sintaxis:
for (var = Valor Inicial; var<= Valor Final; incremento)
{
<Instrucciones>;

se repiten

}
public class clasedowhile
{

public static void main(String[] args)


{

long num,contador,suma,multiplicacion;
num=0;contador=0;
do
{

contador=contador+1;
num=num+2;
System.out.println("cuenta del numero===>"+contador);
System.out.println("Numero===>"+num);
}

while(contador<=9);
}
}
Respuesta
cuenta del numero===>1
Numero===>2
cuenta del numero===>2
Numero===>4
cuenta del numero===>3
Numero===>6
cuenta del numero===>4
Facultad de Sistemas

Pgina 42 de 75

II Ciclo

Numero===>8
cuenta del numero===>5
Numero===>10
cuenta del numero===>6
Numero===>12
cuenta del numero===>7
Numero===>14
cuenta del numero===>8
Numero===>16
cuenta del numero===>9
Numero===>18
cuenta del numero===>10
Numero===>20

Facultad de Sistemas

Pgina 43 de 75

II Ciclo

1.7.1 Ejercicios Prcticos


Estructuras secuenciales
Programa que obtiene el promedio de 3 nmeros
package javaejemplos;
import javax.swing.*;
public class ClasePromedio {
public static void main(String[] args)
{
String Entrada1, Entrada2, Entrada3;
String Respuesta="";
int N1,N2,N3,Prom=0;
Entrada1=JOptionPane.showInputDialog("Ingrese la primera Nota1");
Entrada2=JOptionPane.showInputDialog("Ingrese la primera Nota2");
Entrada3=JOptionPane.showInputDialog("Ingrese la primera Nota3");
N1=Integer.parseInt(Entrada1);
N2=Integer.parseInt(Entrada2);
N3=Integer.parseInt(Entrada3);
Prom=(N1+N2+N3)/3;
JOptionPane.showMessageDialog(null, "El Promedio es ===>" + Prom + "\n"
,"PROMEDIO DE 3 NUMEROS",JOptionPane.INFORMATION_MESSAGE);
}
}

Fig. 25 Pantallas de Ingreso y Resultados

Facultad de Sistemas

Pgina 44 de 75

II Ciclo

Programa que calcula la suma de las cifras de un #


import javax.swing.*;
public class SumaCifras {
public static void main(String[] args) {
//Definiendo variables
String c;long suma=0;
//Obteniendo # como texto
c=JOptionPane.showInputDialog(null,"Ingrese
cifras","",1);

Nmero

de

//Convirtiendo el nmero en entero


int n=Integer.parseInt(c);
//Descomponiendo el # en centenas, decenas y unidades
long cen=n/100;
long res=n%100;
long dec=res/10;
long uni=res%10;
//Calculando la suma de las cifras
suma=cen+dec+uni;
//Imprimiendo la suma de las cifras
System.out.println("La suma sus cifras es: "+suma);
}

}
Programa que determina el revs de un nmero
import javax.swing.*;
public class NumeroReves {
public static void main(String[] args) {
//Definiendo variable para el nmero
String c;
//Ingresando numero como texto
c=JOptionPane.showInputDialog(null,"Ingrese nmero","",1);
//Creando un nuevo objeto de tipo StringBuffer
StringBuffer c1=new StringBuffer(c);
//Aplicando el mtodo reverse para invertir el nmero
StringBuffer c2=c1.reverse();

//Imprimiendo el nmero invertido


System.out.println("El nmero al revs es "+c2);
}
}

Facultad de Sistemas

Pgina 45 de 75

II Ciclo

Estructuras Condicionales
Programa que ingresa 3 lados y determina si es equiltero, issceles o
escaleno.
import javax.swing.*;
public class triangulo {
public static void main(String[] args)
{
int lado1,lado2,lado3;
String mensaje;
mensaje="";
lado1=Integer.parseInt(JOptionPane.showInputDialog("Ingrese
el
Primer
Lado"));
lado2=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el Segundo
lado"));
lado3=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el tercer
lado"));
if((lado1==lado2) && (lado2==lado3) && (lado1==lado3))
mensaje="Triangulo Equilatero";
else
if((lado1==lado2) || (lado2==lado3) || (lado1==lado3))
mensaje="Triangulo Isosceles";
else
mensaje="Triangulo escaleno";
JOptionPane.showMessageDialog(null, "El Triangulo es ===>" + mensaje +
"\n" ,"TRIANGULO",JOptionPane.INFORMATION_MESSAGE);
}
}

Programa que ingresa 5 numeros y determina el mayor, el menor,el


promedio y la suma
package javaejemplos;
import javax.swing.*;
public class ejerciciomayormenor {
public static void main(String[] args)
{
// TODO code application logic here
//Aplicaciones
int n1,n2,n3,n4,n5,suma, mayor=0, menor=10000000;
double prom;
n1= Integer.parseInt(JOptionPane.showInputDialog("Ingrese el N1;"));
n2= Integer.parseInt(JOptionPane.showInputDialog("Ingrese el N2;"));
n3= Integer.parseInt(JOptionPane.showInputDialog("Ingrese el N3;"));
n4= Integer.parseInt(JOptionPane.showInputDialog("Ingrese el N4;"));
n5= Integer.parseInt(JOptionPane.showInputDialog("Ingrese el N5;"));
//Hallar el mayor
Facultad de Sistemas

Pgina 46 de 75

II Ciclo

if(n1>n2) mayor=n1;else mayor=n2;


if(n3>mayor) mayor=n3;
if(n4>mayor) mayor=n4;
if(n5>mayor) mayor=n5;
//Hallar el menor
if(n1<n2) menor=n1;else menor=n2;
if(n3<menor) menor=n3;
if(n4<menor) menor=n4;
if(n5<menor) menor=n5;
prom=(double)(n1+n2+n3+n4+n5)/5;
suma=mayor+menor;
//Impresiones
System.out.println("Los numeros son: "+n1+" "+n2+" "+n3+" "+n4+" "+n5) ;
System.out.println("El Mayor es: "+mayor);
System.out.println("El menor es: "+menor);
System.out.println("El promedio es: "+prom);
System.out.println("La suma es: "+suma);
}
}
Programa que determina si un nmero es primo o no
import javax.swing.*;
public class NumeroPrimo{
public static void main(String[] args) {
//Definiendo variable para el nmero
String c;
//Ingresando numero como texto
c=JOptionPane.showInputDialog(null,"Ingrese nmero","",1);
//Convirtiendo el numero a entero
int n=Integer.parseInt(c);
//Determinando si el # es primo o no
if (n%1==0 && n%n==0 && n%2!=0){
System.out.println("El # "+n+" es PRIMO");
}else{
System.out.println("El # "+n+" No es PRIMO");
}
}
}

Funciones Matematicas
//Simula el lanzamiento de 3 dados
public class LanzaDados {
public static void main(String[] args) {
//Declarando variables
int i=1,c=0;
//Definiendo bucle para generar tiros

Facultad de Sistemas

Pgina 47 de 75

II Ciclo

while(i<=100) {
//Generando los #s
long d1=Math.round(Math.random()*5+1);
long d2=Math.round(Math.random()*5+1);
long d3=Math.round(Math.random()*5+1);
//Incrementa en 1 el contador
c++;
//Imprimiendo los tiros de los dados
System.out.print(d1+"\t"+d2+"\t"+d3);
System.out.println("");
//Incrementa 1 al contador
i++;
//Si los tres dados tinen 6 se termina el programa
if (d1==6 && d2==6 && d3==6){i=101;}
}
System.out.print("Fue necesario tirar "+c+" veces");
}
}

Estructuras repetitivas
//Calcula la altura de un proyectil con la formula
//h=50+200t+5t
public class Proyectil{
public static void main(String[] args){
//Definiendo variables iniciales
double h=0,t=0;
//Variable para el while
int c=0;
//Imprimiendo la cabecera
System.out.println("t"+"\t"+"h");
System.out.println("----------------------");
//Generando la altura versus tiempo
while (c<=20){
//frmula para calcular la altura
h=50+200*t+5*t*t;
System.out.print(t+"\t"+h+"\n");
c+=2; //incrementa el contador en 2
t+=2; //incrementa el tiempo en 2
}
}
}
//Calcula el factorial de un nmero
import javax.swing.*;

Facultad de Sistemas

Pgina 48 de 75

II Ciclo

public class Factorial{


public static void main(String[] args){
//Declara variable
String c;
//Obtiene el nmero como caracter
c=JOptionPane.showInputDialog(null,"Ingrese
nmero","",1);
//Convirtiendo el carcter a entero
int n=Integer.parseInt(c);
int i=1,f=1;
//Bucle para calcular el factorial del nmero
while (i<=n){
f*=i;
i++;
}
System.out.println("El factorial de "+n+" es "+f);
}
}
Genera notas aleatorias con histograma
public class NotasConHistograma {
public static void main(String[] args) {
//Definiendo variables contador y control de notas
int c=0,i=1;
//Imprimiendo la cabecera
System.out.println("Nota"+"\t"+"Histograma");
System.out.println("======================");
//Bucle para establecer notas
while(i<=50) {
//Generando las notas
double n=Math.round(Math.random()*20);
//Imprime la nota
System.out.print(n+"\t");
//Genera el histograma
for (int j=1;j<=n;j++){
System.out.print("*");
}
//Imprime linea en blanco
System.out.println("");
i++;//Incrementa 1 al control de notas
}
}
Facultad de Sistemas

Pgina 49 de 75

II Ciclo

Facultad de Sistemas

Pgina 50 de 75

II Ciclo

1.8 Paradigmas de POO: Abstraccin y Encapsulamiento


Modelo de objetos
Existen una serie de principios fundamentales para comprender cmo se
modeliza la realidad al crear un programa bajo el paradigma de la orientacin a
objetos. Estos principios son: la abstraccin, el encapsulamiento, la
modularidad, la jerarqua, el paso de mensajes y el poliforfismo.
a.) Principio de Abstraccin
Mediante la abstraccin la mente humana modeliza la realidad en forma de
objetos. Para ello busca parecidos entre la realidad y la posible implementacin
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
clulas.

Los

humanos

entendemos

la

realidad

como

objetos

con

comportamientos bien definidos. No necesitamos conocer los detalles de


porqu ni cmo 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 abstraccin humana se gestiona de una manera jerrquica, dividiendo
sucesivamente sistemas complejos en conjuntos de subsistemas, para as
entender ms fcilmente la realidad. Esta es la forma de pensar que la
orientacin a objeto intenta cubrir.
b.) Principio de Encapsulamiento
El encapsulamiento permite a los objetos elegir qu informacin es publicada y
qu informacin es ocultada al resto de los objetos. Para ello los objetos suelen
presentar sus mtodos como interfaces pblicas 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 mtodos 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 slo tengan que comprender su interfaz, olvidndose de cmo est
implementada, y en definitiva, reduciendo la complejidad de utilizacin.

Facultad de Sistemas

Pgina 51 de 75

II Ciclo

c.) Principio de Modularidad


Mediante la modularidad, se propone al programador dividir su aplicacin en
varios mdulos diferentes (ya sea en forma de clases, paquetes o bibliotecas),
cada uno de ellos con un sentido propio.
Esta fragmentacin 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, adems de facilitar la comprensin del
programa.
d.) Principio de Jerarqua
La mayora de nosotros ve de manera natural nuestro mundo como objetos que
se relacionan entre s de una manera jerrquica. Por ejemplo, un perro es un
mamfero, y los mamferos son animales, y los animales seres vivos...
Del mismo modo, las distintas clases de un programa se organizan mediante la
jerarqua. La representacin de dicha organizacin da lugar a los denominados
rboles de herencia:

Figura 26: Ejemplo de rbol de herencia


Mediante la herencia una clase hija puede tomar determinadas propiedades de
una clase padre. As se simplifican los diseos y se evita la duplicacin de
cdigo al no tener que volver a codificar mtodos 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 accin determinada o que modifique su estado. El paso
de mensajes se suele implementar como llamadas a los mtodos de otros
objetos.
Desde el punto de vista de la programacin estructurada, esto correspondera
con la llamada a funciones.
Facultad de Sistemas

Pgina 52 de 75

II Ciclo

f.) Principio de Polimorfismo


Polimorfismo quiere decir "un objeto y muchas formas". Esta propiedad permite
que un objeto presente diferentes comportamientos en funcin del contexto en
que se encuentre. Por ejemplo un mtodo puede presentar diferentes
implementaciones en funcin de los argumentos que recibe, recibir diferentes
nmeros de parmetros para realizar una misma operacin, y realizar
diferentes acciones dependiendo del nivel de abstraccin en que sea llamado.
E. Relaciones entre objetos
Durante la ejecucin de un programa, los diversos objetos que lo componen
han de interactuar entre s para lograr una serie de objetivos comunes.
Existen varios tipos de relaciones que pueden unir a los diferentes objetos,
pero entre ellas destacan las relaciones de: asociacin, todo/parte, y
generalizacin/especializacin.
a.) Relaciones de Asociacin
Seran relaciones generales, en las que un objeto realiza llamadas a los
servicios (mtodos) de otro, interactuando de esta forma con l.
Representan las relaciones con menos riqueza semntica.
b.) Relaciones de Todo/Parte
Muchas veces una determinada entidad existe como conjuncin de otras
entidades, como un conglomerado de ellas. La orientacin al objeto recoge
este tipo de relaciones como dos conceptos; la agregacin y la composicin.
En este tipo de relaciones un objeto componente se integra en un objeto
compuesto. La diferencia entre agregacin y composicin es que mientras que
la composicin se entiende que dura durante toda la vida del objeto
componedor, en la agregacin no tiene por qu ser as.
Esto se puede implementar como un objeto (objeto compuesto) que cuenta
entre sus atributos con otro objeto distinto (objeto componente).
c.) Relaciones de Generalizacin/Especializacin
A veces sucede que dos clases tiene muchas de sus partes en comn, lo que
normalmente se abstrae en la creacin de una tercera clase (padre de las dos)
que rene todas sus caractersticas comunes.
El ejemplo ms extendido de este tipo de relaciones es la herencia, propiedad
por la que una clase (clase hija) recoge aquellos mtodos y atributos que una
segunda clase (clase padre) ha especificado como "heredables".
Facultad de Sistemas

Pgina 53 de 75

II Ciclo

Este tipo de relaciones es caracterstico de la programacin orientada a


objetos.
En realidad, la generalizacin y la especializacin son diferentes perspectivas
del mismo concepto, la generalizacin es una perspectiva ascendente (bottomup), mientras que la especializacin es una perspectiva descendente (topdown).
Cmo se piensa en Objetos?
Pensar en trminos de objetos es muy parecido a cmo lo haramos en la vida
real. Por ejemplo vamos a pensar en una persona para tratar de modelizarlo en
un esquema de POO. Diramos que la persona es el elemento principal que
tiene una serie de caractersticas, como podran ser el nombre, la edad, el
sexo, etc. Adems tiene una serie de funcionalidades (Acciones) asociadas,
como pueden ser comer, caminar, dormir, etc.
Clase
Es la agrupacin de objetos que comparten una misma naturaleza en un nivel
ms abstracto. Es decir es la abstraccin de un objeto.
Una CLASE es un proyecto, o prototipo, que define las variables y los mtodos
comunes a un cierto tipo de objetos.
Objeto
Es un elemento al cual se le puede distinguir caractersticas intrnsecas. Los
objetos son ejemplares de una clase cualquiera. Cuando creamos un ejemplar
tenemos que especificar la clase a partir de la cual se crear.
Un objeto contiene en s mismo la informacin y los mtodos o funciones
necesarios para manipular esa informacin.
Instancia
Es la creacin de un nuevo objeto a partir de una clase padre.
Estado
Es el conjunto de valores o datos que posee un objeto dentro de sus
propiedades.

El estado es lo que lo hace diferente a un objeto de otro.

De acuerdo a su estado se deriva la forma de comportamiento de un


objeto.

Facultad de Sistemas

Pgina 54 de 75

II Ciclo

Nota: Para instanciar un objeto se requiere de la construccin de un

estado.

Ejemplo

Una fraccin, es decir, esa estructura matemtica que tiene un numerador y un


denominador sera un objeto el cual tiene dos propiedades: El numerador y El
denominador.
Y sus mtodos seran: simplificarse, sumarse, con otra fraccin o nmero,
restarse con otra fraccin, etc.

Las Clases en Java

Java es netamente un Lenguaje Orientado a Objetos, por lo tanto, lo primero


que debe crear para construir una aplicacin es una clase. Los nombres de las
clases en Java deben empezar con una Letra mayscula y deben situarse
dentro de un paquete.
Recuerde que una clase es la agrupacin de objetos que comparten una
misma naturaleza en un nivel ms abstracto. Es decir es la abstraccin de un
objeto.
Las propiedades de una clase
Las propiedades son las caractersticas inherentes de un objeto, siempre estas
nos devuelven un tipo de dato.
Ejemplo: A la clase Persona se le puede distinguir las propiedades: Apellidos,
Edad, Sexo, etc.
Tambin se le conoce como variables de Objeto.

Facultad de Sistemas

Pgina 55 de 75

II Ciclo

Creacin de las Propiedades


public class Persona {
public String apellido;
public int edad;
public boolean sexo;
}
Los Mtodos de una clase
Tiene que ver con las acciones o responsabilidades que realiza el objeto. Los
objetos disponen de una serie de funcionalidades (Acciones) asociadas.
Ejemplo: El objeto Persona tiene los siguientes mtodos: comer, caminar,
dormir, etc.
Creacin de Mtodos
public void comer()

// mtodo comer

{
// como come
}
public void caminar()

// mtodo caminar

{
// como camina
}
public boolean cualestusexo()

// mtodo cualestusexo

{
return sexo;

// retorna el valor de una propiedad

}
Los Estados de una Clase
Es el conjunto de valores o datos que posee un objeto dentro de sus
propiedades. El estado es lo que lo hace diferente a un objeto de otro. De
acuerdo a su estado se deriva la forma de comportamiento de un objeto.
Creacin de Los Estados
public persona(String a, int e, boolean s)
{
apelllido=n;
edad=e;
sexo=false;
Facultad de Sistemas

Pgina 56 de 75

II Ciclo

}
public persona(String n, int e) {
nombre=n;
edad=e;
}
La Instancia de una Clase
Es la creacin de un nuevo objeto a partir de una clase padre.
Nota:
Para instanciar un objeto se requiere de la construccin de un estado.
El instanciamiento de un Objeto debe estar indicado dentro del mtodo esttico
main.
Instanciamiento en Java:
Persona p1=new Persona(Ruiz",30);
Persona p2=new Persona(Vasquez",15);
Persona p3=new Persona(Gmez",15,false);
Referencia de un Objeto
Permite asignar al objeto instanciado otros nombres, sin que este objeto
instanciado se duplique al recibir otras referencias. Un objeto puede tener una,
ninguna o muchas referencias. Si se Cambia el valor de una propiedad de
alguna de las referencias del objeto, este cambio afecta a todas las referencias
y al mismo objeto instanciado, porque en s se trata de un solo objeto y no de
varios.
Creacin de una Referencia:
Martha=p2; // El objeto Martha recibe la referencia de p2
Variables Estticas

Son aquellas variables cuyo mbito pertenecen a toda la clase, es


decir sus valores siempre van a ser los mismos para todos los
objetos instanciados.
Declaracin de una variable esttica:
public static int sumaDeEdades;
public static int numerodePersonas;

Facultad de Sistemas

Pgina 57 de 75

II Ciclo

Mtodos Estticos
Son

aquellas

acciones

funciones

que

pertenecen

exclusivamente a la clase y no a un objeto instanciado en


particular.
Creacin de un mtodo esttico
public static double promedio()
{
return sumaDeEdades/numerodePersonas;
}

Acceso a los mtodos y variables estticas


Para acceder a una variable esttica no se requiere de un objeto
instanciado para su utilizacin y se invoca desde la clase misma.
Ejemplo:
Persona.numerodePersonas
Lo mismo se cumple para acceder a los mtodos estticos, se
invocan desde la clase misma.
Ejemplo:

Persona.promedio()

Facultad de Sistemas

Pgina 58 de 75

II Ciclo

1.8.1 Ejercicios Prcticos con Clases

Ejercicio1
Crear un objeto persona que tenga propiedades tales como la edad, su
nombre y direccin

ClaseObjeto.class
package javabasico;
public class ClaseObjeto {
public int edad;
public String nom,direccion;
}
Main.class
public class Main {
public static void main(String[] args) {
// TODO code application logic here
ClaseObjeto persona=new ClaseObjeto();
persona.nom="Susana Ruiz Cortez";
persona.direccion="Jr Felipe Pingo Alva 173";
persona.edad=33;
System.out.println("El Nombre es===>"+persona.nom);
System.out.println("La Direccin es===>"+persona.direccion);
System.out.println("La edad es===>"+persona.edad);
}
}
Resultado
El Nombre es===>Susana Ruiz Cortez
La Direccin es===>Felipe Pinglo Alva 175
La edad es===>33

Facultad de Sistemas

Pgina 59 de 75

II Ciclo

Ejercicio 2
Crear un objeto llamado Persona con las propiedades nombre, edad,
direccin, y se pueda enviar su talla(con mtodos)
package javabasico;
public class ClaseObjeto {
public int edad;
public String nom,direccion;
public void talla(double t)
{
System.out.println("La talla de la persona es ==>"+ t +"metros");
}
}
public class Main {
public static void main(String[] args) {
// TODO code application logic here
ClaseObjeto persona=new ClaseObjeto();
persona.nom="Susana Ruiz Cortez";
persona.direccion="Jr Felipe Pinglo Alva 173";
persona.edad=33;
System.out.println("El Nombre es===>"+persona.nom);
System.out.println("La Direccin es===>"+persona.direccion);
System.out.println("La edad es===>"+persona.edad);

persona.talla(1.65);
}
Resultado
El Nombre es===>Susana Ruiz Cortez
La Direccin es===>Felipe Pinglo Alva 175
La edad es===>33
La talla de la persona es ==>"1.65

Facultad de Sistemas

Pgina 60 de 75

II Ciclo

Ejercicio 3
Este ejercicio utiliza clases con mtodos sin valor de retorno
public class ClaseObjeto
{
double diast,jornal,salario,bonificacion,descuento,neto;
public void entrada()
{
diast=40;jornal=50;
}
public void proceso()
{
salario=diast*jornal;
bonificacion=0.1*salario;
descuento=0.05*(salario+bonificacion);
neto=salario+bonificacion-descuento;

}
public void salida()
{
System.out.println("salario===>" + salario);
System.out.println("bonifiacion===>" + bonificacion);
System.out.println("descuento===>" + descuento);
System.out.println("neto===>" + neto);
}
public static void main(String[] args) {
// TODO code application logic here
ClaseObjeto clasecita=new ClaseObjeto();
clasecita.entrada();
clasecita.proceso();
clasecita.salida();
}
}

Facultad de Sistemas

Pgina 61 de 75

II Ciclo

Ejercicio 4
Este ejercicio utiliza clases con mtodos con valor de retorno
public class claseplanilladevolver
{
double diast,jornal,salario,bonificacion,descuento,neto;
public void asignardiastrabajados(double d)
{
diast=d;
}
public void asignarjornal(double j)
{
jornal=j;
}
public double calcularsalario()
{
salario=diast*jornal;
return salario;
}
public double calcularbon()
{
bonificacion=0.1*salario;
return bonificacion;
}
public double calculardescuento()
{
descuento=0.05*(salario+bonificacion);
return descuento;
}
public double calcularneto()
{
neto=salario+bonificacion-descuento;
return neto;
}

Facultad de Sistemas

Pgina 62 de 75

II Ciclo

public static void main(String[] args )


{
claseplanilladevolver planillita=new claseplanilladevolver();
planillita.asignardiastrabajados(40);
planillita.asignarjornal(50);
System.out.println(planillita.calcularsalario());
System.out.println(planillita.calcularbon());
System.out.println(planillita.calculardescuento());
System.out.println(planillita.calcularneto());
}

}
Ejercicio 5
Utilizando una clase llamada Examen
Examen
-Codigo:Integer
-Nota:Int
-Puntos:int
-Mensaje:String
+Examen([in Codigo],[in] Nota )
+getMensaje():String
+getPuntos():Integer
+getCodigo():Integer
+getNota():Integer

public class Examen {


private int Codigo;
private int Nota;
private String Mensaje;
private int Puntos;
/** Creates a new instance of Examen */
//Metodo Constructor
public Examen(int iCodigo, int iNota) {
this.Codigo=iCodigo;
this.Nota=iNota;
}

Facultad de Sistemas

Pgina 63 de 75

II Ciclo

//Creando Metodos de Lectura de Datos


public String getMensaje(){
if (this.Nota<11)
Mensaje="Desaprobado";
else
Mensaje="Aprobado";
return Mensaje;
}
public int getPuntos(){
if (this.Nota<11)
Puntos=11-this.Nota;
else
Puntos=this.Nota-10;
return Puntos;
}
public int getCodigo(){
return this.Codigo;
}
public int getNota(){
return this.Nota;
}
Llamada desde el programa principal
import java.io.*;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int Codigo,Nota=0;
Scanner teclado = new Scanner(System.in);
System.out.println("Cual es el Codigo");
Codigo = teclado.nextInt();
System.out.println("Cual es el largo");
Nota = teclado.nextInt();

Facultad de Sistemas

Pgina 64 de 75

II Ciclo

//Creando un Objeto de la Clase Examen


Examen ObjExamen= new Examen(Codigo,Nota);
//Impresiones
System.out.println("Su Codigo es : "+ObjExamen.getCodigo());
System.out.println("Su Nota es : "+ObjExamen.getNota());
System.out.println("Su Condicion es : "+ObjExamen.getMensaje());
System.out.println("Sus Puntos son : "+ObjExamen.getPuntos());
}
}
1.8.2 Constructores
Definicin: El constructor de una clase es un mtodo estndar para inicializar
los objetos de esa clase
Se invoca automticamente cuando new crea un objeto de esa clase.
Prctica N 3
Crear un programa que utilize un constructor con los valores inicales del
nombre y la direccin.
package javabasico;
public class ClaseObjeto1 {
public double edad,p;
public String nom,direc;
public ClaseObjeto1(String nombre,String direccion)
{
this.nom=nombre;
this.direc=direccion;
System.out.println("El Nombre de la persona es ==>"+ nombre);
System.out.println("La Direccin de la persona es ==>"+ direccion);
}
public void talla(double t)
{
System.out.println("La talla de la persona es ==>"+ t +"metros");
}
}
public class Main {
public static void main(String[] args) {
ClaseObjeto1 persona=new ClaseObjeto1("Cyndy","Av Lima 250");
persona.edad=33;
System.out.println("La edad es===>"+persona.edad);
persona.talla(1.65);
}
}

Facultad de Sistemas

Pgina 65 de 75

II Ciclo

1.9 Variables privadas y variables pblicas


Las variables privadas solo permiten ser accesibles por los mtodos que
pertenecen a su clase.
Las variables publicas pueden ser accedidas desde fuera de la clase.
public class clasecarro {
int x,z;
private int y;
public void calcular(int x,int y)
{
z=x+y;
System.out.println("El valor de z es "+z);
}
public void llevar()
{
y=90;
x=12;
calcular(x,y);
}
En este caso la variable y es accedida por el mtodo llevar porque pertenece a
su clase.
Si accedemos desde el mtodo main
public class Main {
public static void main(String[] args) {
clasecarro h=new clasecarro();
h.x=15;

h.y=90 error y es privada


h.calcular(h.x, h.y); error y es privada
h.llevar();
}
}
Esto sera la forma correcta
public class Main {
public static void main(String[] args) {
clasecarro h=new clasecarro();
h.x=15;
h.calcular(h.x, 3);
h.llevar();
}
}
Resultado:
El valor de z es 18
El valor de z es 102

Facultad de Sistemas

Pgina 66 de 75

II Ciclo

1.10 ARREGLOS EN JAVA


Los arreglos (Arrays) en Java son estructuras de datos formados por un
conjunto de elementos de datos primitivos o de objetos de una clase. En
Java todos los arreglos son objetos se proceden de la clase Object.
Cada elemento del arreglo posee un nmero de ndice, con el que es
posible referirnos a un valor especfico de la estructura, el primer
elemento del array tendr la posicin 0.
Todos los elementos que conforman un arreglo deben ser del mismo tipo
de dato o perteneciente a una misma clase. Para obtener la longitud del
arreglo debemos invocar a la variable miembro implcita: length()
Se accede a los elementos de un array con los corchetes [ ] y un ndice
que vara de 0 a length-1. Los arreglos en Java pueden ser una o
muchas dimensiones.
Uso de Arreglos
Declaracin de un arreglo:
int notas[ ];
String apellidos[ ];
Persona lista[ ];
Otra forma de declaracin:
int[ ] notas;
String[ ] apellidos;
Persona[ ] lista;

Inicializacin de un Arreglo:
notas=new int[5];
apellidos=new String[5];
lista=new Persona[5];

La declaracin y la inicializacin de un arreglo se pueden


realizar en una sola lnea:
int[ ] notas=new int[5];
String[ ] apellidos=new String[5];
Persona[ ] lista=new Persona[5];
Facultad de Sistemas

Pgina 67 de 75

II Ciclo

Notas
Cuando se definen arreglos con datos primitivos, los
elementos de un array se inicializan al valor por defecto del
tipo correspondiente (cero para valores numricos, el
carcter nulo para char, false para boolean, null para Strings
y para referencias).
Los arreglos por ser objetos que extienden de la clase
Object, disponen de los mtodos: equals, compareTo, after,
before, etc.
1.10.1 Ejercicios Prcticos
Ejercicio1
Generar los primeros 9 multiplos de 2
package javaejemplos;
public class Arreglos1 {
public static void main(String[] args) {
int[] numero=new int[10];
int i;
// Ingreso de Datos
for(i=0;i<=9;i++)
{
numero[i]=2*i;
}
// Salida de Datos
for(i=0;i<=9;i++)
{
System.out.println(numero[i]);
}
}
}
Resultados
2
4
6
8
10
12
14
16
18
BUILD SUCCESSFUL (total time: 1 second)
Facultad de Sistemas

Pgina 68 de 75

II Ciclo

Ejercicio2
Realizar un programa que ingres 5 numeros y hallar la suma y el menor
package javaejemplos;
import java.util.Scanner;
import java.io.*;
public class Arreglos1 {
public static void main(String[] args) {
int[] numero=new int[10];
int i,suma;
// Ingreso de Datos
suma=0;
for(i=0;i<5;i++)
{
Scanner teclado = new Scanner(System.in);
System.out.print("Ingrese el Numero con posicion===> "+ i + "\n");
numero[i] = teclado.nextInt();
suma=suma+numero[i];
}
// Salida de Datos
for(i=0;i<5;i++)
{
System.out.println(numero[i]);
}
System.out.println("La SUma es===> " + suma);
menor=numero[0];
for(i=1;i<5;i++)
{
if (numero[i]<menor) menor=numero[i];
}
System.out.println("El Menor es===> " + menor);
}
}
Resultados
Ingrese el Numero con posicion===> 0
12
Ingrese el Numero con posicion===> 1
1
Ingrese el Numero con posicion===> 2
1
Ingrese el Numero con posicion===> 3
1
Ingrese el Numero con posicion===> 4
12
1
1
1
1
La Suma es===> 16
El Menor es===> 1
Facultad de Sistemas

Pgina 69 de 75

II Ciclo

La Suma es===> 5
Ejercicio3
Ordenar nmeros
package javaejemplos;
import java.util.Scanner;
import java.io.*;
public class Arreglos1 {
public static void main(String[] args) {
int[] numero=new int[10];
int i,suma,menor;
// Ingreso de Datos
suma=0;
for(i=0;i<5;i++)
{
Scanner teclado = new Scanner(System.in);
System.out.print("Ingrese el Numero con posicion===> "+ i + "\n");
numero[i] = teclado.nextInt();
}
// Salida de Datos
int aux,n,j;
n=5;
for (i = 0; i <= n - 1; i++)
{
for (j = i + 1; j < n; j++)
if (numero[i] > numero[j])
{
aux = numero[i];
numero[i] = numero[j];
numero[j] = aux;
}
}
for(i=0;i<5;i++)
{
System.out.println("Numeros Ordenados" +numero[i]);
}
}
}
Resultados
Ingrese el Numero con posicion===> 0
12
Ingrese el Numero con posicion===> 1
34
Ingrese el Numero con posicion===> 2
2
Ingrese el Numero con posicin===> 3
Facultad de Sistemas

Pgina 70 de 75

II Ciclo

45
Ingrese el Numero con posicin===> 4
6
Numeros Ordenados2
Numeros Ordenados6
Numeros Ordenados12
Numeros Ordenados34
Numeros Ordenados45
BUILD SUCCESSFUL (total time: 7 seconds)

1.11 Resumen
En este captulo se comprendieron los conceptos de la programacin
orientada a objetos su teora bsica, su entorno de ejecuciones IDE.la
estructura y sintaxis de los programas, la comprensin de la teora de
clases y la creacin de objetos, as como la inicializacin de valores
con los constructores, el uso de los arreglos con diferentes ejercicios.
ENLACES DE INTERES
http://www.manual-java.com/
http://www.webtaller.com/manual-java/indice_manual_java.php
http://www.docstoc.com/docs/278164/MANUAL-DE-JAVA

Facultad de Sistemas

Pgina 71 de 75

II Ciclo