Está en la página 1de 178

CONCEPTOS BSICOS

Qu significa la palabra dato? Es una representacin simblica (numrica,


alfabtica, algortmica etc.)

Atributo o caracterstica de una entidad.

No tiene valor semntico (sentido) en s mismo

Si recibe un tratamiento (procesamiento) apropiado, se puede utilizar en
la realizacin de clculos o toma de decisiones.

Es de empleo muy comn en el mbito informtico y, en general,
prcticamente en cualquier disciplina cientfica.

En programacin, un dato es la expresin general que describe las
caractersticas de las entidades sobre las cuales opera un algoritmo.

CONCEPTOS BSICOS
Qu es Informacin?
Es el resultado del procesamiento de
datos

Es un conjunto de datos organizados
con un propsito especial
CONCEPTOS BSICOS
Qu es Sistema?
Un sistema de informacin (SI) es un conjunto
de elementos orientados al tratamiento y
administracin de datos de informacin

Organizados y listos para su posterior uso,
generados para cubrir una necesidad
(objetivo). Dichos elementos formarn parte
de alguna de estas categoras:


CONCEPTOS BSICOS
Qu es Sistema?
Dichos elementos formarn parte de alguna
de estas categoras:

Personas.
Datos.
Actividades o tcnicas de trabajo.
Recursos materiales en general (informticos,
pero sin ser indispensables).



CONCEPTOS BSICOS
Qu es Sistema?
Todos estos elementos interactan entre s
para procesar los datos (incluyendo procesos
manuales y automticos)

Dando lugar a informacin ms elaborada y
distribuyndola de la manera ms adecuada
posible en una determinada organizacin en
funcin de sus objetivos.



Los problemas
La mayora de problemas tienen algunos
elementos en comn:

Un estado inicial;
Una meta, lo que se pretende lograr;
Un conjunto de recursos, lo que est
permitido hacer y/o utilizar;
Un dominio, es decir, los conocimientos,
habilidades de quien va a resolverlo.
Estrategias para resolver
problemas
Ensayo y error: Consiste en actuar hasta que algo funcione.
Puede tomar mucho tiempo y no es seguro que se llegue a
una solucin.

Heurstica: Se basa en la utilizacin de reglas producto de la
experiencia, para llegar a una solucin.

Algoritmos: Consiste en aplicar adecuadamente una serie de
pasos detallados que aseguran una solucin correcta.

Lluvia de ideas: Consiste en formular soluciones viables a un
problema.

Pasos para resolver un problema
Un mtodo heurstico formulado por el matemtico George
Polya indica que cuando se resuelven problemas,
intervienen cuatro operaciones mentales:

Definicin del problema - Entender el problema
Trazar un plan
Ejecutar el plan (resolver)
Revisar
Definicin
del Problema
Trazar un
plan
Ejecutar el
plan
Revisar
1. Definicin del Problema
Entender el problema
Leer el problema varias veces
Qu datos me dan en el enunciado del
problema?
Cul es la pregunta que me da el problema?
Qu debo lograr?
Cul es la incgnita del problema?
2. Anlisis del Problema
Organizar la informacin: Variables que se
debe usar (todas y cada una)

Identificar el tipo de las variables

Revisar el proceso al que se debe someter
esas variables para obtener los resultados
esperados
3. Diseo del Algoritmo
Dibujar un algoritmo donde pueda observar la
manera en que se van a comportar los datos

Revisarlo a travs de una prueba de escritorio,
de tal manera que al ingresar datos, se
obtenga los resultados esperados
4. Uso de un lenguaje de
programacin
Implementar el algoritmo con el uso de un
lenguaje de programacin

Realizar pruebas con el usuario final, para
verificar que lo que l requiere si est
contemplado en el programa


LENGUAJE DE
PROGRAMACIN
Conjunto de instrucciones que son interpretadas
por una computadora para realizar operaciones,
mostrar datos por pantalla, sacar listados por
impresora, entrar datos por teclado, etc.
Tipos de programas
Programa fuente: Permite escribir un algoritmo
mediante un lenguaje formal, a lo que se le
denomina codigo fuente.


Programa objeto: Es el producto de traducir un
programa fuente para obtener un lenguaje
comprensible por la mquina.
Tipos de programas
Traductores de programas: Convierten el
cdigo de un lenguaje en otro.

Ejemplo: compilador que traduce el cdigo
fuente en o bjeto.

Tipos de traductores: Ensambladores,
preprocesadores, intrpretes, compiladores
Tipos de programas
Ensambladores: Tipo de traductor que convierte un
programa escrito en ensamblador a cdigo de mquina

Preprocesadores: Traduce un lenguaje de aloto nivel,
cuando no puede pasar facilmente a lenguaje de mquina.

Intrpretes: Traductores-ejecutores: Lectura-traduccin-
ejecucin, lentos pero muy apropiados para depurar
programas.

Compiladores: Traductores ms conocidos; traduce
cdigo fuente en cdigo mquina

Fundamentos de programacin
en java
19
Conceptos Bsicos de Java -
Netbeans
Caractersticas de la Programacin en Java

Sensible a maysculas/minsculas.
Palabras reservadas.
Comentarios.
Lenguaje de formato libre.
Identificadores.
Variables y constantes.
Convenciones de nomenclatura.
Tipos de datos.
Operadores.

20
Caractersticas de la Programacin en Java

Sensible a maysculas/minsculas

Se distingue entre maysculas y minsculas.
Los identificadores Cat, cat y CAT son diferentes.
Todas las palabras reservadas del lenguaje van en minsculas.

Palabras reservadas
21

Paquetes: Es un conjunto de clases e interfaces relacionadas que
proveen acceso protegido y administracin de nombres.


Las clases e interfaces que son parte de la Plataforma Java estn
agrupadas en paquetes de acuerdo con su funcin:

java.applet : para manejo de Applets.
java.io: para manejo de entrada/salida.
java.awt: para manejo de la GUI.

22
El programador agrupa sus clases e interfaces en paquetes,
anteponiendo la clasula package NombreDel Paquete a las
declaraciones de todas las clases e interfaces agrupadas.

La plataforma JAVA importa automticamente los siguientes
paquetes: el default package, el paquete java.lang y el paquete
actual.

El alcance de la sentencia package es todo el archivo fuente.

Ejemplo:
23
Paquetes

Sentencia import: indica al compilador dnde estn ubicadas las clases que
estamos importando.

Ejemplos:

Para importar slo una clase de un paquete:

import <nombre.paquete>.<NombreClase>;

import java.lang.String;

Para importar todas las clases de un paquete:

import <nombre.paquete>.*;

import java.lang.*;


24
Caractersticas de la Programacin
Comentarios.
Existen tres formas de introducir comentarios:

Comentario en una lnea

// Comentario de una lnea

Comentario en una o ms lneas

/* Comentario de ms de
una lnea */

Comentario de documentacin. Se usa con javadoc

/** Mtodo XYZ:
Realiza la labor X sobre los datos Y
devolviendo Z */

javadoc Fichero.java > Fichero.html
Caractersticas de la Programacin

Lenguaje de formato libre.

La disposicin de los elementos dentro del cdigo es libre.
Sentencias: lnea simple de cdigo terminada en ;
total = a + b + c + d ;
Bloque de cdigo: conjunto de sentencias agrupadas entre llaves
{
x = x + 1;
y = y + 1;
}
Java permite espacios en blanco entre elementos del cdigo
x1 = y * delta ;
x2 = (y+1) * delta ;
Variables y constantes
Variables: Lugar de memoria cuyos valores van a cambiar
durante la ejecucin
<tipo> <identificador> ;
<tipo> <identificador> , <identificador> ... ;

ejemplo: int x, y, z ;


Constantes: Parte de memoria cuyos valores no cambian

final <tipo> <identificador> = <valor> ;
ejemplo: final double PI = 3.14159265 ;



Asignacin de Variables: Se hace con el operador asignacin =

<variable> = <expresin> ;

La parte izquierda siempre debe ser una variable.

La parte derecha puede ser un literal, una variable, una
expresin, una funcin o una combinacin de todos.

Se puede asignar un valor a una variable en el momento
de declararla.
ejemplo: int i = 0 ;

Identificadores
Son nombres de clases, variables o mtodos.
No tienen longitud mxima.
El primer carcter del identificador debe ser: A-Z, a-z, _, $.
El resto: A-Z, a-z, _, $, 0-9.
No se permite utilizar palabras reservadas como
identificador.
Ejemplos vlidos
anioDeNacimiento2
_otra_variable
NombreDeVariableMuyLargoNoImporta
BotonPulsacion

Ejemplos NO vlidos Razn
3valores (nmero como primer
carcter)
Dia&mes &
Dos ms (espacio)
Dos-valores

Convenciones de nomenclatura

Los identificadores que proporciona Java siguen una
convencin segn el elemento:
Clases: primera letra en mayscula de cada palabra
Empleado, LibroDeCuentas, String

Variables: primera letra en minscula y la primera letra de
cada palabra en mayscula
contador, numeroTotalAccesos, string



Convenciones de nomenclatura

Los identificadores que proporciona Java siguen una
convencin segn el elemento:

Constantes: todo en maysculas, separando cada palabra por
el carcter _
PI, ANCHO_IMAGEN

Convenciones de nomenclatura

Mtodos: siguen el mismo formato que las variables seguidas
de parntesis ( )
sumar(), obtenerResultado()

Estructuras de control: utilizar llaves englobando a todas las
sentencias de una estructura de control, aunque slo haya
una sentencia

if ( <condicin> ) {
// hacer algo
}else{
// hacer otra cosa
}

Tipos de Datos
Los tipos primitivos son ocho agrupados en cuatro
lgico: boolean
texto: char
entero: byte, short, int, long
real: float, double

Tipos Primitivos
Tipo Lgico Tipos Numricos
Integrales Punto Flotante
Caracteres Nmeros Enteros
boolean char byte short int long float double

Los tipos referencia son punteros a objetos
Tipos de Datos

Tipos Referencia

Un tipo referencia guarda un puntero a la direccin donde se ubica el
objeto
Slo puede almacenar direcciones de objetos de su propio tipo
Todas las clases son de tipo referencia
El valor que toma por defecto una variable de tipo referencia es null
Operadores
Dispondremos de operadores para realizar desde
operaciones aritmticas sencillas hasta operaciones a
nivel de bit, ellos son:

Aritmticos
Relacionales
Lgicos
A nivel de bit
De asignacin
El ternario
Precedencia de los operadores.
Operadores aritmticos
Operador Descripcin
+ Suma
- Reta
* Multiplicacin
/ Divisin
% Mdulo
++ Incremento
-- Decremento
Operadores relacionales
Operador Descripcin
== Igual
!= Distinto
> Mayor que
< Menor que
>= Mayor o igual
<= Menor o igual
Operadores lgicos
Operador Descripcin
& AND
| OR
^ XOR
&& AND en cortocircuito
|| OR en cortocircuito
! NOT
Tipos bsicos de datos
Los bloques en los que se encuentran divididos los tipos
bsicos en java son:

Enteros: Son cuatro tipos que nos permiten representar
nmeros enteros.

Coma flotante: Son dos tipos usados para representar
datos reales.

Caracteres: Un tipo que nos permite representar
caracteres de cualquier idioma mundial.

Lgicos: Un tipo para representar valores lgicos.
Operadores a nivel de bit
Operador Descripcin
~ NOT
& AND
| OR
^ XOR
>> Desplazamiento a la derecha
>>> Desplazamiento a la derecha sin signo
<< Desplazamiento a la izquierda
Operadores de asignacin
Operador Descripcin
~ NOT
+= Suma y asignacin
-= Resta y asignacin
*= Multiplicacin y asignacin
/= Divisin y asignacin
%= Mdulo y asignacin
&= AND y asignacin
|= OR y asignacin
^= XOR y asignacin
<<= Desplazamiento a la izquierda y asignacin
>>= Desplazamiento a la derecha y asignacin
>>>= Desplazamiento a la derecha sin signo y asignacin
El operador tenario
El operador ? : es el operador ternario.

Puede sustituir a una sentencia if-then-else.

Su sintaxis es: exp1 ? exp2: exp3;

Donde exp1 es una expresin booleana.
Precedencia de los operadores
Operador Asociatividad
() [] . izquierda a derecha
++ - ! +(unario) -(unario) () (cast) new izquierda a derecha
* / % izquierda a derecha
+ - izquierda a derecha
>> >>> << izquierda a derecha
> >= <= > instanceof izquierda a derecha
== != izquierda a derecha
& izquierda a derecha
izquierda a derecha
| izquierda a derecha
&& izquierda a derecha
|| izquierda a derecha
? : izquierda a derecha
= += -= *= /= %= &= |= = <<= >>= >>>= izquierda a derecha
Enteros
Nombre Tamao Rango
long 64 bits -9.233.372.036.854.775.808L a
9.233.372.036.854.775.808
int 32 bits -2.147.483.648 a
2.147.483.647
short 16 bits -32.768 a 32767
byte 8 bits -128 a 127
Coma flotante
Nombre Tamao Rango
float 32 bits 3.40282347E+38F
double 64 bits 1.79769313486231570E+308
Caracteres
Secuencia Descripcin
\b Retroceso
\t Tabulador
\r Retorno de carro
\n Nueva lnea
\ Comilla simple
\ Comilla doble
\\ Barra invertida
Lgicos
Para representar valores lgicos Java utiliza, el
tipo boolean, el cual permite tomar dos valores:
verdadero y falso.
Envoltorios
Tipo Envoltorio
int Integer
long Long
float Float
double Double
short Short
byte Byte
char Character
boolean Boolean
void Void
Literales y constantes
Tipo Literal Comentarios
int 123 Todos los enteros por defecto son int
long 123L Es necesario indicar una L
char a Comillas simples
float 5.9F Es posible usar tambin la notacin
exponencial 1.8E9
double 7.9 Todos los reales por defecto son
double. Se pueden finalizar con una
D
boolean true true y false son los nicos valores
vlidos
String hola Comillas dobles
Variables
La forma ms sencilla de almacenar informacin
es utilizar variables.

Antes de usar cualquier variable,
independientemente de su tipo, es necesario
declararla.
Declaracin de variables
La declaracin de estas puede realizarse en cualquier parte de
una clase o mtodo.

La forma de declarar indica el nombre y el tipo de la misma ,
pero puede ir acompaada de ms informacin, como el valor
inicial o la

Declaracin de ms variables del mismo tipo.

Tipo identificador[=valor] [, identificador[=valor]];
int i=0, j;
double d = Math.sqrt(i*5);
mbito y tiempo de vida de variables
El mbito se produce dentro de un bloque de cdigo.

El tiempo de vida es el tiempo que transcurre entre la
declaracin de la variable y su destruccin.
{
int a;
a=9;
{
int b=a+1;
}
a=10;
}

Uso bsico de cadenas de caracteres
Es posible definir literales de tipo cadena entrecomillando texto con
comillas dobles, imprimir con

System.out.println() estas cadenas e incluso concatenarlas usando el
operador +.

System.out.println(Hola+ mundo);

Tambin se puede hacer de sta manera:

String a, b;
a=Hola;
b= mundo;
String c=a+b;
System.out.println(c);

Operadores

Operadores unarios: +, -

Operadores aritmticos: +, -, *, /, % (resto de la
divisin)

Operadores de asignacin: =, +=, -=, *=, /=, %=

<var> += <expr> => <var> = <var> + <expr>

Operadores

Operadores incrementales: ++, --

siguiendo a la variable: <var>++, <var>--

ejemplo: i=6;
j=i++; => j=i; i=i+1;
// resultado i=7 , j=6

precediendo a la variable: ++<var>, --<var>

ejemplo: i=6;
j=++i; => i=i+1; j=i;

// resultado i=7 , j=7

Operadores relacionales: == (igual), != (distinto), >, <, >=, <=
Operadores
Operadores lgicos: && (AND), || (OR), ! (NOT), &
(AND), | (OR)
&& y || realizan evaluacin perezosa:
op1 && op2 => si op1 es false, no se
evala op2
op1 || op2 => si op1 es true, no se
evala op2
& y | siempre evalan los dos operadores

Operador instanceof: <objeto> instanceof <clase>
determina si un objeto pertenece a una clase

Operador condicional: ? :
<exprBooleana> ? <valor1> : <valor2>
Permite bifurcaciones condicionales
sencillas

Operadores a nivel de bits: >>, <<, >>>, &, |, ^, ~

Control de Flujo (2)
if
if (<exprBooleana>)
<sentencia> ;
-------------------------------------------------------
if (<exprBooleana>) {

<grupoSentencias>;
}
-------------------------------------------------------
if (<exprBooleana>) {
<grupoSentencias>;
}else{
<grupoSentencias>;
}
-------------------------------------------------------
if (<exprBooleana>) {
<grupoSentencias>;
}else if (<exprBooleana>){
<grupoSentencias>;
}else{
<grupoSentencias>;
}
if (cont == 0)
System.out.println(cont = cero);
-------------------------------------------------------------------------------
if (cont == 0) {
System.out.println(cont = cero);
System.out.println(otra sentencia);
}
-------------------------------------------------------------------------------
if (cont == 0) {
System.out.println(cont = cero);
}else{
System.out.println(cont != cero);
}
-------------------------------------------------------------------------------
if (nota<4) {
System.out.println("Insuficiente");
}else if (nota<6) {
System.out.println("Suficiente");
}else{
System.out.println(Muy Bien");
}
Control de Flujo de las instrucciones de
Seleccin :
if, if-else y switch.
Iteracin :
while, do-while y for.
Transferencia :
break, continue, return, try-catch-finally y assert.

Sentencia if-else
Sirve para tomar decisiones, nos permite decidir
entre dos posibles opciones excluyentes.

La sintaxis es la siguiente:

If (expresin)
sentencia-1
[else
sentencia-2]
Sentencia switch
Sirve para reemplazar if anidados.

La sintaxis es la siguiente:

switch(expresin) {
case valor1: sentencia;
..
[break;]

[default : sentencia;
sentencia;]
}
Bucle while
En este bucle una serie de sentencias se repiten
mientras se cumple una determinada condicin.

Una caracterstica es que el cuerpo del bucle se
ejecuta 0 o N veces.

La sintaxis es:

While (expresin)
sentencia
Bucle for
Es equivalente a un bucle while con la diferencia de
que permite realizar asignaciones y cambios en la
variable de control dentro del mismo bucle.

La sintaxis es:

for(exp1;exp2;exp3)
Sentencia

Pueden omitirse cualquiera de las tres expresiones,
pero los punto y coma deben permanecer.
Bucle do-while
La comprobacin de la condicin del bucle se
evala despus de ejecutar el cuerpo

La sintaxis es:
do
sentencia
while(expresin);
Se ejecuta 1 o N veces.i
Ejercicio
Ejercicio arreglado
Control de Flujo
switch
switch ( <variable> ) {

case literal1:
[<grupoSentencias1>;]
[break;]

case literal2:
[<grupoSentencias2>;]
[break;]
...

case literalN:
[<grupoSentenciasN>;]
[break;]

[default:<grupoSentencias>;]
}
int da = 4;
switch (da) {
case 1: System.out.println("Lunes");
break;

case 2: System.out.println("Martes");
break;
case 3: System.out.println("Mircoles");
break;
case 4: System.out.println("Jueves");
break;
case 5: System.out.println("Viernes");
break;
case 6: System.out.println("Sbado");
break;
case 7: System.out.println("Domingo");
break;
default: System.out.println(Error");
}
Control de Flujo
for
for ( <inicializacin>; <exprBooleana>; <actualizacin> ) {
<grupoSentencias>;
}

<inicializacin> asignacin del valor inicial de las variables que intervienen en la
expresin
<exprBooleana> condicin booleana
<actualizacin> nuevo valor de las variables en <inicializacin>

for ( int i = 0; i < 10; i++ ) {
System.out.println(valor del contador: + i );
}

Control de Flujo
while
while (<exprBooleana>){
<grupoSentencias>;
}
int cont = 0;
while (cont++ < 10) {
System.out.println(contador: + i );
}
do while
do{
<grupoSentencias>;
}while (<exprBooleana>);
int cont = 0;
do{
System.out.println(contador: + i );
} while (cont++ < 10);
Control de Flujo

Break
La instruccin break sirve para abandonar una estructura de control, tanto de las
alternativas (if-else y switch) como de las repetitivas o bucles (for, do-while y
while). En el momento que se ejecuta la instruccin break, el control del
programa sale de la estructura en la que se encuentra.
resultado
Iteracin: 1
Iteracin: 2
int i;
for (i=1; i<=4; i++) {
if (i==3) break;
System.out.println("Iteracin: "+i);
}
Continue
La instruccin continue sirve para transferir el control del programa desde la instruccin continue
directamente a la cabecera del bucle (for, do-while o while) donde se encuentra.
resultado
Iteracin: 1
Iteracin: 2
Iteracin: 4
int i;
for (i=1; i<=4; i++) {
if (i==3) continue;
System.out.println("Iteracin: "+i);
}

Clases

public class Fecha {
private int dia;
private int mes;
private int anio;
public Fecha(int vdia, int vmes, int vanio) {
dia = vdia;
mes = vmes;
anio = vanio;
}
public void mostrarFecha() {
System.out.println (dia+/+mes+/+anio);
}
public static void main(String[] args) {
Fecha MiFecha = new Fecha(10, 08, 2003);
}
}
Variable
Constructor
Mtodo
Mtodo principal de la
aplicacin
Creacin de un objeto
Clases

Creacin de Objetos
Se utiliza la palabra reservada new
<NombreClase> <refObjeto>;
<refObjeto> = new <NombreClase>() ;
<NombreClase> <refObjeto> = new <NombreClase>() ;
ejemplo: Fecha MiFecha ;
MiFecha

MiFecha = new Fecha (10, 08, 2003) ;

MiFecha


0xFFFF0000
????
2003 anio
08 mes
10 dia
Clases

Modificadores de clase: son palabras reservadas que se anteponen a la declaracin de
clase.

Sintaxis: modificador class NombreClase

Los modificadores posibles son los siguientes:

public. Toda clase public debe ser declarada en un fichero
fuente con el nombre de esa clase pblica: NombreClase.java. De
esta afirmacin se deduce que en un fichero fuente puede haber ms
de una clase, pero slo una con el modificador public.

abstract. Las clases abstractas no pueden ser instanciadas.
Sirven nicamente para declarar subclases que deben redefinir
aquellos mtodos que han sido declarados abstract.

final. Una clase declarada final impide que pueda ser
superclase de otras clases. Dicho de otra forma, ninguna clase
puede heredar de una clase final.

Clases

Atributos: sirven para almacenar valores de los objetos que se instancian a partir
de una clase.

Sintaxis:

[modifmbito][static][final][transient][volatile] tipo nombreAtributo


Tipos de Atributos:

De Objeto: son variables u objetos que almacenan valores distintos para
instancias distintas de la clase (para objetos distintos).

De Clase: son variables u objetos que almacenan el mismo valor para todos
los objetos instanciados a partir de esa clase.

Clases


Declaracin de Atributos:

static. Mediante la palabra reservada static se declaran atributos de
clase.

final. Sirve para declarar constantes, no se permite la modificacin
de su valor.

otros modificadores: transient, volatile.

modific. de mbito: public, protected, private, (default)

Clases
mbito de una variable. En Java se dispone de tres tipos de variables:

Variables miembro pertenecientes a una clase
Argumentos de un mtodo de la clase

Variables locales de un mtodo de la clase

class Ejemplo {
int x ; // variable miembro
void metodo ( int y ){ // argumento
int z ; // variable local
x = y + z ;
}
}

Las variables miembro son visibles desde cualquier parte de la clase

Los argumentos y variables locales slo son visibles dentro del mtodo al
que pertenecen. Dejan de existir al finalizar el mtodo.
Mtodos

Los Mtodos son bloques de cdigo (subprogramas) definidos dentro de una clase.
Sintaxis: <tipoRetorno> <nombreMtodo> ( <listaArgumentos> )
donde <tipoRetorno> tipo devuelto por el mtodo.
<nombreMtodo> identificador vlido en Java.
<listaArgumentos> sucesin de pares tipo-valor separados por coma


ejemplo:
String darFormato (String dia, String mes, String anio)
{
String s ;
s = dia + / + mes + / + anio ;
return s ;
}


Un mtodo tiene acceso a todos los atributos de su clase.
Pueden ser llamados o invocados desde cualquier sitio.
Un mtodo puede invocar a otros mtodos.
En Java no se puede definir un mtodo dentro de otro.
La ejecucin de todos los programas se inician con el mtodo main().
Mtodos

Modificadores de mtodos:

Sintaxis:
[ModificadorDembito] [static][abstract][final][native][synchronized]
TipoDevuelto NombreMtodo ([ListaParmetros])

Los modificadores posibles son los siguientes:

static. Los mtodos static son mtodos de clase (no de objeto) y por
tanto, no necesita instanciarse la clase (crear un objeto de esa clase)
para poder llamar a ese mtodo.

abstract. Se declaran en las clases abstract. Cuando se declara un
mtodo abstract, no se implementa el cuerpo del mtodo, slo su
signatura.

Mtodos

Modificadores de mtodos:


Los modificadores posibles son los siguientes:

final. Los mtodos de una clase que se declaran de tipo final no
pueden ser redefinidos por las subclases.

native. Los mtodos native, son mtodos que se encuentran escritos
en otro lenguaje de programacin distinto a Java (ej: C).

synchronized. Son mtodos especiales para cuando varios threads
(subprocesos) pueden acceder concurrentemente a los mismos datos y
se desea que una seccin crtica se proteja (bloquee) para que los
threads accedan en exclusin mutua a la misma.
Mtodos

Constructor: Es un mtodo especial de las clases que sirve para inicializar los
objetos que se instancian como miembros de una clase.
public class Fecha {
private int dia;
private int mes;
private int anio;
public Fecha(int vdia, int vmes, int vanio) {
dia = vdia;
mes = vmes;
anio = vanio;
}
public void mostrarFecha() {
System.out.println (dia+/+mes+/+anio);
}
public static void main(String[] args) {
Fecha MiFecha = new Fecha(10, 08, 2003);
}
}
Referencia this

this: Es una palabra clave que hace referencia al objeto o instancia actual.
Usos:

Cuando se hace referencia a una variable miembro cuyo identificador
coincide con el identificador de un parmetro.

public class Fecha {
private int dia;
private int mes;
private int anio;
public Fecha(int dia, int mes, int anio) {
this.dia = dia;
this.mes = mes;
this.anio = anio;
}
public void mostrarFecha() {
System.out.println (dia+/+mes+/+anio);
}
public static void main(String[] args) {
Fecha MiFecha = new Fecha(10, 08, 2003);
}
}
Referencia this

Cuando se hace referencia al objeto actual en un mtodo que devuelve un objeto
del tipo de referencia.

public class Fecha {
private int dia;
private int mes;
private int anio;
public Fecha(int dia, int mes, int anio) {
this.dia = dia;
this.mes = mes;
this.anio = anio;
}
public Fecha getObjetoFecha() {
return this;
}
public static void main(String[] args) {
Fecha MiFecha = new Fecha(10, 08, 2003);
Fecha MiFecha2 = MiFecha.getObjetoFecha();
}
}
Referencia this

Cuando se invoca a otros constructores de la clase.

public class Fecha {
private int dia;
private int mes;
private int anio;
public Fecha(int dia, int mes, int anio) {
this.dia = dia;
this.mes = mes;
this.anio = anio;
}
public Fecha() {
this(01,01,1900);
}
public static void main(String[] args) {
Fecha MiFecha = new Fecha(10, 08, 2003);
Fecha MiFecha2 = new Fecha();
}
}
Herencia

Herencia: Es el mecanismo por el que se crean nuevos objetos definidos en trminos de
objetoa ya existentes.
Sintaxis: class NombreClaseHija extends NombreClasePadre

class Padre {
String variable;
void metodo() {
variable = Padre;
}
}
class Hija extends Padre {
String variable;
void metodo() {
variable = Hija;
super.metodo();
System.out.println(variable);
System.out.println(super.variable);
}
}
Herencia Simple
public class Employee {
public String name = "";
public double salary;
public Date birthDate;
public String getDetails() {...}
}

public class Manager extends Employee {
public String department;
}
ENTORNO NETBEANS
ELEMENTOS DE LA PANTALLA
ENTORNO NETBEANS
Barra de mens
Barra de Herramientas
AREA DE PROYECTOS
rea de Trabajo
Se desarrolla el diseo de los
componentes que va a visualizar
en la ventana
rea de Trabajo
Modo Cdigo Fuente
Paleta
Encontramos componentes necesarios para empleados para el diseo
de ventanas
Ventana
Activar la ventana necesaria
Propiedades
Se puede observar las caractersticas de cada componente
Inspector
Permite ver la lista de los componentes que se emplean en el
desarrollo del proyecto.
Ventana de Salida
Informa sobre la ejecucin del programa, indicando los errores.
Definicin variables
Error de sintaxis
Error lgico
Ventana de Tareas
Presenta de manera detallada la descripcin del archivo que se est
trabajando y su localizacin.
NETBEANS

Netbeans IDE 7.2 es una herramienta de programacin integrada.
Enfocado al lenguaje de Programacin Java, pero actualmente
soporta PHP, C/C++, JavaScript, HTML entre otros.


Editor de funciones completas.

Plataforma para el desarrollo de aplicaciones usando Java y a un IDE
(Integrated Development Environment)

Conjunto de componentes de software (mdulos)

Fundado en Junio de 2000
PAQUETES ADICIONALES
NETBEANS
NetBeans Enterprise Pack
Pack de movilidad de NetBeans
Profiler de NetBeans
C/C++ native development module
Visual web Pack
Ruby
LENGUAJES QUE OFRECE
NETBEANS
JAVA
Java SE
Java ME
Java EE
Maven
C + +
PHP
Groovy

VERSIONES
Versin Fecha de lanzamiento
NetBeans 7.3 21 de febrero de 2013
NetBeans 7.2 noviembre de 2012
NetBeans 7.1.2 Mayo de 2012
NetBeans 7.0.1 01 de agosto de 2011
NetBeans 7.0 20 de abril de 2011
NetBeans 6.9.1 4 de agosto de 2010
NetBeans 6.9 15 de junio de 2010
NetBeans 6.8 10 de diciembre de 2009
NetBeans 6.7.1 27 de julio de 2009
NetBeans 6.7 29 de junio de 2009
NetBeans 6.5 25 de noviembre de 2008
NetBeans 6.1 28 de abril de 2008
NetBeans 6.0 3 de diciembre de 2007
NetBeans 5.5.1 24 de mayo de 2007
NetBeans 5.5 30 de octubre de 2006
NetBeans 5.0 enero de 2006
NetBeans 4.1 mayo de 2005
NetBeans 4.0 diciembre de 2004
NetBeans 3.6 abril de 2004
NetBeans 3.5 junio de 2003
NETBEANS
NetBeans est escrito en Java

Por lo que se puede ejecutar en cualquier JVM (Java
Virtual Machine) compatible instalado.

Un JDK (Java Development Kit) es necesario para la
programacin de Java



NETBEANS


Proporciona un entorno de desarrollo integrado para un
desarrollador de aplicaciones

Haciendo muy fcil y rpido su trabajo

Las aplicaciones que se basan en la plataforma NetBeans
pueden ser extendidas por otros desarrolladores.

Qu es Netbeans? NB es un entorno integrado de desarrollo o
IDE (Integrated Development Environment)

Tareas que ofrece un lenguaje de programacin:

Editar el cdigo
Compilarlo
Ejecutarlo
Depurarlo
NETBEANS
IDE (Integrated Development Environment)

En un mismo programa es posible escribir el cdigo Java,
compilarlo y ejecutarlo?
NETBEANS
PLATAFORMA
Las aplicaciones basadas en la plataforma NetBeans pueden incluir
el mdulo de actualizacin

Esto permite a los usuarios de la aplicacin descargar
actualizaciones de firma digital y las nuevas caractersticas de la
aplicacin directamente en la aplicacin que se ejecuta

Algo muy importante, si la actualizacin est disponible, los
usuarios solo actualizaran lo estrictamente necesario

Puede funcionar bajo windows, linux, Mac OS, Solarix
PLATAFORMA
La plataforma ofrece muchas caractersticas, tales como:

Gestin de la interfaz de Usuario (por ejemplo, los mens y barras de
herramientas)

Configuracin de administracin de usuarios

Gestin del almacenamiento (guardando y cargando cualquier tipo de
datos)

Ventana de gestin

Asistente marco (soporta paso a paso los cuadros de dilogo)

Herramientas de desarrollo integrado

PLATAFORMA
La plataforma ofrece muchas caractersticas, tales como:

Herramientas de depuracin

Proyecto de Construccin en. Jar

Interfaz grfica de usuario

La Interfaz grfica de usuario es tambin conocido como Proyecto
Matisse.

La interfaz grfica de diseo de la herramienta permite a los
desarrolladores arrastrar y posicionar los componentes de interfaz
grfica de usuario.

ESTRUCTURA
Clases:
La clase tiene el mismo nombre que el
archivo

Si por alguna razn se cambia, se genera
inmediatamente un error, o so la primera
letra de cada palabra no es igual, tambin
genera error.
ESTRUCTURA
Main: Es mas largo y hace referencia a un
vector

// para hacer comentarios

Java trabaja con libreras, que permite
buscar comandos necesarios en un
momento determinado, abriendo una serie
de cuadros de dilogo

ESTRUCTURA
Mtodos de Entrada y Salida:


Mdulos: Es un grupo de clases java que
provee una aplicacin con unas
caractersticas especficas.


CREACION DE PROYECTO
Qu es un Proyecto de Netbeans:

1. Es un conjunto de Clases Java
Relacionadas

2. Los archivos usados por esas clases

3. Las Libreras de Clase Java
CREACION DE PROYECTO
METODO
COMENTARIOS
CONCEPTOS BSICOS
CLASE: Es un grupo de datos (variables o campos) y funciones
(mtodos) que operan sobre esos datos:


Public es opcional
Todos los mtodos y variables deben ser definidos dentro de un
bloque de la clase

La clase tiene el mismo nombre que el archivo

Si por alguna razn se cambia, se genera
inmediatamente un error, o so la primera letra de
cada palabra no es igual, tambin genera error.
CLASE
Generalizacin de las caractersticas de los objetos.

Hace referencia a los objetos que representan los mismos tipos de datos y mtodos para
manejarlos y comunicarse con otros.

Por ejemplo, el componente botn es una clase , igualmente los componente de la Paleta


CLASE
Caractersticas: Atributo y Mtodo


a) Atributos (propiedades): Informacin de identificacin, descriptiva o de estado.

Ejemplo: La clase botn tiene la caracterstica de llevar un nombre.


CLASE
Caractersticas: Atributo y Mtodo


b) Mtodo o comportamiento: Funcionalidad o conducta ante solicitudes.

Ejemplo: Al dar clic sobre un botn, se lleva a cabo una funcin

OBJETO
Instancia particular de una clase

Se crea a partir de ella y ocupa espacio en memoria

Tiene una duracin, pues se crea y se destruye

Ejemplo:

La clase botn de la paleta, cuando se arrastra al rea de
trabajo, se crea automticamente un objeto.

Si se arrastran ms botones, se crean ms objetos de la
misma clase y cada uno tiene su atributo (tamao,
nombre) y su mtodo (aceptar, cancelar, buscar, etctera).
OBJETO
Instancia particular de una clase

Se crea a partir de ella y ocupa espacio en memoria

Tiene una duracin, pues se crea y se destruye

Ejemplo:

La clase botn de la paleta, cuando se arrastra al rea de
trabajo, se crea automticamente un objeto.

Si se arrastran ms botones, se crean ms objetos de la
misma clase y cada uno tiene su atributo (tamao,
nombre) y su mtodo (aceptar, cancelar, buscar, etctera).
Herencia
Visibilidad o Acceso
Overriding de mtodos en herencia
public class Employee {
protected String name;
protected double salary;
protected Date birthDate;
public String getDetails() {
return Name: + name + \n + Salary: + salary;
}
}
public class Manager extends Employee {
protected String department;
public String getDetails() {
return Name: + name + \n + Salary: + salary + "\n" + Manager of: +
department;
}
}
Los mtodos overridden NO PUEDEN ser
menos accesibles
public class Parent {
public void doSomething() {}
}
public class Child extends Parent {
private void doSomething() {} // illegal
}
public class UseBoth {
public void doOtherThing() {
Parent p1 = new Parent();
Parent p2 = new Child();
p1.doSomething();
p2.doSomething();
}
}
Referencia super


super: Es una palabra clave que se utiliza para referenciar atributos o mtodos de la
superclase que han sido sobrescritos por la clase hija.
Usos:
Cuando se hace referencia a un atributo de la clase padre.
class Padre {
String variable;
void metodo() {
variable = Padre;
}
}
class Hija extends Padre {
String variable;
void metodo() {
variable = Hija;
super.metodo();
System.out.println(variable);
System.out.println(super.variable);
}
}
Referencia super

Cuando se hace referencia a un mtodo de la clase padre.

class Padre {
String variable;
void metodo() {
variable = Padre;
}
}
class Hija extends Padre {
String variable;
void metodo() {
variable = Hija;
super.metodo();
System.out.println(variable);
System.out.println(super.variable);
}
}
Referencia super


Cuando se hace referencia a un constructor de la clase padre.

class Padre {
String variable;
public Padre(String nombrevar) {
variable = nombrevar;
}
}
class Hija extends Padre {
String variable;
public Hija() {
super(Padre);
variable = Hija;
}
}
Super

public String getDetails() {
return super.getDetails() + \nDepartment: " + department;
}
public class Manager extends Employee {
protected String department;
public String getDetails() {
return Name: + name + \n + Salary: + salary + "\n" + Manager of: +
department;
}
}
Polimorfismo

Polimorfismo: indica muchas formas. Una clase slo tiene una forma, pero una
variable que hace referencia a la superclase de una jerarqua puede tener muchas
formas (una por cada subclase).
Objetos Polimrficos
Employee [] staff = new Employee[1024];
staff[0] = new Manager();
staff[1] = new Employee();
staff[2] = new Engineer();
public class TaxService {
public void chargeTax(){
TaxService taxSvc = new TaxService();
Manager m = new Manager();
TaxRate t = taxSvc.findTaxRate(m);
}
public TaxRate findTaxRate(Employee e) { }
}

Operador instanceof
public class Employee extends Object
public class Manager extends Employee
public class Engineer extends Employee
----------------------------------------
public void doSomething(Employee e) {
if ( e instanceof Manager ) {
..
} else if ( e instanceof Engineer ) {
..
} else {

}
}
Casting de objetos
public void doSomething(Employee e) {
if ( e instanceof Manager ) {
Manager m = (Manager) e;
System.out.println(This is the manager of + m.getDepartment());
}
..
}
Clases Abstractas


Clases Abstractas: una clase abstracta representa un concepto abstracto.

Una clase abstracta slo puede ser heredada, pero nunca puede ser instanciada.

Se declara anteponiendo el modificador abstract a la palabra clave class.

Una clase abstracta puede contener mtodos abstractos y mtodos con
implementacin.

Un mtodo es abstracto si se declara con el modificador abstract (dentro de una clase
abstracta), pero no se implementa.

Las subclases de una clase abstracta deben implementar los mtodos abstractos que
tenga definidos.


Sintaxis: abstract class NombreClase
Clases Abstractas
public class Count {
private int serialNumber;
public static int counter = 0;
public Count() {
counter++;
serialNumber = counter;
}
}
static
Ejemplo para atributos:
public class OtherClass {
public void incrementNumber() {
Count.counter++;
}
}
llamando desde otra clase
public class Count2 {
private int serialNumber;
private static int counter = 0;
public static int getTotalCount() {
return counter;
}
public Count2() {
counter++;
serialNumber = counter;
}
}
Static Ejemplo para mtodos:

public class TestCounter {
public static void main(String[] args) {
System.out.println("Number of counter is "
+ Count2.getTotalCount());
Count2 counter = new Count2();
System.out.println("Number of counter is "
+ Count2.getTotalCount());
}
}
llamando desde otra clase
public class Count3 {
private int serialNumber;
private static int counter = 0;
public static int getSerialNumber() {
return serialNumber; // COMPILER ERROR!
}
}
Los mtodos static no pueden ser accedidos como variables de
instancia !!!!
Conceptos Bsicos de Java
Static Ejemplo para mtodos:

public class Count4 {
public static int counter;
static {
counter = Integer.getInteger("myApp.Count4.counter").intValue();
}
}
public class TestStaticInit {
public static void main(String[] args) {
System.out.println("counter = "+ Count4.counter);
}
}
Inicializadores Static

Interfaces


Interfaces: una interfaz es una coleccin de definiciones de mtodos sin
implementacin y declaraciones de constantes, agrupadas bajo un nombre.

Define un protocolo de comportamiento que debe ser implementado por
cualquier clase que pretenda utilizar ciertos servicios, con independencia de las
relaciones jerrquicas.

Las interfaces sirven para:

Declarar mtodos que sern implementados por una o ms clases. Define
un conjunto de mtodos pero no los implementa.
Definir la interfaz de programacin de un objeto, sin mostrar el cuerpo
actual de la clase.


Interfaces


Una interfaz permite a objetos no relacionados interactuar.

Una clase que implementa una interfaz debe implementar cada uno de los
mtodos que sta define.

Una interfaz puede extender mltiples interfaces. Por lo tanto, se tiene herencia
mltiple de interfaces. Una interfaz slo puede ser extendida por otra interfaz.

Una clase puede implementar varias interfaces.
Interfaces


Declaracion:
System Properties
Lo usamos para dialogar con las variables del entorno
del sistema operativo

System.getProperties, devuelve un objeto Properties

System.getProperty, devuelve un String con el valor
de determinada propiedad

El objeto Properties tiene un mtodo
propertiesNames() que se recorre con un
Enumeration
Uso bsico de cadenas de caracteres
Es posible definir literales de tipo cadena entrecomillando texto con
comillas dobles

Imprimir con System.out.println() estas cadenas e incluso concatenarlas
usando el operador +.

System.out.println(Hola+ mundo);

Tambin se puede hacer de sta manera:

String a, b;
a=Hola;
b= mundo;
String c=a+b;
System.out.println(c);
Arrays
Es un conjunto de datos homogneos que ocupan
posiciones de memoria contiguas y que es posible
referenciar a travs de un nombre nico.
Declaracin de arrays de una
dimensin
La declaracin de la referencia del array se realiza especificando el
tipo del array seguido de []

Despus viene el nombre de la variable.
int[] a;

Una vez que se tiene la referencia, se tiene que reservar la memoria
para almacenar el array, para ello se utiliza el operador new.

New se utiliza cuando se quiere crear un nuevo elemento de forma
dinmica dentro de los programas.

a=new int [10];
Acceso a un array de una dimensin
Se accede mediante la referencia y un ndice
nico, el ndice del array es un nmero entero
comprendido entre 0 y la dimensin -1.
int a[]={1,2,3};
System.out.println(b[1]);

Se imprimir 2
Declaracin de un array multidimensional
Un array bidimensional, es un array de arrays y se
lo define de la siguiente manera:

int [][] tabla=new int [2][3];

Pero solo es obligatorio indicar el nmero de filas,
despus se puede reservar memoria para el resto
de forma independiente.

int [][] tabla=new int [2][];
tabla [0]=new int [3];
tabla [1]=new int [3];
Acceso a un array multidimensional
Es de la misma manera que en los arrays de una
dimensin, solo se le aumenta un nuevo grupo
de corchetes con el ndice de la siguiente
dimensin.

System.out.println(tabla[1][1]);
Ejemplo
Consola I/O
System.out : salida estndar al monitor
Genera un objeto de tipo PrintStream

System.in : entrada estndar del teclado
Genera un objeto de tipo InputStream

System.err : escribe un error estndar
Ejercicio 1 leer del teclado
Ejercicio 2 para leer del teclado
Ejemplo de uso Array
Declaracin
char s[];
Point p[];
char[] s;
Point[] p;
Un array es un objeto.
Se crea con new

public char[] createArray() {
char[] s;
s = new char[26];
for ( int i=0; i<26; i++ ) {
s[i] = (char) (A + i);
}
return s;
}
public void printElements(int[] list) {
for (int i = 0; i < list.length; i++) {
System.out.println(list[i]);
} }
Longitud del array
Ejemplo de uso Array
Crear un Array con valores iniciales
1)
String[] names;
names = new String[3];
names[0] = "Georgianna";
names[1] = "Jen";
names[2] = "Simon";
2)
String[] names = {
"Georgianna",
"Jen",
"Simon"
};
1)
MyDate[] dates;
dates = new MyDate[3];
dates[0] = new MyDate(22, 7, 1964);
dates[1] = new MyDate(1, 1, 2000);
dates[2] = new MyDate(22, 12, 1964);
2)
MyDate[] dates = {
new MyDate(22, 7, 1964),
new MyDate(1, 1, 2000),
new MyDate(22, 12, 1964)
};
Ejemplo de uso Array Multidimensional
(matrices)

int[][] twoDim = new int[4][];
twoDim[0] = new int[5];
twoDim[1] = new int[5];
int[][] twoDim = new int[][4]; // illegal
int[][] twoDim = new int[4][5];

String [][] ciudades={{"BsAs","Sao Pablo","Madrid"},
{"Argentina","Brasil","Espaa"}};
for ( int i=0; i<ciudades.length; i++ ) {
for (int j=0; j<ciudades[i].length; j++ ) {
System.out.println(ciudades[i][j]) ;
} }
Recorriendo Array
public void printElements(int[] list) {
for ( int element : list ) {
System.out.println(element);
}
}

Este FOR, puede ser leido como:
Para cada elemento en list hacer.

Redimensionando un Array
Qu hacemos entonces?
Usamos ARRAYCOPY


NO SE PUEDE HACER

int[] myArray = { 1, 2, 3, 4, 5, 6 };
// nuevo array ms grande
int[] hold = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 };
// copia todo lo de myArray al array hold

System.arraycopy(myArray, 0, hold, 0, myArray.length);

También podría gustarte