Sei sulla pagina 1di 46

S.E.P.

S.N.E.S.T.

D.G.E.S.T.

INSTITUTO TECNOLGICO
Del Istmo

ESPECIALIDAD:
INGENIERIA EN SISTEMAS COMPUTACIONALES
MATERIA:
TALLER DE INVESTIGACION 2
NOMBRE DEL PROYECTO:
SOTFWARE PARA EL APRENDISAJE DEL LENGUAJE JAVA NIVEL
BASICO UTILISANDO MULTIMEDIA
REALISADO POR:
JOSUE JOVAN GUTIEREZ RUIZ
CATEDRATICO:
DANIEL ISAAC CHIRINOS PEREZ
SEMESTRE:
SEXTO

pg. 1
INDICE
INTRODUCCION

PAG 3

ANTECEDENTES

PAG 4

PLANTEAMIENTO DEL PROBLEMA

PAG 4

TIPO DE INVESTIGACION

PAG 5

DEFINICION DE LOS OBJETIVOS

PAG 5

OBJETIVOS GENERALES
OBJETIVOS ESPECIFICOS
JUSTIFICACION DE LA INVESTIGACION

PAG 6

IMPACTO SOCIAL, TECNOLOGICO, ECONOMICO Y AMBIENTAL PAG 6


VIABILIDAD DE LA INVESTIGACION

MARCO TEORICO
BIBLIOGRAFIA
MARCO CONCEPTUAL
ESQUEMA

PAG 7

PAG 8
PAG 40
PAG 40
PAG 40

HIPOTESIS

PAG 43

VARIABLES

PAG 43

DEFINICION CONCEPTUAL

PAG 43

DEFINICION OPERACIONAL

PAG 43

UNIDAD DE ANALISIS

PAG 43

VALIDACION DE PARAMETROS

PAG 43

ANALISIS DE ALTERNATIVAS

PAG 43

pg. 2
MARCO METODOLOGICO

PAG 44

TIPO DE INVESTIGACION

PAG 44

TECNICAS A UTILISAR

PAG 44

UNIVERSO DE TRABAJO

PAG 44

LUGAR DONDE SE REALIZARA LA INVESTIGACION

PAG 44

TIEMPO EN QUE SE VA A REALIZAR LA INVESTIGACION

PAG 44

CRONOGRAMA

PAG 45

pg. 3

TEMA DE INVESTIGACION: SOTFWARE PARA EL APRENDISAJE DEL


LENGUAJE JAVA NIVEL BASICO UTILISANDO MULTIMEDIA

INTRODUCCION
En nuestra actualidad podemos observar la rpida evolucin de la informtica
con el avance de nuevas tecnologas las cuales han venido a facilitar la vida a
muchas personas con software de calidad al alcance de muchos.
Convirtindose ya en una necesidad para una gran parte de la sociedad pues
la rpida actualizacin de estos obliga a muchos a estar capacitados para
poder utilizar estas herramientas que les dan ventaja sobre los dems en sus
respectivas profesiones y claro en sus trabajos.
Una parte de la informtica es la programacin, la hablar de la programacin
podemos citar una gran cantidad de lenguajes existente pero querer explicar
cada uno de ellos abarcara una gran cantidad de tiempo por lo cual tan solo
mencionaremos la programacin orientada a objetos (POO).
La programacin orientada a objetos o POO (OOP segn sus siglas en ingls)
es un paradigma de programacin que usa objetos y sus interacciones, para
disear aplicaciones y programas para las computadoras. Est basado en
varias tcnicas entra las que encontramos herencia, abstraccin, polimorfismo
y encapsulamiento. Su uso se populariz a principios de la dcada de 1990. En
la actualidad, existe variedad de lenguajes de programacin que soportan la
orientacin a objetos.
La POO mas importante de la que podemos hablar es el lenguaje de
programacin java el cual es un lenguaje de programacin orientado a objetos
desarrollado por Sun Microsystems a principios de los aos 90. El lenguaje en
s mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de
objetos ms simple y elimina herramientas de bajo nivel.
El presente proyecto busca crear un software educativo para la enseanza del
lenguaje de programacin java; debido a que este lenguaje de programacin es
muy extenso y nos sera realmente difcil abarcar el leguaje en su totalidad se
ha determinado delimitar este a el nivel bsico de dicho lenguaje. Para hacer
ms interesante y atractivo este software se opto por utilizar multimedia en la
realizacin de este, con el propsito de hacer ms fcil y practico su
implementacin por parte del usuario. Otro de los objetivos buscados por el
presente proyecto es crear un software de calidad de libre acceso para toda la
comunidad estudiantil que tenga el deseo de aprender este lenguaje, ya que
debido a la falta de software de este tipo se ha visto bloqueada el aprendizaje
del ya antes mencionado lenguaje de programacin.

pg. 4

ANTECEDENTES
La bibliografa existente acerca del tema es muy basta dentro del internet ya
que el lenguaje de programacin java cuenta con una gran difusin, adems de
ser uno de los ms utilizados por una gran cantidad de programadores. Existen
muchas publicaciones muy buenas acerca de este lenguaje de programacin,
dentro de las ms importantes las podemos encontrar en el idioma Ingles
convirtindose est en una necesidad el traducir dicha informacin a nuestro
idioma. Afortunadamente algunas editoriales han publicado las traducciones de
algunas de las bibliografas ms importantes del lenguaje de programacin
java, pero mucha de esta todava no se encuentra al alcance de la comunidad
estudiantil.
De la misma manera en cuanto al software de enseanza con respecto al
lenguaje de programacin java realmente podemos encontrar muy poco
software de este tipo, adems que el software disponible solamente lo
podemos encontrar en su versin comercial convirtindose realmente difcil
para una gran cantidad de estudiantes tener acceso a este.
La falta de software de este tipo se bebe a que existe una gran diversidad de
cursos disponibles, los cuales son impartidos en muchos de los casos por
universidades y academias o escuelas con especialidades en computacin,
limitndose de esta manera solo a un cierto grupo de personas las cuales
tengan las posibilidades de costear estos cursos.
PLANTEAMIENTO DEL PROBLEMA
El lenguaje de programacin java es considerado en nuestra actualidad como
la programacin orientada a objetos (POO) ms importante ya que cuenta con
un soporte muy amplio el cual se encuentra definido como un lenguaje simple,
orientado a objetos, distribuido, interpretado, robusto, seguro, de arquitectura
neutra, portable, de altas prestaciones, multitarea y dinmico. Por estas
razones dicho lenguaje de programacin se ha convertido en uno de los ms
utilizados, llegndose a convertirse en una necesidad el aprendizaje del ya
mencionado lenguaje de programacin.
Podemos encontrar dentro de las diferentes retculas de universidades y
escuelas que brinden la especialidad de informtica y sistemas
computacionales materias orientadas a la programacin de sistemas, los
cuales usan como base el lenguaje de programacin java, siendo este lenguaje
de programacin principalmente impartido en las escuelas de bachillerato,
preparatorias pblicas y privadas en un nivel bsico. Cabe mencionar que el
aprendizaje del lenguaje de programacin java llega a convertirse en una
problemtica para los estudiantes por las siguientes razones, inicialmente

pg. 5
existen pocas personas capacitadas para impartir la enseanza de este
lenguaje, consecuentemente resulta difcil para los estudiantes el no contar con
una correcta formacin en la POO, finalmente la bibliografa existente es muy
buena pero no est a la mano de todos aadiendose el que esta se encuentre
en el idioma Ingles cayendo nuevamente en la necesidad de un gua
capacitado que ayude a digerir esta informacin a los estudiantes.
El siguiente proyecto busca crear un software educativo para el aprendizaje del
lenguaje de programacin java el cual sirva como gua para todos aquellos que
desean aprender este lenguaje de programacin. Este software permitir
aprender dicho lenguaje en un nivel bsico el cual contendr un temario acorde
al publicado por la empresa Sun Microsystems. Si bien ya existe mucha
informacin acerca de este buscamos mejorar la ya existente implementando
multimedia a travs del cual buscamos captar la atencin del estudiante y
hacer ms digerible el aprendizaje de este recolectando informacin de los
autores ms relevantes dentro del rea. El software contendr videotutoriales
con el cual buscaremos llevar de la mano al estudiante ya que nos permitir
mostrar un mundo practico al estudiante pues tendr la posibilidad de repetir la
leccin hasta donde sea necesario para su aprendizaje.
TIPO DE INVESTIGACION: Investigacin de Innovacin tecnolgica.
DEFINICION DE LOS OBJETIVOS
OBJETIVOS GENERALES: Realizar un software educativo del lenguaje de
programacin java en su nivel bsico el cual contendr multimedia, a travs del
cual lograremos inducir al usuario de esta en el aprendizaje de dicho lenguaje
de programacin, siendo esta una herramienta capaz para dicho objetivo ya
que llevara de la mano al estudiante pues contendr la teora ms relevante
existente.
OBJETIVOS ESPECIFICOS:
- Recolectar la bibliografa ms relevante y adecuarla a nuestras necesidades.
- Disear un temario que cumpla los estndares establecidos por Sun
Microsystems.
- Introducir a estudiantes y catedrticos de nuestra regin al aprendizaje de
este lenguaje de programacin.
- Formar personas capacitadas en el lenguaje de programacin java.
- Promover el aprendizaje de este lenguaje de programacin con software que
sea fcil, prctico y simple de utilizar.

pg. 6
JUSTIFICACION DE LA INVESTIGACION
Este proyecto busca realizar un software educativo para el aprendizaje del
lenguaje de programacin java a travs del cual todos los que deseen aprender
puedan hacerlo tan solo con el software sin tener la necesidad de buscar
asesora alguna. Para lograr este objetivo se diseara este software utilizando
multimedia con lo cual lograremos hacer a este ms fcil, prctico y simple de
utilizar.
Nuestro proyecto se encuentra dirigido para ser implementado inicialmente
dentro de nuestra regin, ya que en esta existe una gran necesidad de software
de este tipo, aadindose el que no se encuentre material como este disponible
dentro de nuestra regin por tal motivo el propsito de crear software de
utilidad que sea creado e implementado por personas de nuestra regin.
Adems este software podr ser utilizado por todo aquel que lo desee si bien
primeramente el objetivo fuese el ser implementado para esta regin en
particular por las respectivas necesidades que presenta, tambin podr ser
aplicable en muchos otros lugares que coincidan con las mismas
caractersticas existentes dentro de nuestra regin.
Los alcances que se lograran con la implementando de este software
primeramente ser un rpido aprendizaje por parte de los usuarios de dicho
software ya que buscara ser lo ms prctico y entendible posible para todas
aquellas personas que aun se encuentren adentrndose dentro del mundo de
la programacin. Otro de los alcances esperados para este proyecto es el
promover el aprendizaje de este lenguaje dentro de estudiantes y catedrticos,
para que a travs de esta formar profesionales capacitados que cuenten con
los conocimientos adecuados al rea de la informtica y de la programacin.
IMPACTO SOCIAL, TECNOLOGICO, ECONOMICO Y AMBIENTAL
El impacto que lograra ser mayormente dentro de la sociedad ya que al existir
software de calidad gran parte de la comunidad estudiantil podr formar bases
adecuadas para la POO y estas podrn ser ampliamente aplicadas en el
lenguaje de programacin java. Haciendo ms fcil el trabajo a los catedrticos
pues contaran con una herramienta eficaz sobre la cual fundamentar su
trabajo. Logrando de esta manera formar profesionales capacitados los cuales
cuenten con los conocimientos bastos en el rea de la programacin y claro
con respecto a la programacin en el lenguaje java la cual es considerada la
ms importante de nuestra actualidad.
Con respecto al impacto causado en mundo tecnolgico se espera sea de gran
aceptacin software de este tipo el cual sea competitivo con el ya existente, si
bien podemos encontrar material de este tipo este no se encuentra al alcance
de todos. Por tal motivo el buscar realizar software para cumplir las
necesidades existentes de nuestra regin.

pg. 7
Este software buscara ser de libre acceso para la comunidad estudiantil de
nuestra regin pues uno de los objetivos es brindar este tipo de conocimiento a
todos aquellos que no tienen acceso a este y buscar de esta manera que
cualquiera pueda aprender programacin.
VIABILIDAD DE LA INVESTIGACION
Este proyecto es viable por los siguientes motivos:
Para la realizacin de este software se cuenta con los conocimientos
necesarios para su respectiva elaboracin, se tiene acceso a la teora
necesaria para su creacin e implementacin adems de contar con lugar,
tiempo y dems materiales a utilizar.
El tiempo estimado de elaboracin no ser mayor a 6 meses dentro de los
cuales se creara e implementara para que finalmente se logre poder cumplir
con las expectativas esperadas para este.

pg. 8
MARCO TEORICO
Debido a que el lenguaje de programacin java es muy amplio se ha
determinado para el presente proyecto realizar el siguiente software con una
orientacin a un nivel bsico del lenguaje de programacin java para el cual
plantearemos nuestra base terica en una recoleccin bibliogrfica la cual ser
abordara a continuacin, cabe mencionar que nuestra base terica mostrada
podr ser ampliado o reducido de acuerdo a los requerimientos que se
presenten en la elaboracin del mismo.
La siguiente teora redactada tan solo pretende dar una correcta introduccin
acerca de los conceptos y poder as dar una visin correcta de lo que pretende
ser mostrado y acerca de los cuales sern abordados dentro de nuestro
software; debido a que si profundizamos dentro de los temas podramos llegar
a perder el propsito que busca nuestro marco por eso solo explicaremos los
temas relevantes a nuestra investigacin y si llegase a ser necesario ampliar
alguno de ellos podremos modificar nuestra base terica.
Conceptos bsicos de Programacin Orientada a Objetos
Qu son los objetos? En informtica, un OBJETO es un conjunto de variables
y de los mtodos relacionados con esas variables. Un poco ms sencillo: un
objeto contiene en s mismo la informacin y los mtodos o funciones
necesarios para manipular esa informacin.
Lo ms importante de los objetos es que permiten tener un control total sobre
'quin' o 'qu' puede acceder a sus miembros, es decir, los objetos pueden
tener miembros pblicos a los que podrn acceder otros objetos o miembros
privados a los que slo puede acceder l. Estos miembros pueden ser tanto
variables como funciones.
El gran beneficio de todo esto es la encapsulacin, el cdigo fuente de un
objeto puede escribirse y mantenerse de forma independiente a los otros
objetos contenidos en la aplicacin.
Qu son las clases? Una CLASE es un proyecto, o prototipo, que define las
variables y los mtodos comunes a un cierto tipo de objetos. Un poco ms
sencillo: las clases son las matrices de las que luego se pueden crear mltiples
objetos del mismo tipo.
La clase define las variables y los mtodos comunes a los objetos de ese tipo,
pero luego, cada objeto tendr sus propios valores y compartirn las mismas
funciones.
Primero deberemos crear una clase antes de poder crear objetos o ejemplares
de esa clase.

pg. 9
Qu son los mensajes? Para poder crear una aplicacin necesitars ms de
un objeto, y estos objetos no pueden estar aislados unos de otros, pues bien,
para comunicarse esos objetos se envan mensajes.
Los mensajes son simples llamadas a las funciones o mtodos del objeto con
el se quiere comunicar para decirle que haga cualquier cosa.
Qu es la herencia? Qu significa esto la herencia, quien hereda qu; bueno
tranquilo, esto slo significa que puedes crear una clase partiendo de otra que
ya exista.
Es decir, puedes crear una clase a travs de una clase existente, y esta clase
tendr todas las variables y los mtodos de su 'superclase', y adems se le
podrn aadir otras variables y mtodos propios. Se llama 'Superclase' a la
clase de la que desciende una clase.
Variables y Tipos de Datos
Las variables son las partes importantes de un lenguaje de programacin: ellas
son las entidades (valores, datos) que actan y sobre las que se acta.
Una declaracin de variable siempre contiene dos componentes, el tipo de la
variable y su nombre.
tipoVariable nombre;
Tipos de Variables
Todas las variables en el lenguaje Java deben tener un tipo de dato. El tipo de
la variable determina los valores que la variable puede contener y las
operaciones que se pueden realizar con ella.
Existen dos categoras de datos principales en el lenguaje Java: los tipos
primitivos y los tipos referenciados.
Los tipos primitivos contienen un slo valor e incluyen los tipos como los
enteros, coma flotante, los caracteres, etc... La tabla siguiente muestra todos
los tipos primitivos soportados por el lenguaje Java, su formato, su tamao y
una breve descripcin de cada uno.
Tipo

Tamao/Formato

Descripcin

(Nmeros enteros)
Byte

8-bit complemento a 2

Entero de un Byte

short

16-bit complemento a 2

Entero corto

int

32-bit complemento a 2

Entero

long

64-bit complemento a 2

Entero largo

pg. 10
(Nmeros reales)
float

32-bit IEEE 754

double

64-bit IEEE 754

Coma flotante de precisin simple


Coma flotante de precisin doble

(otros tipos)
char

16-bit Caracter

boolean
falso)

true o false

Un slo carcter
Un valor booleano (verdadero o

Los tipos referenciados se llaman as porque el valor de una variable de


referencia es una referencia (un puntero) hacia el valor real. En Java tenemos
los arrays, las clases y los interfaces como tipos de datos referenciados.
Nombres de Variables
Un programa se refiere al valor de una variable por su nombre. Por convencin,
en Java, los nombres de las variables empiezan con una letra minscula (los
nombres de las clases empiezan con una letra mayscula).
Un nombre de variable Java:
1. Debe ser un identificador legal de Java comprendido en una serie
de caracteres Unicode. Unicode es un sistema de codificacin que soporta
texto escrito en distintos lenguajes humanos. Unicode permite la codificacin
de 34.168 caracteres. Esto le permite utilizar en sus programas Java varios
alfabetos como el Japons, el Griego, el Ruso o el Hebreo. Esto es importante
para que los programadores puedan escribir cdigo en su lenguaje nativo.
2. No puede ser el mismo que una palabra clave o el nombre de un
valor booleano (true or false)
3. No deben tener el mismo nombre que otras variables cuyas
declaraciones aparezcan en el mismo mbito.
La regla nmero 3 implica que podra existir el mismo nombre en otra variable
que aparezca en un mbito diferente.
Por convencin, los nombres de variables empiezan por un letra minscula. Si
una variable est compuesta de ms de una palabra, como 'nombreDato' las
palabras se ponen juntas y cada palabra despus de la primera empieza con
una letra mayscula.
Operadores de Java
Los operadores realizan algunas funciones en uno o dos operandos. Los
operadores que requieren un operador se llaman operadores unarios. Por
ejemplo, ++ es un operador unario que incrementa el valor su operando en uno.

pg. 11
Los operadores que requieren dos operandos se llaman operadores binarios. El
operador = es un operador binario que asigna un valor del operando derecho al
operando izquierdo.
Los operadores unarios en Java pueden utilizar la notacin de prefijo o de
sufijo. La notacin de prefijo significa que el operador aparece antes de su
operando.
operador operando
La notacin de sufijo significa que el operador aparece despus de su
operando:
operando operador
Todos los operadores binarios de Java tienen la misma notacin, es decir
aparencen entre los dos operandos:
op1 operator op2
Adems de realizar una operacin tambin devuelve un valor. El valor y su tipo
dependen del tipo del operador y del tipo de sus operandos. Por ejemplo, los
operadores aritmticos (realizan las operaciones de aritmtica bsica como la
suma o la resta) devuelven nmeros, el resultado tpico de las operaciones
aritmticas. El tipo de datos devuelto por los operadores aritmticos depende
del tipo de sus operandos: si sumas dos enteros, obtendrs un entero. Se dice
que una operacin evala su resultado.
Es muy til dividir los operadores Java en las siguientes categoras: aritmticos,
relacionales y condicionales. Lgicos y de desplazamiento y de asignacin.
Operadores Aritmticos
El lenguaje Java soporta varios operadores aritmticos - incluyendo + (suma), (resta), * (multiplicacin), / (divisin), y % (mdulo)-- en todos los nmeros
enteros y de coma flotante. Por ejemplo, puedes utilizar este cdigo Java para
sumar dos nmeros:
sumaEsto + aEsto
O este cdigo para calcular el resto de una divisin:
divideEsto % porEsto

Esta tabla sumariza todas las operaciones aritmticas binarias en Java.

pg. 12
Operador

Uso

Descripcin

op1 + op2

Suma op1 y op2

op1 - op2

Resta op2 de op1

op1 * op2

Multiplica op1 y op2

op1 / op2

Divide op1 por op2

op1 % op2

Obtiene el resto de dividir op1 por op2

Los operadores + y - tienen versiones unarias que seleccionan el signo del


operando.
Operador

Uso

Descripcin

+ op

Indica un valor positivo

- op

Niega el operando

Adems, existen dos operadores de atajos aritmticos, ++ que incrementa en


uno su operando, y -- que decrementa en uno el valor de su operando.
Operador

Uso

Descripcin

++

op ++

Incrementa op en 1; evala el valor antes de incrementar

++

++ op

Incrementa op en 1; evala el valor despus de incrementar

--

op --

Decrementa op en 1; evala el valor antes de decrementar

--

-- op

Decrementa op en 1; evala el valor despus de decrementar

Operadores Relacionales y Condicionales


Los valores relacionales comparan dos valores y determinan la relacin entre
ellos. Por ejemplo, != devuelve true si los dos operandos son distintos.
Esta tabla sumariza los operadores relacionales de Java.
Operador

Uso

Devuelve true si

>

op1 > op2

op1 es mayor que op2

>=

op1 >= op2

op1 es mayor o igual que op2

<

op1 < op2

op1 es menor que op2

<=

op1 <= op2

op1 es menor o igual que op2

==

op1 == op2

op1 y op2 son iguales

!=

op1 != op2

op1 y op2 son distintos

pg. 13
Frecuentemente los operadores relacionales se utilizan con otro juego de
operadores, los operadores condicionales, para construir expresiones de
decisin ms complejas. Uno de estos operadores es && que realiza la
operacin Y booleana. Por ejemplo puedes utilizar dos operadores relacionales
diferentes junto con && para determinar si ambas relaciones son ciertas. La
siguiente lnea de cdigo utiliza esta tcnica para determinar si un ndice de un
array est entre dos lmites esto es, para determinar si el ndice es mayor que 0
o menor que NUM_ENTRIES (que se ha definido previamente como un valor
constante):
0 < index && index &lt NUM_ENTRIES
Observa que en algunas situaciones, el segundo operando de un operador
relacional no ser evaluado. Consideremos esta sentencia:
((count > NUM_ENTRIES) && (System.in.read() != -1))
Si count es menor que NUM_ENTRIES, la parte izquierda del operando de &&
evala a false. El operador && slo devuelve true si los dos operandos son
verdaderos. Por eso, en esta situacin se puede determinar el valor de && sin
evaluar el operador de la derecha. En un caso como este, Java no evala el
operando de la derecha. As no se llamar a System.in.read() y no se leer un
carcter de la entrada estndar.
Aqu tienes tres operadores condicionales.
Operador
&&

Uso

Devuelve true si

op1 && op2

op1 y op2 son verdaderos

||

op1 || op2

! op

uno de los dos es verdadero


op es falso

El operador & se puede utilizar como un sinnimo de && si ambos operadores


son booleanos. Similarmente, | es un sinonimo de || si ambos operandos son
booleanos.

Operadores de Desplazamiento
Los operadores de desplazamiento permiten realizar una manipualcin de los
bits de los datos. Esta tabla sumariza los operadores lgicos y de desplazamiento
disponibles en el lenguaje Java.

pg. 14
Operador

Uso

Descripcin

>>

op1 >> op2

desplaza a la derecha op2 bits de op1

<<

op1 << op2

desplaza a la izquierda op2 bits de op1

>>>
signo)

op1 >>> op2

desplaza a la derecha op2 bits de op1(sin

&

op1 & op2

bitwise and

op1 | op2

bitwise or

op1 ^ op2

bitwise xor

~ op

bitwise complemento

Los tres operadores de desplazamiento simplemente desplazan los bits del


operando de la izquierda el nmero de posiciones indicadas por el operador de
la derecha. Los desplazamientos ocurren en la direccin indicada por el propio
operador. Por ejemplo:
13 >> 1;
desplaza los bits del entero 13 una posicin a la derecha. La representacin
binaria del nmero 13 es 1101. El resultado de la operacin de desplazamiento
es 110 o el 6 decimal. Observe que el bit situado ms a la derecha desaparece.
Un desplazamiento a la derecha de un bit es equivalente, pero ms eficiente
que, dividir el operando de la izquierda por dos. Un desplazamiento a la
izquierda es equivalente a multiplicar por dos.
Los otros operadores realizan las funciones lgicas para cada uno de los pares
de bits de cada operando. La funcin "y" activa el bit resultante si los dos
operandos son 1.
op1

op2

resultado

Supn que quieres evaluar los valores 12 "and" 13:


12 & 13
El resultado de esta operacin es 12. Por qu? Bien, la representacin binaria
de 12 es 1100 y la de 13 es 1101. La funcin "and" activa los bits resultantes
cuando los bits de los dos operandos son 1, de otra forma el resultado es 0.
Entonces si colocas en lnea los dos operandos y realizas la funcin "and",

pg. 15
puedes ver que los dos bits de mayor peso (los dos bits situados ms a la
izquierda de cada nmero) son 1 as el bit resultante de cada uno es 1. Los dos
bits de menor peso se evalan a 0 porque al menos uno de los dos operandos
es 0:
1101
& 1100
-----1100
El operador | realiza la operacin O inclusiva y el operador ^ realiza la
operacin O exclusiva. O inclusiva significa que si uno de los dos operandos es
1 el resultado es 1.
op1

op2

resultado

O exclusiva significa que si los dos operandos son diferentes el resultado es 1,


de otra forma el resultado es 0.
op1

op2

resultado

Y finalmente el operador complemento invierte el valor de cada uno de los bites


del operando: si el bit del operando es 1 el resultado es 0 y si el bit del
operando es 0 el resultado es 1.
Operadores de Asignacin
Puedes utilizar el operador de asignacin =, para asignar un valor a otro.
Adems del operador de asignacin bsico, Java proporciona varios
operadores de asignacin que permiten realizar operaciones aritmticas,
lgicas o de bits y una operacin de asignacin al mismo tiempo.
Especficamente, supon que quieres añadir un nmero a una variable y
asignar el resultado dentro de la misma variable, como esto:

pg. 16
i = i + 2;
Puedes ordenar esta sentencia utilizando el operador +=.
i += 2;
Las dos lneas de cdigo anteriores son equivalentes.
Esta tabla lista los operadores de asignacin y sus equivalentes.
Operador

Uso

Equivale a

+=

op1 += op2

op1 = op1 + op2

-=

op1 -= op2

op1 = op1 - op2

*=

op1 *= op2

op1 = op1 * op2

/=

op1 /= op2

op1 = op1 / op2

%=

op1 %= op2

op1 = op1 % op2

&=

op1 &= op2

op1 = op1 & op2

|=

op1 |= op2

op1 = op1 | op2

^=

op1 ^= op2

op1 = op1 ^ op2

<<=

op1 <<= op2

op1 = op1 << op2

>>=

op1 >>= op2

op1 = op1 &gt> op2

>>>=

op1 >>>= op2

op1 = op1 >>> op2

Expresiones Java
Definicin de Expresin
Las expresiones realizan el trabajo de un programa Java. Entre otras cosas, las
expresiones se utilizan para calcular y asignar valores a las variables y para
controlar el flujo de un programa Java.
El trabajo de una expresin se divide en dos partes: realizar los clculos
indicados por los elementos de la expresin y devolver algn valor.
Definicin: Una expresin es una serie de variables, operadores y llamadas a
mtodos (construida de acuerdo a la sintaxis del lenguaje) que evala a un
valor sencillo.
El tipo del dato devuelto por una expresin depende de los elementos utilizados
en la expresin. La expresin count++ devuelve un entero porque ++ devuelve
un valor del mismo tipo que su operando y count es un entero. Otras
expresiones devuelven valores booleanos, cadenas, etc...

pg. 17
Una expresin de llamada a un mtodo devuelve el valor del mtodo; as el tipo
de dato de una expresin de llamada a un mtodo es el mismo tipo de dato que
el valor de retorno del mtodo. El mtodo System.in.read() se ha declarado
como un entero, por lo tanto, la expresin
System.in.read() devuelve un entero.
La segunda expresin contenida en la sentencia System.in.read() != -1 utiliza
el operador !=.
Recuerda que este operador comprueba si los dos operandos son distintos. En
esta sentencia los operandos son System.in.read() y -1.
System.in.read() es un operando vlido para != porque devuelve un entero.
As
System.in.read() != -1 compara dos enteros, el valor devuelto por
System.in.read() y -1.
El valor devuelto por != es true o false dependiendo de la salida de la
comparacin.
Como has podido ver, Java te permite construir expresiones compuestas y
sentencias a partir de varias expresiones pequeas siempre que los tipos de
datos requeridos por una parte de la expresin correspondan con los tipos de
datos de la otra.
Tambin habrs podido concluir del ejemplo anterior, el orden en que se
evalan los componentes de una expresin compuesta.
Por ejemplo, toma la siguiente expresin compuesta.
x*y*z
En este ejemplo particular, no importa el orden en que se evale la expresin
porque el resultado de la multiplicacin es independiente del orden. La salida
es siempre la misma sin importar el orden en que se apliquen las
multiplicaciones. Sin embargo, esto no es cierto para todas las expresiones.
Por ejemplo, esta expresin obtiene un resultado diferente dependiendo de si
se realiza primero la suma o la divisin.
x + y / 100
Puedes decirle directamente al compilador de Java cmo quieres que se
evale una expresin utilizando los parntesis ( y ).
Por ejemplo, para aclarar la sentencia anterior, se podra escribir: (x + y)/ 100.

pg. 18
Si no le dices explcitamente al compilador el orden en el que quieres que se
realicen las operaciones, l decide basndose en la precedencia asignada a
los operadores y otros elementos que se utilizan dentro de una expresin.
Los operadores con una precedencia ms alta se evalan primero. Por
ejemplo. el operador divisin tiene una precedencia mayor que el operador
suma, por eso, en la expresin anterior x + y / 100, el compilador evaluar
primero y / 100. As
x + y / 100
Es equivalente a.
x + (y / 100)
Para hacer que tu cdigo sea ms fcil de leer y de mantener deberas explicar
e indicar con parntesis los operadores que se deben evaluar primero.
La tabla siguiente muestra la precedencia asignada a los operadores de Java.
Los operadores se han listado por orden de precedencia de mayor a menor.
Los operadores con mayor precedencia se evalan antes que los operadores
con un precedencia relativamente menor. Los operadores con la misma
precedencia se evalan de izquierda a derecha.
Precedencia de Operadores en Java
operadores sufijo

[] . (params) expr++ expr--

operadores unarios

++expr --expr +expr -expr ~ !

creacin o tipo

new (type)expr

multiplicadores

*/%

suma/resta

+-

desplazamiento

<< >> >>>

relacionales

< > <= >= instanceof

igualdad

== !=

bitwise AND

&

bitwise exclusive

OR ^

bitwise inclusive

OR |

AND lgico

&&

OR lgico

||

condicional

?:

pg. 19
asignacin

= += -= *= /= %= ^= &= |= <<= >>= >>>=

Sentencias de Control de Flujo en Java


Las sentencias de control de flujo determinan el orden en que se ejecutarn las
otras sentencias dentro del programa. El lenguaje Java soporta varias
sentencias de control de flujo, incluyendo.
Sentencias

palabras clave

toma de decisiones

if-else, switch-case

bucles

for, while, do-while

excepciones

try-catch-finally, throw

miscelaneas

break, continue, label:, return

La sentencia if-else
La sentencia if-else de java proporciona a los programas la posibilidad de
ejecutar selectivamente otras sentencias basndose en algn criterio.
Por ejemplo, supn que tu programa imprime informacin de depurado
basndose en el valor de una variable booleana llamada DEBUG. Si DEBUG
fuera verdadera true, el programa imprimira la informacin de depurado, como
por ejemplo, el valor de una variable como x. Si DEBUG es false el programa
proceder normalmente. Un segmento de cdigo que implemente esto se
podra parecer a este.
...
if(DEBUG)
System.out.println("DEBUG:x="+x);
...

Esta es la versin ms sencilla de la sentencia if: la sentencia gobernada por if


se ejecuta si alguna codicin es verdadera. Generalmente, la forma sencilla de
if se puede escribir as.
if(expresin)
sentencia

Pero, y si quieres ejecutar un juego diferente de sentencias si la expresin es


falsa? Bien, puedes utilizar la sentencia else. Echemos un vistazo a otro
ejemplo. Supon que tu programa necesita realizar diferentes acciones
dependiendo de que el usuario pulse el botn OK o el botn Cancel en un
ventana de alarma. Se podra hacer esto utilizando una sentencia if.
...
//Respuestadependientedelbotonquehayapulsadoelusuario
//OKoCancel

pg. 20
...
if(respuesta==OK){
...
//CdigoparalaaccinOK
...
}else{
...
//cdigoparalaaccinCancel
...
}

Este uso particular de la sentencia else es la forma de capturarlo todo.


Existe otra forma de la sentencia else, else if que ejecuta una sentencia
basada en otra expresin. Por ejemplo, supn que has escrito un programa que
asigna notas basadas en la puntuacin de un examen, un sobresaliente para
una puntuacin del 90% o superior, un Notable para el 80% o superior y
dems. Podras utilizar una sentencia if con una serie de comparaciones else if
y una sentencia else para escribir este cdigo.
intpuntuacion;
Stringnota;
if(puntuacion>=90){
nota="Sobresaliente";
}elseif(puntuacion>=80){
nota="Notable";
}elseif(puntuacion>=70){
nota="Bien";
}elseif(puntuacion>=60){
nota="Suficiente";
}else{
nota="Insuficiente";
}

Una sentencia if puede


acompaamiento else if.

tener

cualquier

nmero

de

sentencias

de

Podras haber observado que algunos valores de puntuacion pueden


satisfacer ms una de las expresiones que componen la sentencia if. Por
ejemplo, una puntuacin de 76 podra evaluarse como true para dos
expresiones de esta sentencia: puntuacin >= 70 y puntuacion >= 60.
Sin embargo, en el momento de ejecucin, el sistema procesa una sentencia if
compuesta como una sla; una vez que se ha satisfecho una condicin (76 >=
70), se ejecuta la sentencia apropiada (nota = "Bien";), y el control sale fuera
de la sentencia if sin evaluar las condiciones restantes.
La sentencia switch
La sentencia switch se utiliza para realizar sentencias condicionalmente
basadas en alguna expresin. Por ejemplo, supon que tu programa contiene un

pg. 21
entero llamado mes cuyo valor indica el mes en alguna fecha. Supn que
tambin quieres mostrar el nombre del mes basndose en su nmero entero
equivalente. Podras utilizar la sentencia switch de Java para realizar esta
tarea.
intmes;
...
switch(mes){
case1:System.out.println("Enero");break;
case2:System.out.println("Febrero");break;
case3:System.out.println("Marzo");break;
case4:System.out.println("Abril");break;
case5:System.out.println("May0");break;
case6:System.out.println("Junio");break;
case7:System.out.println("Julio");break;
case8:System.out.println("Agosto");break;
case9:System.out.println("Septiembre");break;
case10:System.out.println("Octubre");break;
case11:System.out.println("Noviembre");break;
case12:System.out.println("Diciembre");break;
}

La sentencia switch evala su expresin, en este caso el valor de mes, y


ejecuta la sentencia case apropiada.
Decidir cundo utilizar las sentencias if o switch dependen del juicio personal.
Puedes decidir cual utilizar basndose en la buena lectura del cdigo o en otros
factores.
Cada sentencia case debe ser nica y el valor proporcionado a cada sentencia
case debe ser del mismo tipo que el tipo de dato devuelto por la expresin
proporcionada a la sentencia switch.
Otro punto de interes en la sentencia switch son las sentencias break despus
de cada case.
La sentencia break hace que el control salga de la sentencia switch y contine
con la siguiente lnea.
La sentencia break es necesaria porque las sentencias case se siguen
ejecutando hacia abajo. Esto es, sin un break explcito, el flujo de control
seguira secuencialmente a travs de las sentencias case siguientes.
En el ejemplo anterior, no se quiere que el flujo vaya de una sentencia case a
otra, por eso se han tenido que poner las sentencias break.
Sin embargo, hay ciertos escenario en los que querrs que el control proceda
secuencialmente a travs de las sentencias case. Como este cdigo que
calcula el nmero de das de un mes de acuerdo con el rtmico refrn que dice
"Treinta dias tiene Septiembre...".

pg. 22
intmes;
intnumeroDias;
...
switch(mes){
case1.
case3.
case5.
case7.
case8.
case10.
case12.
numeroDias=31;
break;
case4.
case6.
case9.
case11.
numeroDias=30;
break;
case2.
if(((ano%4==0)&&!(ano%100==0))||ano%400==0))
numeroDias=29;
else
numeroDias=28;
break;
}

Finalmente, puede utilizar la sentencia default al final de la sentencia switch


para manejar los valores que no se han manejado explcitamente por una de
las sentencias case.
intmes;
...
switch(mes){
case1:System.out.println("Enero");break;
case2:System.out.println("Febrero");break;
case3:System.out.println("Marzo");break;
case4:System.out.println("Abril");break;
case5:System.out.println("Mayo");break;
case6:System.out.println("Junio");break;
case7:System.out.println("Julio");break;
case8:System.out.println("Agosto");break;
case9:System.out.println("Septiembre");break;
case10:System.out.println("Octubre");break;
case11:System.out.println("Noviembre");break;
case12:System.out.println("Diciembre");break;
default:System.out.println("Ee,noesunmesvlido!");
break;
}

Sentencias de Bucle
Generalmente hablando, una sentencia while realiza una accin mientras se
cumpla una cierta condicin.

pg. 23
La sintaxis general de la sentencia while es.
while(expresin)
sentencia

Esto es, mientras la expresin sea verdadera, ejecutar la sentencia. Sentencia


puede ser una sla sentencia o puede ser un bloque de sentencias. Un bloque
de sentencias es un juego de sentencias legales de java contenidas dentro de
corchetes ('{'y '}').
Por ejemplo, supn que adems de incrementar contador dentro de un bucle
while tambin quieres imprimir el contador cada vez que se lea un carcter.
Podras escribir esto en su lugar.
...
while(System.in.read()!=1){
contador++;
System.out.println("Sehaleidounelcarcter="+contador);
}
...

Por convencin el corchete abierto '{' se coloca al final de la misma lnea donde
se encuentra la sentencia while y el corchete cerrado '}' empieza una nueva
lnea indentada a la lnea en la que se encuentra el while.
Adems de while Java tiene otros dos constructores de bucles que puedes
utilizar en tus programas.
El bucle for y el bucle do-while.
Primero el bucle for. Puedes utilizar este bucle cuando conozcas los lmites del
bucle (su instruccin de inicializacin, su criterio de terminacin y su instruccin
de incremento). Por ejemplo, el bucle for se utiliza frecuentemente para iterar
sobre los elementos de un array, o los caracteres de una cadena.
//aesunarraydecualquiertipo
...
inti;
intlength=a.length;
for(i=0;i<length;i++){
...
//hacealgoenelelementoidelarraya
...
}

Si sabes cuando estas escribiendo el programa que quieres empezar en el


inicio del array, parar al final y utilizar cada uno de los elementos. Entonces la
sentencia for es una buena eleccin. La forma general del bucle for puede
expresarse asi.
for(inicializacin;terminacin;incremento)

pg. 24
sentencias

Inicializacin es la sentencia que inicializa el bucle -- se ejecuta una vez al


iniciar el bucle. Terminacin es una sentencia que determina cuando se termina
el bucle. Esta expresin se evala al principio de cada iteracin en el bucle.
Cuando la expresin se evala a false el bucle se termina.
Finalmente, incremento es una expresin que se invoca en cada interaccin del
bucle. Cualquiera (o todos) de estos componentes pueden ser una sentencia
vaca (un punto y coma).
Java proporciona otro bucle, el bucle do-while,que es similar al bucle while
que se vio al principio, excepto en que la expresin se evala al final del bucle.
do{
sentencias
}while(ExpresinBooleana);

La sentencia do-while se usa muy poco en la construccin de bucles pero


tiene sus usos. Por ejemplo, es conveniente utilizar la sentencia do-while
cuando el bucle debe ejecutarse al menos una vez. Por ejemplo, para leer
informacin de un fichero, sabemos que al menos debe leer un carcter.
intc;
InputStreamin;
...
do{
c=in.read();
...
}while(c!=1);

Sentencias de Manejo de Excepciones


Cuando ocurre un error dentro de un mtodo Java, el mtodo puede lanzar una
excepcin para indicar a su llamador que ha ocurrido un error y que el error
est utilizando la sentencia throw.
El mtodo llamador puede utilizar las sentencias try, catch, y finally para
capturar y manejar la excepcin.
Puedes ver Manejar Errores Utilizando Excepciones para obtener ms
informacin sobre el lanzamiento y manejo de excepciones.
Sentencias de Ruptura
Ya has visto la sentencia break en accin dentro de la sentencia switch
anteriormente. Como se observ anteriormente, la sentencia break hace que el
control del flujo salte a la sentencia siguiente a la actual.

pg. 25
Hay otra forma de break que hace que el flujo de control salte a una sentencia
etiquetada. Se puede etiquetar una sentencia utilizando un identificador legal
de Java (la etiqueta) seguido por dos puntos (:) antes de la sentencia.
SaltaAqui:algunaSentenciaJava

Para saltar a la sentencia etiquetada utilice esta forma de la sentencia break.


breakSaltaAqui;

Las rupturas etiquetadas son una alternativa a la sentencia goto que no est
soportada por el lenguaje Java.
Se puede utiliza la sentencia continue dentro de un bucle para saltar de la
sentencia actual hacia el principio del bucle o a una sentencia etiquetada.
Considera esta implementacin del mtodo indexOf() de la clase String que
utiliza la forma de continue que contina en una sentencia etiquetada.
publicintindexOf(Stringstr,intfromIndex){
char[]v1=value;
char[]v2=str.value;
intmax=offset+(countstr.count);
test.
for(inti=offset+((fromIndex<0)?0:fromIndex);i<=max;
i++){
intn=str.count;
intj=i;
intk=str.offset;
while(n!=0){
if(v1[j++]!=v2[k++]){
continuetest;
}
}
returnioffset;
}
return1;
}

Esta sentencia se utiliza para salir del mtodo actual y volver a la sentencia
siguiente a la que origin la llamada en el mtodo original.
Existen dos formas de return: una que devuelve un valor y otra que no lo hace.
Para devolver un valor, simplemente se pone el valor (o una expresin que
calcule el valor) detrs de la palabra return.
return ++count;
El valor devuelto por return debe corresponder con el tipo del valor de retorno
de la declaracin del mtodo.

pg. 26
Cuando un mtodo se declara como void utiliza la forma de return que no
devuelve ningn valor.
return;

Arrays y Cadenas en Java


Al igual que otros lenguajes de programacin, Java permite juntar y manejar
mltiples valores a travs de un objeto array (matriz). Tambin se pueden
manejar datos compuestos de mltiples caracteres utilizando el objeto String
(cadena).
Arrays
Como otras variables, antes de poder utilizar un array primero se debe declarar.
De nuevo, al igual que otras variables, la declaracin de un array tiene dos
componentes primarios: el tipo del array y su nombre. Un tipo de array incluye
el tipo de dato de los elementos que va contener el array. Por ejemplo, el tipo
de dato para un array que slo va a contener elementos enteros es un array de
enteros. No puede existir un array de tipo de datos genrico en el que el tipo de
sus elementos est indefinido cuando se declara el array. Aqu tienes la
declaracin de un array de enteros.
int[] arrayDeEnteros;
La parte int[] de la declaracin indica que arrayDeEnteros es un array de
enteros. La declaracin no asigna ninguna memoria para contener los
elementos del array.
Si se intenta asignar un valor o acceder a cualquier elemento de
arrayDeEnteros antes de haber asignado la memoria para l, el compilador
dar un error como este y no compilar el programa.
testing.java:64: Variable arraydeenteros may not have been
initialized.
Para asignar memoria a los elementos de un array, primero se debe
ejemplarizar el array. Se puede hacer esto utilizando el operador new de Java.
(Realmente, los pasos que se deben seguir para crear un array son similares a
los se deben seguir para crear un objeto de una clase: declaracin,
ejemplificacin e inicializacin.
La siguiente sentencia asigna la suficiente memoria para que arrayDeEnteros
pueda contener diez enteros.
int[] arraydeenteros = new int[10]

pg. 27
En general, cuando se crea un array, se utiliza el operador new, ms el tipo de
dato de los elementos del array, ms el nmero de elementos deseados
encerrado entre cochetes cuadrados ('[' y ']').
TipodeElemento[] NombredeArray = new TipodeElementos[tamanoArray]

Ahora que se ha asignado memoria para un array ya se pueden asignar valores


a los elementos y recuperar esos valores.
for(intj=0;j<arrayDeEnteros.length;j++){
arrayDeEnteros[j]=j;
System.out.println("[j]="+arrayDeEnteros[j]);
}

Como se puede ver en el ejemplo anterior, para referirse a un elemento del


array, se aade corchetes cuadrados al nombre del array. Entre los corchetes
cuadrados se indica (bien con una variable o con una expresin) el ndice del
elemento al que se quiere acceder. Observa que en Java, el ndice del array
empieza en 0 y termina en la longitud del array menos uno.
Hay otro elemento interesante en el pequeo ejemplo anterior. El bucle for itera
sobre cada elemento de arrayDeEnteros asignndole valores e imprimiendo
esos valores. Observa el uso de arrayDeEnteros.length para obtener el
tamao real del array. length es una propiedad proporcionada para todos los
arrays de Java.
Los arrays pueden contener cualquier tipo de dato legal en Java incluyendo los
tipos de referencia como son los objetos u otros array. Por ejemplo, el siguiente
ejemplo declara un array que puede contener diez objetos String.
String[]arrayDeStrings=newString[10];

Los elementos en este array son del tipo referencia, esto es, cada elemento
contiene una referencia a un objeto String. En este punto, se ha asignado
suficiente memoria para contener las referencias a los Strings, pero no se ha
asignado memoria para los propios strings. Si se intenta acceder a uno de los
elementos de arraydeStrings obtendr una excepcin 'NullPointerException'
porque el array est vacio y no contiene ni cadenas ni objetos String. Se debe
asignar memoria de forma separada para los objetos String.
for(inti=0;i<arraydeStrings.length;i++){
arraydeStrings[i]=newString("Hello"+i);
}

Strings
Una secuencia de datos del tipo carcter se llama un string (cadena) y en el
entorno Java est implementada por la clase String (un miembro del paquete
java.lang).

pg. 28
String[]args;

Este cdigo declara explcitamente un array, llamado args, que contiene


objetos del tipo String. Los corchetes vacios indican que la longitud del array no
se conoce en el momento de la compilacin, porque el array se pasa en el
momento de la ejecucin.
El segundo uso de String es el uso de cadenas literales (una cadena de
caracteres entre comillas " y ").
"Holamundo!"

El compilador asigna implcitamente espacio para un objeto String cuando


encuentra una cadena literal.
Los objetos String son inmutables - es decir, no se pueden modificar una vez
que han sido creados.
El paquete java.lang proporciona una clase diferente, StringBuffer, que se
podr utilizar para crear y manipular caracteres al vuelo.
Concatenacin de Cadenas
Java permite concatenar cadenas facilmente utilizando el operador +. El
siguiente fragmento de cdigo concatena tres cadenas para producir su salida.
"Laentradatiene"+contador+"caracteres."

Dos de las cadenas concatenadas son cadenas literales: "La entrada tiene " y
" caracteres.". La tercera cadena - la del medio- es realmente un entero que
primero se convierte a cadena y luego se concatena con las otras.
Crear Objetos en Java
En Java, se crea un objeto mediante la creacin de un objeto de una clase o,
en otras palabras, ejemplisando una clase. Aprenders cmo crear una clase
ms adelante en Crear Clases.
Hasta entonces, los ejemplos contenidos aqu crean objetos a partir de clases
que ya existen en el entorno Java.
Frecuentemente, se ver la creacin de un objeto Java con un sentencia como
esta.
Datehoy=newDate();

Esta sentencia crea un objeto Date (Date es una clase del paquete java,util).
Esta sentencia realmente realiza tres acciones: declaracin, ejemplarizacin e
inicializacin.

pg. 29
Date hoy es una declaracin de variable que slo le dice al compilador que el
nombre hoy se va a utilizar para referirse a un objeto cuyo tipo es Date, el
operador new ejemplariza la clase Date (creando un nuevo objeto Date), y
Date() inicializa el objeto.
Declarar un Objeto
Ya que la declaracin de un objeto es una parte innecesaria de la creacin de
un objeto, las declaraciones aparecen frecuentemente en la misma lnea que la
creacin del objeto. Como cualquier otra declaracin de variable, las
declaraciones de objetos pueden aparecer solitarias como esta.
Datehoy;

De la misma forma, declarar una variable para contener un objeto es


exactamente igual que declarar una variable que va a contener un tipo
primitivo.
tiponombre;

Donde tipo es el tipo de dato del objeto y nombre es el nombre que va a utilizar
el objeto. En Java, las clases e interfaces son como tipos de datos. Entonces
tipo puede ser el nombre de una clase o de un interface.
Las declaraciones notifican al compilador que se va a utilizar nombre para
referirse a una variable cuyo tipo es tipo. Las declaraciones no crean nuevos
objetos. Date hoy no crea un objeto
Date, slo crea un nombre de variable para contener un objeto Date. Para
ejemplarizar la clase
Date, o cualquier otra clase, se utiliza el operador new.
Ejemplarizar una Clase
El operador new ejemplariza una clase mediante la asignacin de memoria
para el objeto nuevo de ese tipo. new necesita un slo argumento: una llamada
al mtodo constructor. Los mtodos constructores son mtodos especiales
proporcionados por cada clase Java que son reponsables de la inicializacin de
los nuevos objetos de ese tipo. El operador new crea el objeto, el constructor lo
inicializa.
Aqu tienes un ejemplo del uso del operador new para crear un objeto
Rectangle (Rectangle es una clase del paquete java.awt).
newRectangle(0,0,100,200);

En el ejemplo, Rectangle(0, 0, 100, 200) es una llamada al constructor de la


clase Rectangle.

pg. 30
El operador new devuelve una referencia al objeto recien creado. Esta
referencia puede ser asignada a una variable del tipo apropiado.
Rectanglerect=newRectangle(0,0,100,200);

(Recuerda que una clase esencialmente define un tipo de dato de referencia.


Por eso, Rectangle puede utilizarse como un tipo de dato en los programas
Java. El valor de cualquier variable cuyo tipo sea un tipo de referencia, es una
referencia (un puntero) al valor real o conjunto de valores representado por la
variable.
Inicializar un Objeto
Como mencion anteriormente, las clases proporcionan mtodos,
constructores para inicializar los nuevos objetos de ese tipo. Una clase podra
proporcionar mltiples constructores para realizar diferentes tipos de
inicializacin en los nuevos objetos.
Cuando veas la implementacin de una clase, reconocers los constructores
porque tienen el mismo nombre que la clase y no tienen tipo de retorno.
Recuerda la creacin del objeto Date en el seccin inicial. El constructor
utilizado no tena ningn argumento.
Date();

Un constructor que no tiene ningn argumento, como el mostrado arriba, es


conocido como constructor por defecto. Al igual que Date, la mayora de las
clases tienen al menos un constructor, el constructor por defecto.
Si una clase tiene varios constructores, todos ellos tienen el mismo nombre
pero se deben diferenciar en el nmero o el tipo de sus argumentos. Cada
constructor inicializa el nuevo objeto de una forma diferente. Junto al
constructor por defecto, la clase Date proporciona otro constructor que inicializa
el nuevo objeto con un nuevo ao, mes y da.
Datecumpleaos=newDate(1963,8,30);

Declarar Clases Java


Ahora que ya sabemos como crear, utilizar y destruir objetos, es hora de
aprender cmo escribir clases de las que crear esos objetos.
Una clase es un proyecto o prototipo que se puede utilizar para crear muchos
objetos. La implementacin de una clase comprende dos componentes: la
declaracin y el cuerpo de la clase.
DeclaracinDeLaClase{

pg. 31
CuerpoDeLaClase
}

La Declaracin de la Clase
Como mnimo, la declaracin de una clase debe contener la palabra clave
class y el nombre de la clase que est definiendo. As la declaracin ms
sencilla de una clase se parecera a esto.
classNombredeClase{
...
}

Los nombres de las clases deben ser un identificador legal de Java y, por
convencin, deben empezar por una letra mayscula. Muchas veces, todo lo
que se necesitar ser una declaracin mnima. Sin embargo, la declaracin de
una clase puede decir ms cosas sobre la clase. Ms especficamente, dentro
de la declaracin de la clase se puede.
-

declarar cual es la superclase de la clase.


listar los interfaces implementados por la clase
declarar si la clase es pblica, abstracta o final

Declarar la Superclase de la Clase


En Java, todas las clases tienen una superclase. Si no se especifica una
superclase para una clase, se asume que es la clase Object (declarada en
java.lang). Entonces la superclase de Numero Imaginario es Object porque la
declaracin no explicit ninguna otra clase. Para obtener ms informacin
sobre la clase Object, puede ver La clase Object.
Para especificar explcitamente la superclase de una clase, se debe poner la
palabra clave extends ms el nombre de la superclase entre el nombre de la
clase que se ha creado y la llave abierta que abre el cuerpo de la clase, as.
classNombredeClaseextendsNombredeSuperClase{
...
}

Esto declara explcitamente que la clase Number es la superclase de Numero


Imaginario. (La clase Number es parte del paquete java.lang y es la base para
los enteros, los nmeros en coma flotante y otros nmeros).
Declarar que Number es la superclase de Numero Imaginario declara
implcitamente que Numero Imaginario es una subclase de Number. Una
subclase hereda las variables y los mtodos de su superclase.

pg. 32
Crear una subclase puede ser tan sencillo como incluir la clausula extends en
su declaracin de clase. Sin embargo, se tendrn que hacer otras provisiones
en su cdigo cuando se crea una subclase, como sobre escribir mtodos. Para
obtener ms informacin sobre la creacin de subclases, puede ver Subclases,
Superclases, y Herencia.
Listar los Interfaces Implementados por la Clase
Cuando se declara una clase, se puede especificar que interface, si lo hay, est
implementado por la clase. Pero, Qu es un interface? Un interface declara un
conjunto de mtodos y constantes sin especificar su implementacin para
ningn mtodo. Cuando una clase exige la implementacin de un interface,
debe proporcionar la implementacin para todos los mtodos declarados en el
interface.
Para declarar que una clase implementa uno o ms interfaces, se debe utilizar
la palabra clave implements seguida por una lista de los interfaces
implementados por la clase delimitados por comas. Por ejemplo, imagina un
interface llamado Aritmtico que define los mtodos llamados suma(), resta(),
etc... La clase Numero Imaginario puede declarar que implementa el interface
classNumeroImaginarioextendsNumberimplementsAritmetico{
...
}

Se debe garantizar que proporciona la implementacin para los mtodos


suma(), resta() y dems mtodos declarados en el interface Aritmtico. Si en
Numero Imaginario falta alguna implementacin de los mtodos definidos en
Aritmtico, el compilador mostrar un mensaje de error y no compilar el
programa.
Clases Public, Abstract, y Final
Se puede utilizar uno de estos tres modificadores en una declaracin de clase
para declarar que esa clase es pblica, abstracta o final. Los modificadores van
delante de la palabra clave class y son opcionales.
El modificador public declara que la clase puede ser utilizada por objetos que
estn fuera del paquete actual. Por defecto, una clase slo puede ser utilizada
por otras clases del mismo paquete en el que estn declaradas.
publicclassNumeroImaginarioextendsNumberimplementsAritmetico{
...
}

Utilizando el modificador final se puede declarar que una clase es final, que no
puede tener subclases. Existen (al menos) dos razones por las que se podra
querer hacer esto: razones de seguridad y razones de diseo. Para una mejor

pg. 33
explicacin sobre las clases finales puedes ver Escribir Clases y Mtodos
Finales.
Observa que no tiene sentido para una clase ser abstracta y final. En otras
palabras, una clase que contenga mtodos no implementados no puede ser
final. Intentar declarar una clase como final y abstracta resultar en un error en
tiempo de compilacin.
Implementar Mtodos Java
Similarmente a la implementacin de una clase, la implementacin de un
mtodo consiste en dos partes, la declaracin y el cuerpo del mtodo.
declaracindeMtodo{
cuerpodeMtodo
}

La Declaracin de Mtodo
Una declaracin de mtodo proporciona mucha informacin sobre el mtodo al
compilador, al sistema en tiempo de ejecucin y a otras clases y objetos.
Junto con el nombre del mtodo, la declaracin lleva informacin como el tipo
de retorno del mtodo, el nmero y el tipo de los argumentos necesarios, y qu
otras clases y objetos pueden llamar al mtodo.
Los nicos elementos necesarios para una declaracin de mtodo son el
nombre y el tipo de retorno del mtodo. Por ejemplo, el cdigo siguiente
declara un mtodo llamado estaVacio() en la clase Pila que devuelve un valor
booleano (true o false).
classPila{
...
booleanestaVacio(){
...
}
}

Devolver un Valor desde un Mtodo


Java necesita que un mtodo declare el tipo de dato del valor que devuelve. Si
un mtodo no devuelve ningn valor, debe ser declarado para devolver void
(nulo).
Los mtodos pueden devolver tipos de datos primitivos o tipos de datos de
referencia. El mtodo estaVacio() de la clase Pila devuelve un tipo de dato
primitivo, un valor booleano.
classPila{
staticfinalintPILA_VACIA=1;
Object[]stackelements;

pg. 34
inttopelement=PILA_VACIA;
...
booleanestaVacio(){
if(topelement==PILA_VACIA)
returntrue;
else
returnfalse;
}
}

Los mtodos utilizan el operador return para devolver un valor. Todo mtodo
que no sea declarado como void debe contener una sentencia return.
El tipo de dato del valor devuelto por la sentencia return debe corresponder
con el tipo de dato que el mtodo tiene que devolver; no se puede devolver un
objeto desde un mtodo que fue declarado para devolver un entero.
Cuando se devuelva un objeto, el tipo de dato del objeto devuelto debe ser una
subclase o la clase exacta indicada. Cuando se devuelva un tipo interface, el
objeto retornado debe implementar el interface especificado.
Un Nombre de Mtodo
Un nombre de mtodo puede ser cualquier indentificador legal en Java. Existen
tres casos especiales a tener en cuenta con los nombres de mtodos.
Java soporta la sobrecarga de mtodos, por eso varios mtodos pueden
compartir el mismo nombre. Por ejemplo, supon que se ha escrito una clase
que puede proporcionar varios tipos de datos (cadenas, enteros, etc...) en un
rea de dibujo. Se podra escribir un mtodo que supiera como tratar a cada
tipo de dato. En otros lenguajes, se tendra que pensar un nombre distinto para
cada uno de los mtodos. dibujaCadena(), dibujaEntero, etc... En Java, se
puede utilizar el mismo nombre para todos los mtodos pasndole un tipo de
parmetro diferente a cada uno de los mtodos. Entonces en la clase de dibujo,
se podrn declarar tres mtodos llamados draw() y que cada uno aceptara un
tipo de parmetro diferente.
classDibujodeDatos{
voiddraw(Strings){
...
}
voiddraw(inti){
...
}
voiddraw(floatf){
...
}
}

Los mtodos son diferenciados por el compilador basndose en el nmero y


tipo de sus argumentos. As draw(String s)y draw(int i) son mtodos distintos

pg. 35
y nicos. No se puede declarar un mtodo con la misma firma: draw(String s)y
draw(String t) son idnticos y darn un error del compilador.
Habrs observado que los mtodos sobrecargados deben devolver el mismo
tipo de dato, por eso void draw(String s) e int draw(String t) declarados en la
misma clase producirn un error en tiempo de compilacin.
1. Todo mtodo cuyo nombre sea igual que el de su clase es un constructor y
tiene una tarea especial que realizar. Los constructores se utilizan para
inicializar un objeto nuevo del tipo de la clase. Los constructores slo pueden
ser llamados con el operador new. Para aprender cmo escribir un constructor,
puedes ver Escribir un Mtodo Constructor.
2. Una clase puede sobre escribir un mtodo de sus superclases. El mtodo que
sobre escribe debe tener el mismo, nombre, tipo de retorno y lista de
parmetros que el mtodo al que ha sobre escrito. Sobre escribir Mtodos te
ensear cmo sobre escribir los mtodos de una superclase.

Constructores
Todas las clases Java tienen mtodos especiales llamados Constructores que
se utilizan para inicializar un objeto nuevo de ese tipo. Los contructores tienen
el mismo nombre que la clase el nombre del constructor de la clase Rectangle
es Rectangle(), el nombre del constructor de la clase Thread es Thread(),
etc...
Java soporta la sobrecarga de los nombres de mtodos, por lo que una clase
puede tener cualquier nmero de constructores, todos los cuales tienen el
mismo nombre. Al igual que otros mtodos sobrecargados, los constructores se
diferencian unos de otros en el nmero y tipo de sus argumentos.
Consideremos la clase Rectangle del paquete java.awt que proporciona varios
constructores diferentes, todos llamados Rectangle(), pero cada uno con
nmero o tipo diferentes de argumentos a partir de los cuales se puede crear
un nuevo objeto Rectangle. Aqu tiene las firmas de los constructores de la
clase java.awt.Rectangle.
publicRectangle()
publicRectangle(intwidth,intheight)
publicRectangle(intx,inty,intwidth,intheight)
publicRectangle(Dimensionsize)
publicRectangle(Pointlocation)
publicRectangle(Pointlocation,Dimensionsize)

El primer constructor de Rectangle inicializa un nuevo Rectangle con algunos


valores por defecto razonables, el segundo constructor inicializa el nuevo
Rectangle con la altura y anchura especificadas, el tercer constructor inicializa
el nuevo Rectangle en la posicin especificada y con la altura y anchura
especificadas, etc...

pg. 36
Tpicamente, un constructor utiliza sus argumentos para inicializar el estado del
nuevo objeto. Entonces, cuando se crea un objeto, se debe elegir el constructor
cuyos argumentos reflejen mejor cmo se quiere inicializar el objeto.
Basndose en el nmero y tipos de los argumentos que se pasan al
constructor, el compilador determina cual de ellos utilizar, As el compilador
sabe que cuando se escribe.
newRectangle(0,0,100,200);

El compilador utilizar el constructor que requiere cuatro argumentos enteros, y


cuando se escribe.
newRectangle(miObjetoPoint,miObjetoDimension);

Utilizar el constructor que requiere como argumentos un objeto Point y un


objeto Dimension.
Cuando escribas tus propias clases, no
constructores. El constructor por defecto, el
argumentos, lo proporciona automticamente el
Sin embargo, frecuentemente se querr
constructores para las clases.

tienes porque proporcionar


constructor que no necesita
sistema para todas las clases.
o necesitar proporcionar

Se puede declarar e implementar un constructor como se hara con cualquier


otro mtodo en una clase. El nombre del constructor debe ser el mismo que el
nombre de la clase y, si se proporciona ms de un constructor, los argumentos
de cada uno de los constructores deben diferenciarse en el nmero o tipo. No
se tiene que especificar el valor de retorno del constructor.
El constructor para esta subclase de Thread, un hilo que realiza animacin,
selecciona algunos valores por defecto como la velocidad de cuadro, el nmero
de imgenes y carga las propias imgenes.
classAnimationThreadextendsThread{
intframesPerSecond;
intnumImages;
Image[]images;
AnimationThread(intfps,intnum){
inti;
super("AnimationThread");
this.framesPerSecond=fps;
this.numImages=num;
this.images=newImage[numImages];
for(i=0;i<=numImages;i++){
...
//Cargalasimgenes
...
}
}

pg. 37
}

Observa cmo el cuerpo de un constructor es igual que el cuerpo de cualquier


otro mtodo -- contiene declaraciones de variables locales, bucles, y otras
sentencias. Sin embargo, hay una lnea en el constructor de AnimationThread
que no se ver en un mtodo normal--la segunda lnea.
super("AnimationThread");

Esta lnea invoca al constructor proporcionado por la superclase de


AnimationThread--Thread. Este constructor particular de Thread acepta una
cadena que contiene el nombre del Thread. Frecuentemente un constructor se
aprovechar del cdigo de inicializacin escrito para la superclase de la clase.
En realidad, algunas clases deben llamar al constructor de su superclase para
que el objeto trabaje de forma apropiada. Tpicamente, llamar al constructor de
la superclase es lo primero que se hace en el constructor de la subclase: un
objeto debe realizar primero la inicializacin de nivel superior.
Cuando se declaren constructores para las clases, se pueden utilizar los
especificadores de acceso normales para especificar si otros objetos pueden
crear ejemplares de su clase.
Prvate: Niguna otra clase puede crear un objeto de su clase. La clase puede
contener mtodos pblicos y esos mtodos pueden construir un objeto y
devolverlo, pero nada ms.
Protected: Slo las subclases de la clase pueden crear ejemplares de ella.
Public: Cualquiera puede crear un ejemplar de la clase.
Package-access: Nadie externo al paquete puede construir un ejemplar de su
clase.
Esto es muy til si se quiere que las clases que tenemos en un paquete puedan
crear ejemplares de la clase pero no se quiere que lo haga nadie ms.
Interfaces
Definicin: Un interface es una coleccin de definiciones de mtodos (sin
implementaciones) y de valores constantes.
Los interfaces se utilizan para definir un protocolo de comportamiento que
puede ser implementado por cualquier clase del rbol de clases.
Los interfaces son tiles para.
-

Capturar similitudes entre clases no relacionadas sin forzar una relacin entre
ellas.
Declarar mtodos que una o varias clases necesitan implementar.

pg. 38
-

Revelar el interface de programacin de un objeto sin recelar sus clases (los


objetos de este tipo sonllamados objetos annimos y pueden ser tiles
cuando compartas un paquete de clases con otros desarrolladores).

En Java, un interface es un tipo de dato de referencia, y por tanto, puede


utilizarse en muchos de los sitios donde se pueda utilizar cualquier tipo (como
en un argumento de mtodos y una declaracin de variables). Podrs ver todo
esto en: Utilizar un Interface como un Tipo.
Los Interfaces No Proporcionan Herencia Mltiple
Algunas veces se tratra a los interfaces como una alternativa a la herencia
mltiple en las clases. A pesar de que los interfaces podran resolver algunos
problemas de la herencia mltiple, son animales bastantes diferentes. En
particular.
-

No se pueden heredar variables desde un interface.


No se pueden heredar implementaciones de mtodos desde un interface.
La herencia de un interface es independiente de la herencia de la clase--las
clases que implementan el mismo interface pueden o no estar relacionadas a
travs del rbol de clases.

Definir un Interface
Para crear un Interface, se debe escribir tanto la declaracin como el cuerpo
del interface.
declaraciondeInterface{
cuerpodeInterface
}

La Declaracin de Interface declara varios atributos del interface, como su


nombre o si se extiende desde otro interface. El Cuerpo de Interface contiene
las constantes y las declaraciones de mtodos del Interface.
La Declaracin de Interface
Como mnimo, una declaracin de interface contiene la palabra clave interface
y el nombre del interface que se va a crear.
interfaceContable{
...
}

Una declaracin de interface puede tener otros dos componentes: el


especificador de acceso public y una lista de "superinterfaces". Un interface
puede extender otros interfaces como una clase puede extender o subclasificar
otra case. Sin embargo, mientras que una clase slo puede extender una
superclase, los interfaces pueden extender de cualquier nmero de interfaces.
As, una declaracin completa de interface se parecera a esto.

pg. 39
[public]interfaceNombredenterface[extends
listadeSuperInterfaces]{
...
}

El especificador de acceso public indica que el interface puede ser utilizado


por todas las clases en cualquier paquete. Si el interface no se especifica como
pblico, slo ser accesible para las clases definidas en el mismo paquete que
el interface.
La clausula extends es similar a la utilizada en la declaracin de una clase, sin
embargo, un interface puede extender varios interfaces (mientras una clase
slo puede extender una), y un interface no puede extender clases. Esta lista
de super interfaces es un lista delimitada por comas de todos los interfaces
extendidos por el nuevo interface.
Un interface hereda todas las constantes y mtodos de sus super interfaces a
menos que el interface oculte una constante con el mismo nombre o redeclare
un mtodo con una nueva declaracin.
El cuerpo del Interface
El cuerpo del interface contiene las declaraciones de mtodos para los
mtodos definidos en el interface. Implementar Mtodos muestra cmo escribir
una declaracin de mtodo. Adems de las declaraciones de los mtodos, un
interface puede contener declaraciones de constantes. En Declarar Variables
Miembros existe ms informacin sobre cmo construir una declaracin de una
variable miembro.
Todos los valores constantes definidos en un interface son implcitamente
pblicos, estticos y finales. El uso de estos modificadores en una declaracin
de constante en un interface est desaconsejado por falta de estilo.
Similarmente, todos los mtodos declarados en un interface son implcitamente
pblicos y abstractos.
Este cdigo define un nuevo interface llamado coleccin que contiene un valor
constante y tres declaraciones de mtodos.
interfacecoleccion{
intMAXIMO=500;
voidaadir(Objectobj);
voidborrar(Objectobj);
Objectbuscar(Objectobj);
intcontadorActual();
}

El interface anterior puede ser implementado por cualquier clase que


represente una coleccin de objetos como pueden ser pilas, vectores, enlaces,
etc...

pg. 40
Observa que cada declaracin de mtodo est seguida por un punto y coma (;)
porque un interface no proporciona implementacin para los mtodos
declarados dentro de l.

BIBLIOGRAFIA
Juan Antonio Palos
Java Nivel Bsico
2005

Aprenda Java como si estuviera en primero


Javier Garca de Jaln Jos Ignacio Rodrguez
Iigo Mingo Aitor Imaz
Alfonso Brazlez Alberto Larzabal Jess Calleja Jon Garca
2005

JAVA A TOPE
SERGIO GLVEZ ROJAS - MIGUE L NGEAL MOR MATA
2007
MARCO CONCEPTUAL
ARRAYS: Es una coleccin ordenada de elementos de un mismo tipo de datos,
agrupados de forma consecutiva en memoria. Cada elemento del array tiene
asociado un ndice, que no es ms que un nmero natural que lo identifica
inequvocamente y permite al programador acceder a l
CLASE: proyecto, o prototipo, que define las variables y los mtodos comunes
a un cierto tipo de objetos.
CONSTRUCTORES: Se utilizan para inicializar un objeto nuevo de ese tipo.
Los constructores tienen el mismo nombre que la clase el nombre del
constructor de la clase.

pg. 41
INTERFACES: Es una coleccin de definiciones de mtodos (sin
implementaciones) y de valores constantes. Se utilizan para definir un protocolo
de comportamiento que puede ser implementado por cualquier clase del rbol
de clases.
JAVA: Es un lenguaje de programacin orientado a objetos desarrollado por
Sun Microsystems a principios de los aos 90.
METODO: Un bloque de cdigo que tiene un nombre, recibe unos parmetros
o argumentos (opcionalmente), contiene sentencias o instrucciones para
realizar algo (opcionalmente) y devuelve un valor de algn Tipo conocido
(opcionalmente).
OBJETO: conjunto de variables y de los mtodos relacionados con esas
variables
POO: Programacin orientada a objetos o POO (OOP segn sus siglas en
ingls).
SENTENCIAS DE CONTROL: En lenguajes de programacin, las estructuras de
control permiten modificar el flujo de ejecucin de las instrucciones de un programa.
ESQUEMA
Conceptos bsicos de Programacion Orientada a Objetos
-

Qu son los objetos?


Qu son las clases?
Qu son los mensajes?
Qu es la herencia?

Variables y Tipos de Datos


-

Tipos de Variables
Nombres de Variables

Operadores de Java
-

Operadores Aritmticos
Operadores Relacionales y Condicionales
Operadores de Desplazamiento
Operadores de Asignacin

Expresiones Java
-

Definicion de Expresin
Precedencia de Operadores en Java

Sentencias de Control de Flujo en Java

pg. 42
-

La sentencia if-else
La sentencia switch
Sentencias de Bucle
Sentencias de Manejo de Excepciones
Sentencias de Ruptura

Arrays y Cadenas en Java


-

Arrays
Strings
Concatenacin de Cadenas

Crear Objetos en Java


-

Declarar un Objeto
Ejemplarizar una Clase
Inicializar un Objeto

Usar Objetos Java


-

Referenciar Variables de un Objeto


Llamar a Mtodos de un Objeto

Eliminar Objetos Java


-

Recolector de Basura
Finalizacin

Declarar Clases Java


-

La Declaracin de la Clase
Declarar la Superclase de la Clase
Listar los Interfaces Implementados por la Clase
Clases Public, Abstract, y Final
Sumario de la Daclaracin de una Clase

Declarar Clases Java


-

La Declaracin de la Clase
Declarar la Superclase de la Clase
Listar los Interfaces Implementados por la Clase
Clases Public, Abstract, y Final
Sumario de la Daclaracin de una Clase

Implementar Mtodos Java


-

La Declaracin de Mtodo
Devolver un Valor desde un Mtodo
Un Nombre de Mtodo
Caractersticas Avanzadas de la Declaracin de Mtodos

Constructores

pg. 43
Interface
-

Los Interfaces No Proporcionan Herencia Mltiple

HIPOTESIS: La realizacin de este software educativo es completamente


factible porque se dispone de la teora y prctica necesaria para su correcta
creacin, adems de que este lograra su completa aceptacin dentro del
mundo de la programacin porque es un software capaz.
VARIABLES
-

La plataforma en la que realizara este software.


Software implementado para su creacin.

DEFINICION CONCEPTUAL
Metodologa existente para la correcta creacin de software educativo
aadiendose a la teora existente en la programacin del lenguaje java.
DEFINICION OPERACIONAL
Para el presente proyecto lo hemos considerado como toda la teora existente
implementada y hecha practica a travs de su aplicacin en la creacin del
software planteado.
UNIDAD DE ANALISIS
La programacin en el lenguaje java en su nivel bsico.
VALIDACION DE PARAMETROS
-

Este software solo ser diseado para el nivel bsico de java.


El temario deber cumplir los requerimientos de Sun Microsystems.

ANALISIS DE ALTERNATIVAS
Dentro de la informtica se encuentra muy poco software de este tipo, lo
podemos llegar a encontrar desglosado dentro de libros, manuales, revistas de
programacin, tutoriales y publicaciones especializadas y finalmente cursos en
diferentes versiones dentro de las cuales encontramos los cursos en lnea que
han llegado a ser uno de los ms solicitados por estudiantes, profesionistas y
finalmente catedrticos.
Concluyendo de esta forma que la falta de este software ha creado un vaco en
la comunidad estudiantil, separando a los que cuentan con los medios para
costear este tipo de material para su aprendizaje de los que no cuentan
orillndolos a una falta de capacidad dentro de esta rea dejndolos en
desventaja con respecto al otro grupo.

pg. 44

MARCO METODOLOGICO.
TIPO DE INVESTIGACION
Para esta investigacin se ha planteado utilizar todo la teora existente dentro
de libros, manuales, tutoriales y adecuarlos a nuestro temario para de esta
forma cumplir con los requerimientos establecidos por Sun Microsystems.
Determinando de esta forma a esta investigacin del tipo investigacin de
innovacin tecnolgica crearemos un software nuevo utilizando como base
terica los ya mencionados.
TECNICAS A UTILISAR
Para esta investigacin se ha planteado utilizar tcnicas de recoleccin de
datos primarios y secundarios pues ser a travs de estos donde se planteara
nuestra base terica.
UNIVERSO DE TRABAJO
UNIVERSO: Nuestro universo de trabajo abarca al lenguaje de programacin
java ya que ser sobre el cual fundamentaremos nuestra base terica,
aadindose la plataforma sobre la cual se desarrollara este software y algunas
aplicaciones de la informticas que sern utilizadas en la creacin del mismo.
MUESTRA: La muestra a utilizar ser el nivel bsico del lenguaje de
programacin java ya que ser este el que buscara ser enseado a travs de
este software.
LUGAR DONDE SE REALIZARA LA INVESTIGACION
Para la realizacin de este proyecto se ha planeado realizarla en la ciudad de
Juchitan de Zaragoza Oaxaca, ya que ha sido planteado como un proyecto de
investigacin para la materia de Taller de Investigacin 2 del Instituto
Tecnolgico del Istmo por tal motivo se realizara dentro de las instalaciones de
la misma.
TIEMPO EN QUE SE VA A REALIZAR LA INVESTIGACION
Como ya antes se ha mencionado en la viabilidad de la investigacin se tiene
estimado un tiempo necesario de 6 meses, los cuales creemos necesarios para
poder realizar la investigacin y poder realizar dicho software y con base en los
resultados de nuestra investigacin podremos comprobar si se han cumplido
con los objetivos establecidos.

pg. 45

CRONOGRAMA DE ACTIVIDADES
ACTIV IDADES
RECOPILACION DE LA
INFORMACION
REVISION DE LA
INFORMACION
PROCESO DE CREACION
DEL SOFTWARE
PRUBA E INPLEMENTACION
DEL SOFTWARE
ANALISIS DE RESULTADOS
INFORME FINAL

MES 1 MES 2 MES 3 MES 4 MES 5 MES 6

Potrebbero piacerti anche