Sunteți pe pagina 1din 65

Modulo 1.

Repaso conceptos y estructuras basicas

CONCEPTOS

BASICOS JAVA

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

Introduccion a Java
- Cambio de estructura estatica (HTML) a paginas dinamicas (JAVA)

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

Introduccion a Java
- Soporte para ejecutar programas sin la necesidad de descargar plug-in

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

Introduccion a Java
- Brinda seguridad en cuanto codigo malicioso - Reconoce una cantidad considerable de formatos de imagenes, sonido y video.

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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
7 Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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
8 Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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)
9 Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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.

10

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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

11

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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
12 Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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)

13

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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

14

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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.

15

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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.

16

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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.

17

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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.

18

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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 */
19 Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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
20

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

Palabras clave
abstract boolean break continue default do if for goto new null package import int long native switch synchronized this

byte
byvalue case catch char class const
21

double
else extends false final finally float

implements private
instanceof public return static super true try void interface short

threadsafe
transient

protected throw

while
Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

Palabras Reservadas
Adems, el lenguaje se reserva unas cuantas palabras ms, pero que hasta ahora no tienen un cometido especfico. Son: cast operator future outer generic rest inner var

22

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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.

23

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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.
24 Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

Tipos de Datos Simples


boolean byte char double float Representa Valores True / False Representa enteros de 8 bits Datos de tipo caracter Valores de punto flotante pero con doble precisi Valores de tipo Real con precisin Simple

int
long short

Sirve para representar valores de tipo entero


Entero Largo Entero corto

25

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

Operadores Aritmeticos
+ Suma

* / % ++ --

REsta
Multiplicacion Division Devuelve el resto de una divisin Incremento en 1 Decrementa en 1

26

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

Operadores Logicos
&& || ! Y lgico. Condicion1 && Condicion2 O lgico. Condicion1 || Condicion2 Negacin. !(Condicion1)

27

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

Operadores Relacionales
== Es igual a

!= !
> <

O lgico. Condicion1 || Condicion2 Negacin. !(Condicion1)


Mayor que Menor que

>=
<=

Mayor o Igual que


Menor o Igual que

28

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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.

29

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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;

30

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

Bloque Switch
switch(expresin)
{ case 1: Sentecia 1; break; case 2: Sentecia 2; break; ... default: Sentencias; break; } 31 Programacin II.

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

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.

32

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

Ciclo For
for( valor inicial; condicin; incremento) {

accion;

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:

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)

33

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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

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.

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.

34

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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.

35

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

Errores de Logica

Los errores de lgica son conocidos como BUGS. Estos son los errores que nos tomarn tiempo hasta encontrarlos.

36

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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

37

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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;
38 Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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.
39 Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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.

40

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

Subprogramas

La programacin modular es una de las tcnicas fundamentales de la programacin. Se apoya en el diseo descendente y en la filosofa de divideyvencers,esdecirsetratadedividirelproblemadado,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.

41

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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
42 Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

Subprogramas (Procedimientos)
Ejemplo:
public static void calc_mitad() { int n = 10;

int mit;

mit = n/2;

System.out.println(mit);
}

43

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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>

44

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

Subprogramas (Funciones)

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

return n/2;

45

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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.

46

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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;

47

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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

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

48

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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

49

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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.length1][matriz[0].length-1]

50

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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.

51

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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; }

52

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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; }

53

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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] );

}
} }

54

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

** 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.

55

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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]

56

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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);

57

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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.

58

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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 59 Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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 ?

60

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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.

61

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

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.
62 Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

Bloque
try-catch-throw
try {

sentencias;
} catch( Exception ) { sentencias;

63

Programacin II.

Modulo 1. IDE

64

Programacin II.

Modulo 1. Repaso conceptos y estructuras basicas

PREGUNTAS ???

65

Programacin II.

S-ar putea să vă placă și