You are on page 1of 31

TECNOLGICO NACIONAL DE MXICO

INSTITUTO TECNOLGICO DE COMITANCILLO

FACILITADOR:
LIC. ISIDRO LOPEZ RUIZ
MATERIA:
PROGRAMACION ORIENTADA A OBJETOS
PRESENTAN:
SAUL LOPEZ LOPEZ
PABLO ALBERTO SANCHEZ SANTIAGO
CARRERA:
ING. EN INFORMATICA

SEMESTRE: 2

GRUPO: A

SAN PEDRO COMITANCILLO, OAXACA.

FEBRERO 2015

Unidad 1 Fundamentos del


lenguaje.
Java es un lenguaje de programacin desarrollado
por
Sun Microsystems en 1995 y actualmente se usa en millones de ordenadores
personales y en miles de millones de dispositivos electrnicos.
Con estas cifras, Java es un referente en el mbito profesional de desarrollo de
aplicaciones. Es un lenguaje de programacin puntero a nivel mundial y que
actualmente ofrece amplias oportunidades profesionales presentes y futuras.
Java es un lenguaje de programacin orientado a objetos, es decir, que realiza
abstracciones de los objetos del mundo real con sus correspondientes
propiedades (atributos) y acciones (mtodos) al mundo virtual.
En la realidad tenemos un coche con su matrcula, modelo y color y sus
movimientos hacia delante, izquierda, derecha y atrs.
Para Java, la matrcula, el modelo y el color son atributos mientras que los
movimientos del coche son mtodos que deberemos implementar en la aplicacin
Java que estemos desarrollando.
Para desarrollar una aplicacin Java es necesario recurrir a uno de los entornos
de desarrollo Java existentes actualmente.
Los entornos de desarrollo Java son aplicaciones que permiten al programador
implementar las abstracciones del mundo real en un aplicacin concreta mediante
la introduccin de secuencias de cdigo con sus estructuras de programacin.
Actualmente existen dos entornos de desarrollo Java de amplio uso en el sector
profesional. Estos entornos de desarrollo Java son NetBeans y Eclipse
NetBeans
Se trata de unos de los mejores entornos de desarrollo Java. Es libre y su uso
principal es el desarrollo de aplicaciones Java, aunque tambin permite el
desarrollo de aplicaciones en otros lenguajes de programacin tales php, html.
Se trata de un producto gratuito y libre sin restricciones de uso. Adems ofrece la
posibilidad de ampliacin ya que existen programadores que desarrollan nuevos
mdulos que se pueden aadir a dicho entorno.
Eclipse
Se trata de una aplicacin de programacin multiplataforma que permite el
desarrollo de aplicaciones para Android que tambin utilizan el lenguaje Java para
su implementacin.
Existen otros entornos de desarrollo Java (JBuilder, JCreator) pero dado que se
trata de software comercial tienen una menor difusin que los aqu tratados.

Entornos de desarrollo Java.


Scratch
Es una aplicacin grfica en 2 dimensiones en la cual los nios de entre 6 y 11
aos pueden desarrollar aplicaciones mediante el uso del ratn sin necesidad de
uso de lneas de cdigo permitiendo un acercamiento a las estructuras y
conceptos ms bsicos de programacin.
Scratch permite al nio una primera toma de contacto con las estructuras de
programacin en un entorno amigable y visual.

Alice
Es el paso natural desde Scratch a las 3 dimensiones para los adolescentes de
entre 11 y 14 aos que pueden desarrollar aplicaciones mediante el uso del ratn
y mediante la introduccin de las primeras lneas de cdigo permitiendo un
acercamiento al lenguaje Java.

1.1

Entorno de desarrollo.
Qu es Netbeans?

NB es un entorno integrado de desarrollo o IDE (Integrated Development


Environment)
En l podemos realizar todas las tareas asociadas a la programacin
Editar el cdigo

Compilarlo
Ejecutarlo
Depurarlo

Concepto de proyecto

Netbeans no trabaja a nivel de archivo sino a nivel de proyecto


Un proyecto incluye todos los recursos necesarios para construir un programa:
Archivos con el cdigo
Bibliotecas externas (p.e. ACM Task Force)
Imgenes, sonidos, etc.
Fsicamente un proyecto Netbeans no es ms que
un directorio con una organizacin especial.
-

>Ejemplo Hello program

Carga de un proyecto

Vista de Proyectos
Normalmente usamos la vista lgica de los
Proyectos
Si seleccionamos HelloProgram.java ste se abre en el editor

Zona de edicin

Ejecutar el proyecto

Configuracin del entorno de desarrollo.

1.2

CREACIN DE UN NUEVO PROYECTO

Seleccionamos Proyecto Nuevo del men Archivo

Si no lo estuvieran, seleccionamos la Categora Java y el Proyecto Java


Application

Estructura

del

proyecto

Despus del
crea
un

pulsar

Terminar

se

nuevo
proyecto
el rea
proyecto
Este
proyecto
incluye

en
de

no
an

clase
Biblioteca ACM
Empecemos creando

Aadiendo una

Ninguna

una

clase

clase

Abrimos el men contextual


<paquete predeterminado>
Seleccionamos Nuevo
y Clase Java

Se le da un nombre a la
clase, posteriormente se
le da en terminar

sobre

el

Estructura de la clase

creada

Vemos que la clase se ha aadido al proyecto y se ha

Ahora

1.3

ya

podemos

editarla

Palabras reservadas.

modicarla

abierto en el editor

Las palabras reservadas de Java son aquellas que pertenecen al programa en si y


no pueden declararse como nombre de variables, mtodos o clases. Todas las
palabras reservadas de Java son en minscula

Puede haber otro tipo de palabras o texto en el lenguaje que aunque no sean
palabras reservadas tampoco se pueden utilizar para crear identificadores. Es el
caso de true y false y null.

1.4

Comentarios.

Los comentarios permiten aadir al cdigo fuente notas o comentarios de texto


que son ignorados por el compilador.
Los comentarios vienen en tres formatos:
1 // Comentario de una sola lnea
2

/* Comentario multilnea */

3 //** Comentario de documentacin */


1. Los comentarios de una sola lnea comienzan con // y continuan hasta el final
de la lnea.
2. Los comentarios comienzan con /* y terminan con */
3. Los comentarios de documentacin son un tipo especial de comentarios
multilnea que arranca con /**.Se utiliza para empotrar en la documentacin del
cdigo fuente de una clave y se puede leer con el propio cdigo fuente con la
herramienta Javadoc para genera documentacin HTML para sus clases.

1.5 Tipos de datos

Los tipos de datos ms simples en Java son: enteros, coma, flotante, boolean,
lgicos y caracteres.

Literales

Los literales permiten valores de tipos primitivo, el tipo string o null se escriben
directamente como un texto de programa .
Literales enteros
Valores decimales de tipo int (32 bit)
0,124, -525, 55661, 2354657, -321124
Valores hexadecimales de tipo int () precedidos por un 0 o bien DX (los dgitos
hexadecimales se pueden representar de af o bien A-F.
DXD DX12F OXFFED DXFFFF 0X12DEFF
Valores octales de tipo int estn precedidos por un 0 a la izquierda seguido por
dgitos en el rango 0-7

00, 0123, 0777, -045321, -05


Literales de coma flotante
Los nmeros bsicos de una coma flotante incluyen un punto decimal. 1.2345
1234.5678 0.1 305 -24.123
Si el nmero de coma flotante termina con un sufijo f o F ser de tipo Float.
1.23f 3.456F of .5Ff -45673F
El sufijo d o D se pueden utilizar para representar tipos double.
Regla
Los literales en coma flotante en Java son por defecto double precisin .Para
especificar un literal float se debe aadir una constante F o f. Se puede especificar
explcitamente un literal de tipo double aadiendo D o d.
Literales boolean
Existen dos valores lgicos que pueden tener un valor lgico o boolean true
(verdadero) y false (falso)
Literales carcter
Un Literal carcter representa un solo carcter encerrado entre comillas simples.

Literales de cadena

Los literales de cadena se especifican encerrado una secuencia de caracteres


entre un par de comillas dobles.
Hola Carchelejo
cinco/nlineas
Esto es una cadena, Hola mundo/n

1.6 Variables.
Las variables son unidades bsicas de almacenamiento en Java. Una variable se
define por la combinacin de un identificador, un tipo y un inicializador opcional.
Adems las ,variables tiene un mbito que define su visibilidad y una duracin.
Declaracin de variables
Una variable debe ser declarada antes de poder ser utilizada.
Sintaxis

nombretipo identificador
nombretipo identificador =expresin

Es posible declarar dos o ms variables a la vez.


Nombretipo id1, id2,...;
Existen dos categoras de variables:
1. Variables de tipo primitivo que contienen directamente una representacin de un
valor de un tipo primitivo.
2. Variables de tipo referencia que contienen una referencia a un objeto cuando un
tipo
de referencia toma el valor null, significa que no se refiere a un objeto
real(referencia nula)
Modificaciones de variables
Las variables se pueden modificar mediante indicadores.
Public La clase o variable de instancia es accesible desde todos los mbitos.
Protected La clase o variable de instancia es accesible solo en el mbito actual de
la clase ,el mbito del paquete actual y todas las subclases de la clase actual.

Private La clase o variable de instancia es accesible solo en el mbito actual de la


clase.
Final La variable es una constante ,de modo que su valor no se puede modificar.
Static La variable es una variable de clase, compartida entre todos los objetos
instancia de una clase.
Transfert Se declara que no es parte de un estado persistente del objeto .
Volatile Se necesita a veces cuando se utiliza una variable instancia por para
prevenir al compilador de su optimizacin.
Inicializacin de variables
Se utilizan los siguientes valores por defecto
byte (byte ) 0
short (short) 0
Int 0
long 0l
float 0.0f
double 0.0d
char / u000(carcter nulo)
boolean false
tipos referncia null
La inicializacin se realiza de tres formas
1. int i=100;
char c=d;
float f=45.325
2. int i;
{i=100;}
3. asignacin dentro del cuerpo de un constructor

int a=10,b,c=5;
Variables parmetro
Estas variables se inicializan siempre a una copia del valor utilizado en la llamada
del mtodo o constructor.
Variables locales
Todas las variables locales deben ser explcitamente directa o indirectamente
antes de
un uno.
{
int i=10;
...
}
o por una asignacin hecha a la variable antes de ser utilizada en cualquier otra
expresin.
{ int i;
// no puede haber ninguna ? Que utilice i
i=?
}
Variables finales
Las variables que se declaran final deben ser inicializadas cuando son declaradas
y no pueden ser modificadas.
Static final int MAX-CUENTA=100,
Conversin de tipos y moldeado
Cuando un tipo de dato se asigna a otro tipo de variable tiene lugar una
conversin automtica de tipos si se cumplen las dos condiciones siguientes:
Los dos tipos son compatibles
El tipo destino es ms grande que el tipo fuerte.

Las variables primitivas nunca se pueden moldear a un objeto clase


String obj-str=(string)0, //err
Para convertir un entero a una cadena ,aadir un literal de cadena vaca.
String obj-str=0+; // el operador + significa
CARACTERES ESPECIALES
Los caracteres especiales de difcil representacin

1.7 Constantes.
Una constante es un espacio de memoria que se define en un programa para
almacenar de forma temporal un valor de un tipo de dato bsico, el cual NO
cambiara mientras se ejecuta el programa.
La sintaxis de declaracin de una constante usa la forma siguiente:
final <tipo_de_datos> <nombre_constante> = <valor>
Donde nombre_constante representa el nombre simblico que se da a la
constante y valor el valor de la constante. En el primer caso, las constantes se
declaran igual que las variables, pero llevan delante la palabra reservada final

Indica que la constante tiene un valor que se fija durante todo el periodo de vida
que dura la ejecucin de un programa. Si se intenta asignar un valor distinto a la
constante se obtendr un error.
Aunque no hay convenciones definidas respecto a los nombres de las constantes,
se suelen escribir con letras maysculas.
Ejemplos:

En Java:
final int VALOR_INICIAL = 5;

final double IVA_TIPO_1


= 0.16;

Las constantes se diferencian en java de las variables porque se le adiciona la


palabra reservada final y despus del nombre se le asigna el valor.
Existen constantes a las que no se les asignan un valor, a estas se les denomina
como variables en blanco.
final float Precio_Dinero;
Se observa que no es posible de asignar valor a las constantes despus de su
declaracin, porque ya lo tiene y no se puede modificar. Sin embargo, nunca se
debe confundir una constante con una variable con valor inicial. Hay dos
diferencias fundamentales:
1 Su declaracin se diferencia porque las constantes tienen el calificador
final.
2 El valor de la constante no puede cambiar, por lo que se obtiene un error si
se trata de asignar un valor a una constante.

1.8 Operadores.

Son todos aquellos smbolos que representan enlaces entre cada uno de los
argumentos que intervienen en una operacin, se les llama operadores y se
utilizan para construir expresiones.
TIPOS DE OPERADORES:
1 - Relacionales o Condicionales:
Se utilizan para formar expresiones booleanas, es decir, expresiones que al ser
evaluadas producen un valor booleano: Verdad o Falso.

Ejemplo:

2 - Operadores Aritmticos:
Se utilizan para tratar los operadores aritmticos que junto con las variables
numricas forman expresiones aritmticas.

Ejemplo:

3 - Alfanumricos:
Se utiliza para unir datos alfanumricos.
Concatenacin: Unir expresiones alfanumricos, como si fueran eslabones de
una cadena.

Ejemplos:

4 -Lgicos o Booleanos:
Combinan sus operadores de acuerdo a las reglas del Algebra de Boole, con el fin
de producir un nuevo valor que se convierta en el valor de la expresin.

OR: Es un operador binario, afecta a dos operadores. La expresin que


forma es cierta cuando al menos unos de sus operadores es cierto.
AND: Es un operador binario, la expresin que forma es cierta cuando
ambos operadores son cierto al mismo tiempo.
NOT: No es un operador binario, afecta un operador cambiando su estado
lgico, si era verdad lo convierte a falso.

Ejemplo:

Parntesis: Se utiliza para anidar expresiones.}

EJEMPLO:

1.9 Sentencias.
Son una serie de instrucciones que permiten indicarle a la computadora que
realice una tarea determinada.
La sentencia if
Una sentencia if consiste en una expresin booleana seguida de una o ms
sentencias. Veamos la sintaxis:
if(expresion_Booleana)
{
//Sentencias se ejecutan si la expresin booleana es verdadera
}
Si la expresin booleana es verdadera, entonces el bloque de cdigo dentro del if
se ejecuta. Si no se ejecutar el primer grupo de cdigo despus del final de la
instruccin if.
Veamos un ejemplo:
public class Curso {

public static void main(String args[]){


int x = 15;

if( x < 30 ){
System.out.print(Esto es una sentencia if");
}
}
}
Si ejecutamos el cdigo anterior obtendremos lo siguiente:

Esto es una sentencia if

La sentencia if..else
Una sentencia if puede ser seguido por una sentencia else, que se ejecuta
cuando la expresin booleana es falsa.
Veamos la sintaxis:

if(expresion_Booleana)
/ / Se ejecuta cuando la expresin booleana es verdadera
} else {
/ / Se ejecuta cuando la expresin booleana es falsa
}
Veamos un ejemplo:
public class Curso {

public static void main(String args[]){


int x = 40;

if( x < 10 ){
System.out.print("Esto es una sentencia if");
}else{
System.out.print("Esto es una sentencia else");
}
}
}
Si ejecutamos el cdigo anterior obtendremos lo siguiente:
Esto es una sentencia else

La sentencia if...else ifelse


Una sentencia if puede ser seguido por un opcional else if ... else, que es muy til
para comprobar varias condiciones.
Veamos la sintaxis:
if(expresion_Booleana_1)
/ / Se ejecuta cuando la expresin booleana 1 es verdadera
} else if (expresion_Booleana_2) {
/ / Se ejecuta cuando la expresin booleana 2 es verdadera
} else if (expresion_Booleana_3) {
/ / Se ejecuta cuando la expresin booleana 3 es cierto
} else {
/ / Se ejecuta cuando ninguna condicin anterior es verdadera.
}
Veamos un ejemplo:
public class Curso {

public static void main(String args[]){


int x = 45;

if( x == 15 ){
System.out.print(El valor de X es15");
}else if( x == 30 ){
System.out.print("El valor de X es 30");
}else if( x == 45 ){
System.out.print("El valor de X es 45");
}else{

System.out.print(X no cumple ninguna de las condiciones anteriores");


}
}
}
Si ejecutamos el cdigo anterior obtendremos lo siguiente:
El valor de X es 45

La sentencia anidada if...else


Tambin es posible usar una sentencia if o ifelse dentro de otro if o if..else.
Veamos la sintaxis:
if(expresion_Booleana_1)
/ / Se ejecuta cuando la expresin booleana 1 es verdadera
if (expresion_Booleana_2) {
/ / Se ejecuta cuando la expresin booleana 2 es verdadera
}
}
Veamos un ejemplo:
public class Curso {

public static void main(String args[]){


int x = 40;
int y = 5;

if( x == 40 ){
if( y == 5 ){
System.out.print("X = 30 y Y = 5");
}

}
}
}
Si ejecutamos el cdigo anterior obtendremos lo siguiente:
X = 40 y Y = 5

La sentencia switch
Una sentencia switch permite a una variable ser probada por una lista de
condiciones. Cada condicin se llama case.Veamos la sintaxis:
switch (expresion) {
case valor1:
/ / Declaraciones
break; / / opcional
case valor2:
/ / Declaraciones
break; / / opcional
/ / Usted puede tener cualquier nmero de sentencias case.
default: / / Opcional
/ / Declaraciones que cumplir si la variable no entra en ningn caso.
}
Las siguientes reglas se aplican a una sentencia switch :

La variable que se utiliza en una sentencia switch slo puede ser un byte,
short , int, o char.

Puedes tener cualquier nmero de sentencias case dentro de un switch.


Cada caso es seguido del valor a ser comparado.

El valor de un caso debe ser el mismo tipo de datos que la variable en el


switch.

Cuando la variable del switch es igual a un caso, las instrucciones que


siguen a ese caso se ejecutar hasta que se alcanza una sentencia break.

Cuando se llega a una sentencia break, el caso termina, y el flujo de control


pasa a la siguiente lnea despus de la sentencia switch.

No todos los casos tiene que contener un break.

Una sentencia switch puede tener un caso por defecto (opcional), que debe
aparecer al final del switch. El caso por defecto se puede utilizar para
realizar una tarea cuando ninguno de los casos es cierto.

Veamos un ejemplo:
public class Curso {

public static void main(String args[]){


char departamento = 'B';

switch(departamento)
{
case 'A' :
System.out.println("Desarrollo");
break;
case 'B' :
System.out.println(Recursos Humanos");
break;
case 'C' :
System.out.println("Finanzas");
break;
case 'D' :
System.out.println("Mercadeo");
default :
System.out.println(Departamento invalido");
}

System.out.println(Cdigo para el departamento es " + departamento);


}
}

1.10 Conversin de tipos de datos (cast).


En Java es posible transformar el tipo de una variable u objeto en otro diferente al
original con el que fue declarado. Este proceso se denomina "conversin",
"moldeado" o "tipado" y es algo que debemos manejar con cuidado pues un mal
uso de la conversin de tipos es frecuente que d lugar a errores.
Una forma de realizar conversiones consiste en colocar el tipo destino entre
parntesis, a la izquierda del valor que queremos convertir de la forma siguiente:
Tipo VariableNueva = (NuevoTipo) VariableAntigua;
Por ejemplo: int miNumero
(char)System.in.read();

(int)

ObjetoInteger;

char

En el primer ejemplo, extraemos como tipo primitivo int el valor entero contenido
en un campo del objeto Integer. En el segundo caso, la funcin read devuelve un
valor int, que se convierte en un char debido a la conversin (char), y el valor
resultante se almacena en la variable de tipo carcter c.
El tamao de los tipos que queremos convertir es muy importante. No todos los
tipos se convertirn de forma segura. Por ejemplo, al convertir un long en un int, el
compilador corta los 32 bits superiores del long (de 64 bits), de forma que encajen
en los 32 bits del int, con lo que si contienen informacin til, sta se perder. Este
tipo de conversiones que suponen prdida de informacin se denominan
conversiones no seguras y en general se tratan de evitar, aunque de forma
controlada pueden usarse puntualmente.

De forma general trataremos de atenernos a la norma de que "en las


conversiones debe evitarse la prdida de informacin". En la siguiente tabla
vemos conversiones que son seguras por no suponer prdida de informacin.
TIPO DESTINO
double, float, long, int, char, short
double, float, long, int
double, float, long, int
double, float, long
double, float
Double

No todos los tipos se pueden convertir de esta manera. Como alternativa, existen
otras formas para realizar conversiones.
MTODO VALUEOF PARA CONVERSIN DE TIPOS
El mtodo valueOf es un mtodo sobrecargado aplicable a numerosas clases de
Java y que permite realizar conversiones de tipos. Veamos algunos ejemplos de
uso.
INTERPRETACIN
aprenderaprogramar.com

EXPRESIN
miInteger
miInteger.valueOf (i)

Con i entero primitivo que se transforma en


Integer

miInteger
=
miInteger.valueOf (miString)

El valor del String se transforma en Integer

miString = miString.valueOf
(miBooleano)

El booleano se transforma en String true o


false

miString = miString.valueOf
(miChar)

El carcter (char) se transforma en String

miString = miString.valueOf
(miDouble)

El double se transforma en String. Igualmente


aplicable a float, int, long.

No todas las conversiones son posibles. Muchas veces por despiste los
programadores escriben instrucciones de conversin incoherentes como mi
Integer = (int) miString;. El resultado en este caso es un error de tipo Inconvertible
types. Un uso tpico de valueOf es para convertir tipos primitivos en objetos.

1.11 ESTRUCTURAS DE CONTROL


Java es un lenguaje de programacin estructurado, esto significa que
Java proporciona estructuras de control para decidir el flujo de ejecucin
de nuestros programas.
Existen dos grandes grupos de estructuras de control:
Estructuras de control de repeticin: Nos permiten indicar si un
determinado bloque de cdigo se debe ejecutar ms de una vez.
Estructuras de control de seleccin: Nos permiten especificar ms
de una direccin de flujo dependiendo de alguna condicin.
Estructuras de control de repeticin.
En Java existen tres estructuras de control de repeticin:

Bucle for.

Bucle while.
Bucle do...while.

Las estructuras de repeticin sirven para repetir una determinada tarea


mientras se cumpla cierta condicin. En el caso de un array nos sirven
para recorrer los elementos almacenados en el array secuencialmente,
para, por ejemplo, mostrar sus valores. Veamos cmo se usa cada una
de estas estructuras de repeticin.
Qu es un array en java?
Es una estructura de datos que nos permite almacenar una gran
cantidad de datos de un mismo tipo.
El bucle for
Si conocemos cual es los primeros elementos y el ltimo sobre los que
queremos iterar el bucle for es la manera ms cmoda de recorrerlos
todos.
La sintaxis del bucle for es:
for(inicio; condicin: incremento)
El bucle while
En el caso del bucle while, la condicin de parada se comprueba antes
de cada iteracion y, si la condicin se cumple, se ejecuta el bloque del
bucle while.
Sintaxis La sintaxis del bucle while es:
while(condicin) {
Bloque de cdigo
}

El bucle do...while
En el caso del bucle do...while la condicin se comprueba despus de
haberse ejecutado al menos una vez el cuerpo del bucle. La condicin se
comprueba al final del bucle while.
La sintaxis del bucle do...while es:
do {
Bloque de cdigo
} while (condicin);

Estas tres estructuras de control de repeticin son intercambiables, se


puede sustituir una por otra con pequeas modificaciones. Elegir una u
otra depende de cada caso: si conocemos el intervalo sobre el que
queremos iterar el bucle for es el ms cmodo de utilizar; si la condicin
de parada no involucra el valor de una posicin podemos utilizar el bucle
while si necesitamos comprobar la condicin antes, o bien el bucle
do...while si queremos ejecutar al menos una vez el bloque de cdigo
que encierra el bucle.

You might also like