Sie sind auf Seite 1von 65

Modulo 1.

Repaso conceptos y estructuras basicas


1
Programacin II.
CONCEPTOS
BASICOS
JAVA
Modulo 1.
Repaso conceptos y estructuras basicas
2
Programacin II.
Introduccion a Java

- Cambio de estructura
estatica (HTML) a
paginas dinamicas
(JAVA)
Modulo 1.
Repaso conceptos y estructuras basicas
3
Programacin II.
Modulo 1.
Repaso conceptos y estructuras basicas
4
Programacin II.
Introduccion a Java
- Soporte para ejecutar
programas sin la
necesidad de descargar
plug-in
Modulo 1.
Repaso conceptos y estructuras basicas
5
Programacin II.
Introduccion a Java

- Brinda seguridad en cuanto codigo malicioso
- Reconoce una cantidad considerable de formatos de
imagenes, sonido y video.
Modulo 1.
Repaso conceptos y estructuras basicas
6
Programacin II.
Java Origen

- 1990: Inicio del proyecto verde por Patrick Naughton.
- 1991: James Gosling escribi el compilador original y lo
denomin "Oak"
- 1992: sistema prototipo conocido como "*7".
- 1993: el equipo concluy que el mercado para
consumidores electrnicos smart y las cajas Set-Up en
particular, no eran del todo eficaces
Modulo 1.
Repaso conceptos y estructuras basicas
7
Programacin II.
Java Origen

- 1994: cese del proyecto verde, coincidio con la Web. El
lenguaje hecho por Sun cumplia los requerimientos para Web.
- 1995: browser Hot Java fue dado a conocerse. (soporte
applets)
- 1996: Sun crea Java Soft para continuar con Java.
- 1996: Java Soft dio a conocer el Java Developmet Kit (JDK)
1.0
- 1996: Netscape Comunications Inc, mostr las ventajas de
Java y rpidamente se asoci con Java Soft para explotar su
nueva tecnologa
Modulo 1.
Repaso conceptos y estructuras basicas
8
Programacin II.
Java VERSIONES

JDK 1.0 (23 de enero de 1996)
JDK 1.1 (19 de febrero de 1997)
J2SE 1.2 (8 de dieciembre de 1998)
2SE 1.3 (8 de mayo de 2000)
J2SE 1.4 (6 de febrero de 2002)
J2SE 5.0 (30 de septiembre de 2004)
Java SE 6 (11 de diciembre de 2006)
Java SE 7 ( ao 2006 )
Java SE 8
Modulo 1.
Repaso conceptos y estructuras basicas
9
Programacin II.
Java Caracteristicas

Es Simple
Java reduce en un 50% los errores ms comunes de programacin con
lenguajes como C y C++ al eliminar muchas de las caractersticas de
stos, entre las que destacan:

* aritmtica de punteros
* no existen referencias
* registros (struct)
* definicin de tipos (typedef)
* macros (#define)
* necesidad de liberar memoria (free)

Modulo 1.
Repaso conceptos y estructuras basicas
10
Programacin II.
Java Caracteristicas

Es Orientado a Objetos

Java trabaja con sus datos como objetos y con interfaces a esos objetos.
Soporta las tres caractersticas propias del paradigma de la orientacin a
objetos: encapsulacin, herencia y polimorfismo.
Modulo 1.
Repaso conceptos y estructuras basicas
11
Programacin II.
Java Caracteristicas

Es Distribuido

Java en s no es distribuido, sino que proporciona las libreras y
herramientas para que los programas puedan ser distribuidos, es decir, que
se corran en varias mquinas, interactuando
Modulo 1.
Repaso conceptos y estructuras basicas
12
Programacin II.
Java Caracteristicas

Es Robusto
Java realiza verificaciones en busca de problemas tanto en tiempo de
compilacin como en tiempo de ejecucin, maneja la memoria para
eliminar las preocupaciones por parte del programador de la liberacin o
corrupcin de memoria

Java proporciona:
* Comprobacin de punteros
* Comprobacin de lmites de arrays
* Excepciones
* Verificacin de byte-codes
Modulo 1.
Repaso conceptos y estructuras basicas
13
Programacin II.
Java Caracteristicas

Es de Arquitectura Neutral
Java no es dependiente del
sistema operativo donde se
encuentre ejecutando, esto
lo hace por medio de la JVM
y los programas objeto
(byte-codes)
Modulo 1.
Repaso conceptos y estructuras basicas
14
Programacin II.
Java Caracteristicas

Es Seguro
El cdigo Java pasa muchas pruebas antes de ejecutarse en una mquina.
El cdigo se pasa a travs de un verificador de byte-codes que comprueba
el formato de los fragmentos de cdigo y aplica un probador de teoremas
para detectar fragmentos de cdigo ilegal -cdigo que falsea punteros,
viola derechos de acceso sobre objetos o intenta cambiar el tipo o clase de
un objeto-.

El Cargador de Clases tambin ayuda a Java a mantener su seguridad
Modulo 1.
Repaso conceptos y estructuras basicas
15
Programacin II.
Java Caracteristicas

Es Portable
Ms all de la portabilidad bsica por ser de arquitectura independiente,
Java implementa otros estndares de portabilidad para facilitar el
desarrollo.Tambin ayuda a Java a mantener su seguridad

Por ejemplo el sistema abstracto de ventanas.
Modulo 1.
Repaso conceptos y estructuras basicas
16
Programacin II.
Java Caracteristicas

Es Interpretado

Java es ms lento que otros lenguajes de programacin, como C++, ya
que debe ser interpretado y no ejecutado como sucede en cualquier
programa tradicional.
Modulo 1.
Repaso conceptos y estructuras basicas
17
Programacin II.
Java Caracteristicas

Es Multihilo

Java permite muchas actividades simultneas en un programa. Los threads
(a veces llamados, procesos ligeros), son bsicamente pequeos procesos
o piezas independientes de un gran proceso.

El beneficio de ser miltithreaded consiste en un mejor rendimiento
interactivo y mejor comportamiento en tiempo real.
Modulo 1.
Repaso conceptos y estructuras basicas
18
Programacin II.
Java Caracteristicas

Es Dinamico

Si su sistema ejecuta una aplicacin Java sobre la red y encuentra una
pieza de la aplicacin que no sabe manejar, Java es capaz de traer
automticamente cualquiera de esas piezas que el sistema necesita para
funcionar.
Modulo 1.
Repaso conceptos y estructuras basicas
19
Programacin II.
Comentarios

En Java hay tres tipos de comentarios:

// comentarios para una sola lnea

/* comentarios de una o
ms lneas
*/

/** comentario de documentacin, de una o ms lneas
*/

Modulo 1.
Repaso conceptos y estructuras basicas
20
Programacin II.
Identificadores


Los identificadores nombran variables, funciones, clases y objetos;
cualquier cosa que el programador necesite identificar o usar. No hay
longitud maxima.

Ejemplos vlidos
a, pepe, r456, tu_re_da, AnTeNa, antena, usd$

Ejemplos no vlidos
345abc, mi variable, Nombre.Largo, caada, camin



Modulo 1.
Repaso conceptos y estructuras basicas
21
Programacin II.
Palabras clave

abstract continue for new switch
boolean default goto null synchronized
break do if package this
byte double implements private threadsafe
byvalue else import protected throw
case extends instanceof public transient
catch false int return true
char final interface short try
class finally long static void
const float native super while

Modulo 1.
Repaso conceptos y estructuras basicas
22
Programacin II.
Palabras Reservadas

Adems, el lenguaje se reserva unas cuantas palabras ms, pero que
hasta ahora no tienen un cometido especfico. Son:

cast future generic inner
operator outer rest var


Modulo 1.
Repaso conceptos y estructuras basicas
23
Programacin II.
Acumuladores

Es una variable, que , como su nombre lo indica se encarga de acumular
valores. Esto se vuelve muy til, por ejemplo, cuando queremos encontrar
la suma de los nmeros del 0 al 9, en el acumulador, vamos guardando los
valores de dichas cifras. Puede ser tanto real como entera. Su valor inicial,
en la mayora de los casos es cero.



Modulo 1.
Repaso conceptos y estructuras basicas
24
Programacin II.
Contadores

Es una variable de tipo entero, que nos ayuda, en el programa a
contabilizar el nmero de ejecuciones de una misma accin, de un grupo
de alumnos etc. Un acumulador tiene tres valores distintos:
* Valor Inicial: es el valor con el cual iniciamos nuestro contador.
Generalmente es cero. Esta asignacin puede hacerse cuando se declara
la variable.
* Valor Final: despus de la ejecucin del ciclo, el valor del contador,
ser distinto a su valor inicial, este puede ser mayo o menor que el mismo,
todo depende si fue una cuenta creciente o decreciente.
* Valor de Cambio: Es el valor Constante, en el cual se ir
incrementando nuestro contador, este puede ser positivo o negativo; es
decir, si la cuenta se realiza de manera ascendente o descendente.
Modulo 1.
Repaso conceptos y estructuras basicas
25
Programacin II.
Tipos de Datos Simples



boolean Representa Valores True / False
byte Representa enteros de 8 bits
char Datos de tipo caracter
double Valores de punto flotante pero con doble precisi
float Valores de tipo Real con precisin Simple
int Sirve para representar valores de tipo entero
long Entero Largo
short Entero corto
Modulo 1.
Repaso conceptos y estructuras basicas
26
Programacin II.
Operadores Aritmeticos



+ Suma
- REsta
* Multiplicacion
/ Division
% Devuelve el resto de una
divisin
++ Incremento en 1
-- Decrementa en 1
Modulo 1.
Repaso conceptos y estructuras basicas
27
Programacin II.
Operadores Logicos



&& Y lgico. Condicion1 &&
Condicion2
|| O lgico. Condicion1 ||
Condicion2
! Negacin. !(Condicion1)
Modulo 1.
Repaso conceptos y estructuras basicas
28
Programacin II.
Operadores Relacionales



== Es igual a
!= O lgico. Condicion1 ||
Condicion2
! Negacin. !(Condicion1)
> Mayor que
< Menor que
>= Mayor o Igual que
<= Menor o Igual que
Modulo 1.
Repaso conceptos y estructuras basicas
29
Programacin II.
Bloque If .... else

La sentencia if (o si condicional), le permite a un programa decidir,
mediante la evaluacin de una condicin, ejecutar una u otra accin o
acciones.
La sintaxis General es La siguiente:

if(condicion1)
Accion1;

Si son varias acciones, van entre llaves.
Modulo 1.
Repaso conceptos y estructuras basicas
30
Programacin II.
Bloque If .... elseif .....

Esta estructura, es una consecuencia de las estructuras if anidadas, sus
formato es el siguiente:
if(condicion1)
Sentencia 1;
elseif(condicion2)
Sentencia 2;
elseif(condicion3)
Sentencia 3;
...
else
Sentencia n;
Modulo 1.
Repaso conceptos y estructuras basicas
31
Programacin II.
Bloque Switch

switch(expresin)
{
case 1:
Sentecia 1;
break;
case 2:
Sentecia 2;
break;
. . .
default:
Sentencias;
break;
}
Esta sentencia, permite ejecutar, una u
otra u otra accin, al evaluar una
condicin, cuyo resultado es el que indica
que bloque (o bloques) de instrucciones se
van a ejecutar.
Su sintaxis es la siguiente:
Modulo 1.
Repaso conceptos y estructuras basicas
32
Programacin II.
Ciclo While

while(condicin) {

Accin;

}
Funciona de la siguiente manera: primero
evala la condicin, si da como resultado
cierta realiza la accin, luego vuelve a
evaluar la condicin, si su resultado es
falso, se sale del ciclo y contina con la
ejecucin del programa. Hay que tener
mucho cuidado, cuando trabajamos con
ciclos, ya que podemos caer en un ciclo
infinito, es decir que nunca se sale de l.
Por lo cual en las acciones debemos
siempre colocar algo que haga que se
modifique el resultado de la condicin, lo
cual puede ser una bandera, un contador o
un acumulador.
Modulo 1.
Repaso conceptos y estructuras basicas
33
Programacin II.
Ciclo For

for( valor inicial; condicin; incremento) {

accion;

}



Valor inicial: es el valor con el cual inicializamos nuestra variable de control.
Condicin: si la cumple, ejecuta la accin o acciones e incrementa o decrementa la variable de control,
sino la cumple la condicin, se sale del ciclo.
Incremento; que puede ser positivo o negativo (decremento)
En algunas ocasiones, sabemos a ciencia
cierta el nmero de veces que se tiene que
repetir una misma accin o bloque de
acciones. Y para ello es que nos sirve,
esta estructura. Su sintaxis es la siguiente:
Modulo 1.
Repaso conceptos y estructuras basicas
34
Programacin II.
Ciclo Do While

do {
sentencia;
.
.
} while(<exp>);



La diferencia fundamental, entre el ciclo while y do...while, es que en este ultimo,
las sentencias se realizarn por lo menos una vez, en cambio, con while, solo se
cumplirn mientras se cumpla la condicin, lo cual puede ser nunca.
Es te ciclo funciona de la siguiente
manera, realiza la accin o conjunto de
acciones, luego evala una condicin de
resultar cierta vuelve a realizar la/s
accion/es. Cuando sea falsa, se sale del
ciclo.
Modulo 1.
Repaso conceptos y estructuras basicas
35
Programacin II.
Errores de Compilacion / Sintaxis

Los errores de programacin en Java, as como en otros lenguajes,
ocurren ms que todo en la sintaxis y errores en la lgica. Los errores en la
sintaxis son causados cuando el compilar Java (javac) no puede reconocer
la sentencia. Esto causa que el compilador devuelva un mensaje de error,
usualmente con una lnea de cdigo de referencia. Tambin se conoce a
los errores de sintaxis como errores en tiempo de compilacin.
Modulo 1.
Repaso conceptos y estructuras basicas
36
Programacin II.
Errores de Logica



Los errores de lgica son conocidos como BUGS. Estos son los errores
que nos tomarn tiempo hasta encontrarlos.
Modulo 1.
Repaso conceptos y estructuras basicas
37
Programacin II.
Errores mas comunes


El nombre de la Clase pblica no coincide con el nombre del archivo
Una Clase no est en el directorio correcto
Usando equals contra la asignacin ( == versus = )
Error en maysculas y minsculas.
Olvidar que los ndices en Java empiezan en 0.
NullPointerException
Modulo 1.
Repaso conceptos y estructuras basicas
38
Programacin II.
Declaracion de Variables


Para usar una variable en un programa hay que declararla.

El ordenador conoce as cmo codificar la informacin que se va a
almacenar en la posicin de memoria correspondiente.
Al declarar una variable, se reserva el espacio de memoria necesario
para almacenar un valor del tipo de la variable.
El identificador asociado a la variable se puede utilizar para acceder al
dato almacenado en memoria y para modificarlo.
Ej: Boolean bandera;
int a,b,c;

Modulo 1.
Repaso conceptos y estructuras basicas
39
Programacin II.
Declaracion de Variables

Las variables se han de declarar antes de poder usarlas.

Los identificadores de las variables son los nombres que utilizaremos para
referirnos a ellas.

Al declarar una variable, hay que definir su tipo: la variable slo admitir
valores del tipo especificado.

En una misma declaracin se pueden declarar varias variables, siempre
que sean del mismo tipo. En este caso, los identificadores de las variables
se separan por comas.

Modulo 1.
Repaso conceptos y estructuras basicas
40
Programacin II.
Inicializacion de Variables

En una declaracin, las variables se pueden inicializar:

int i = 0;
float pi = 3.1415927f;
double x = 1.0, y = 1.0;


La inicializacin puede consistir en una expresin
compleja que se evala cuando se ejecuta el programa.

Modulo 1.
Repaso conceptos y estructuras basicas
41
Programacin II.
Subprogramas


La programacin modular es una de las tcnicas fundamentales de la
programacin. Se apoya en el diseo descendente y en la filosofa de
divide y vencers, es decir se trata de dividir el problema dado, en
problemas ms simples en que cada uno de los cuales lo
implementaremos en un mdulo independiente. A cada uno de estos
mdulos es a lo que llamamos subalgoritmos o subprogramas.

Modulo 1.
Repaso conceptos y estructuras basicas
42
Programacin II.
Subprogramas (Procedimientos)

Un procedimiento es un subprograma o un subalgoritmo que ejecuta una
determinada tarea, pero que tras ejecutar esa tarea no tienen ningn valor
asociado a su nombre, no retorna un valor.
Algoritmo calc_mitad
Var
N: entero
Mit: real
Inicio
Escribir Introduce un nmero
Leer n
Mitad (n,mit)
Escribir La mitad esmit
fin
Modulo 1.
Repaso conceptos y estructuras basicas
43
Programacin II.
Subprogramas (Procedimientos)

Ejemplo:

public static void calc_mitad() {
int n = 10;
int mit;

mit = n/2;

System.out.println(mit);
}
Modulo 1.
Repaso conceptos y estructuras basicas
44
Programacin II.
Subprogramas (Funciones)


Desde el punto de vista matemtico, una funcin es una operacin que
toma uno o varios operandos, y devuelve un resultado. Y desde el
punto de vista algortmico, es un subprograma que toma uno o varios
parmetros como entrada y devuelve a la salida unnico resultado.

Funcion <nombre_funcion> (n_parametro: tipo, n_parametro: tipo): tipo funcion
Var <variables locales funcion>
Inicio
<acciones>
retorno <valor>
fin <nombre_funcion>

Modulo 1.
Repaso conceptos y estructuras basicas
45
Programacin II.
Subprogramas (Funciones)


Ejemplo:

public static int calc_mitad() {
int n = 10;
int mit;

return n/2;

}

Modulo 1.
Repaso conceptos y estructuras basicas
46
Programacin II.
Vectores

Un array es una estructura de datos que contiene una coleccin de
datos del mismo tipo, caracteristicas:

- Los arrays se utilizan como contenedores para almacenar datos
relacionados
- Todos los datos incluidos en el array son del mismo tipo
- El tamao del array se establece cuando se crea el array
- A los elementos del array se acceder a travs de la posicin que ocupan
dentro del conjunto de elementos del array.

Modulo 1.
Repaso conceptos y estructuras basicas
47
Programacin II.
Vectores (Declaracion)

Para declarar un array, se utilizan corchetes para indicar que se trata de
un array y no de una simple variable del tipo especificado.

tipo identificador[];
O bien,
tipo[] identificador;



Modulo 1.
Repaso conceptos y estructuras basicas
48
Programacin II.

Matriz
Creacion
matriz = new tipo[filas][columnas];

Ejemplo
int[][] datos = new int[2][3];




Modulo 1.
Repaso conceptos y estructuras basicas
49
Programacin II.

Manipulacion Vectores

- El ndice del primer componente de un vector es siempre 0.
- El tamao del array puede obtenerse utilizando la propiedad vector.length
- Por tanto, el ndice de la ltima componente es vector.length-1





Modulo 1.
Repaso conceptos y estructuras basicas
50
Programacin II.
Manipulacion Matriz

En Java, el ndice de la primera componente de un vector es siempre 0,
por lo que matriz[0][0] ser el primer elemento de la matriz.

El tamao del array puede obtenerse utilizando la propiedad array.length:
matriz.length nos da el nmero de filas
matriz[0].length nos da el nmero de columnas

Por tanto, el ltimo elemento de la matriz es matriz[matriz.length-
1][matriz[0].length-1]
Modulo 1.
Repaso conceptos y estructuras basicas
51
Programacin II.

Inicializacion de Vectores


int vector[] = {1, 2, 3, 5, 7};
int matriz[][] = { {1,2,3}, {4,5,6} };


** El compilador deduce automticamente las dimensiones del array.

Modulo 1.
Repaso conceptos y estructuras basicas
52
Programacin II.
Vectores como parametros Ejemplo -

static float media (float datos[])
{
int i;
int n = datos.length;
float suma = 0;
for (i=0; i<n; i++)
suma = suma + datos[i];
return suma/n;
}
Modulo 1.
Repaso conceptos y estructuras basicas
53
Programacin II.
Vectores como parametros Ejemplo -

static int[] leerVector (int datos)
{
int i;
int[] vector = new int[datos];
for (i=0; i<datos; i++)
vector[i] = leerValor();
return vector;
}

Modulo 1.
Repaso conceptos y estructuras basicas
54
Programacin II.
Matriz Ejemplo -
public static void mostrarMatriz (double matriz[][])
{
int i,j;
int filas = matriz.length;
int columnas = matriz[0].length;
// Recorrido de las filas de la matriz
for (i=0; i<filas; i++) {
// Recorrido de las celdas de una fila
for (j=0; j<columnas; j++) {
System.out.println ( matriz[+i+][+j+]=+ matriz[i][j] );
}
}
}
Modulo 1.
Repaso conceptos y estructuras basicas
55
Programacin II.

** IMPORTANTE **

Cuando se pasa un array como parmetro, se copia una referencia al array
y no el conjunto de valores en s. Por tanto, tenemos que tener cuidado con
los efectos colaterales que se producen si, dentro de un mdulo,
modificamos un vector que recibimos como parmetro.

Modulo 1.
Repaso conceptos y estructuras basicas
56
Programacin II.
Copia de Arreglos

Para copiar los elementos de un array, hemos de crear un nuevo array y
copiar los elementos uno a uno:

int[] datos = new int[numeros.length];

for (i=0; i<numeros.length; i++)
datos[i] = numeros[i]

Modulo 1.
Repaso conceptos y estructuras basicas
57
Programacin II.
Copia de Arreglos

Tambin podemos utilizar una funcin predefinida en la biblioteca de clases
estndar de Java:

System.arraycopy(from,fromIndex,to,toIndex,n);

int[] datos = new int[numeros.length];
System.arraycopy(numeros,0,datos,0,numeros.length);


Modulo 1.
Repaso conceptos y estructuras basicas
58
Programacin II.

Biblioteca: java.util.Arrays

- Arrays.sort(v) ordena los elementos del vector.
- Arrays.equals(v1,v2) comprueba si dos vectores son iguales.
- Arrays.fill(v,val) rellena el vector v con el valor val.
- Arrays.toString(v) devuelve una cadena que representa el contenido del
vector.


Modulo 1.
Repaso conceptos y estructuras basicas
59
Programacin II.
Ordenamiento: Metodo Burbuja.
public static int[] OrdenarBurbuja(int[] n){
int temp;
int t = n.length;
for (int i = 1; i < t; i++) {
for (int k = t- 1; k >= i; k--) {
if(n[k] < n[k-1]){
temp = n[k];
n[k] = n[k-1];
n[k-1]= temp;
}//fin if
}// fin 2 for
}//fin 1 for
return n;
}//fin
Modulo 1.
Repaso conceptos y estructuras basicas
60
Programacin II.
Busqueda Lineal o Secuencial Vector -

static int buscar (double vector[], double dato)
{
int i;
int N = vector.length;
int pos = -1;
for (i=0; i<N; i++)
if (vector[i]==dato)
pos = i;
return pos;
}

Como hacer el algoritmo mas eficiente ?

Modulo 1.
Repaso conceptos y estructuras basicas
61
Programacin II.
Separadores

() - parntesis. Para contener listas de parmetros en la definicin y
llamada a mtodos. Tambin se utiliza para definir precedencia en
expresiones, contener expresiones para control de flujo y rodear las
conversiones de tipo.

{} - llaves. Para contener los valores de matrices inicializadas
automticamente. Tambin se utiliza para definir un bloque de cdigo, para
clases, mtodos y mbitos locales.
Modulo 1.
Repaso conceptos y estructuras basicas
62
Programacin II.
Separadores

[] - corchetes. Para declarar tipos matriz. Tambin se utiliza cuando se
referencian valores de matriz.
; - punto y coma. Separa sentencias.

, - coma. Separa identificadores consecutivos en una declaracin de
variables. Tambin se utiliza para encadenar sentencias dentro de una
sentencia for.

. - punto. Para separar nombres de paquete de subpaquetes y clases.
Tambin se utiliza para separar una variable o mtodo de una variable de
referencia.
Modulo 1.
Repaso conceptos y estructuras basicas
63
Programacin II.
Bloque

try-catch-throw

try {
sentencias;
} catch( Exception ) {
sentencias;
}



Modulo 1.
IDE
64
Programacin II.
Modulo 1.
Repaso conceptos y estructuras basicas
65
Programacin II.



PREGUNTAS ???

Das könnte Ihnen auch gefallen