Documente Academic
Documente Profesional
Documente Cultură
CONCEPTOS
BASICOS JAVA
Programacin II.
Introduccion a Java
- Cambio de estructura estatica (HTML) a paginas dinamicas (JAVA)
Programacin II.
Programacin II.
Introduccion a Java
- Soporte para ejecutar programas sin la necesidad de descargar plug-in
Programacin II.
Introduccion a Java
- Brinda seguridad en cuanto codigo malicioso - Reconoce una cantidad considerable de formatos de imagenes, sonido y video.
Programacin II.
Java Origen
- 1990: Inicio del proyecto verde por Patrick Naughton. - 1991: James Gosling escribi el compilador original y lo denomin "Oak"
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
7 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 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)
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
int
long short
25
Programacin II.
Operadores Aritmeticos
+ Suma
* / % ++ --
REsta
Multiplicacion Division Devuelve el resto de una divisin Incremento en 1 Decrementa en 1
26
Programacin II.
Operadores Logicos
&& || ! Y lgico. Condicion1 && Condicion2 O lgico. Condicion1 || Condicion2 Negacin. !(Condicion1)
27
Programacin II.
Operadores Relacionales
== Es igual a
!= !
> <
>=
<=
28
Programacin II.
29
Programacin II.
elseif(condicion2)
Sentencia 2; elseif(condicion3) Sentencia 3;
...
else Sentencia n;
30
Programacin II.
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:
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.
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:
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.
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.
35
Programacin II.
Errores de Logica
Los errores de lgica son conocidos como BUGS. Estos son los errores que nos tomarn tiempo hasta encontrarlos.
36
Programacin II.
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.
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.
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.
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;
40
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 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.
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.
Subprogramas (Procedimientos)
Ejemplo:
public static void calc_mitad() { int n = 10;
int mit;
mit = n/2;
System.out.println(mit);
}
43
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>
44
Programacin II.
Subprogramas (Funciones)
Ejemplo:
public static int calc_mitad() { int n = 10; int mit;
return n/2;
45
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.
46
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;
47
Programacin II.
Matriz
Creacion matriz = new tipo[filas][columnas];
Ejemplo
int[][] datos = new int[2][3];
48
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
49
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
50
Programacin II.
Inicializacion de Vectores
51
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; }
52
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; }
53
Programacin II.
{
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.
** 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.
Copia de Arreglos
Para copiar los elementos de un array, hemos de crear un nuevo array y copiar los elementos uno a uno:
56
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);
57
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.
58
Programacin II.
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
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;
60
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.
61
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.
62 Programacin II.
Bloque
try-catch-throw
try {
sentencias;
} catch( Exception ) { sentencias;
63
Programacin II.
Modulo 1. IDE
64
Programacin II.
PREGUNTAS ???
65
Programacin II.