Publicado el 3 de Diciembre del 2018
913 visualizaciones desde el 3 de Diciembre del 2018
605,4 KB
97 paginas
Creado hace 14a (22/03/2010)
Programación II
Introducción a Java
Ángel Lucas González Martínez
Jaime Ramírez
Guillermo Román
DLSIIS. Facultad de Informática
Universidad Politécnica de Madrid
INTRODUCCIÓN A LA
PLATAFORMA JAVA
2
Un poco de historia de Java
• Empezó a desarrollarse a finales de 1990 en Sun con el
nombre de Oak.
– Los padres fueron J. Gosling, M. Sheridan y P. Naughton.
– Se buscaba un lenguaje ind. de la plataforma para
productos electrónicos.
– Se simplificó C++ eliminando ciertos elementos
“problemáticos” o prescindibles: punteros, liberación
explícita de memoria, herencia múltiple de clases,
sobrecarga de operadores, …
– Se añadieron elementos nuevos que se consideraron esenciales
a la POO: interfaces
3
Un poco de historia de Java
• Sun Microsystems, Inc. en 1995 termina la
primera versión
• En cada evolución se introducen nuevas
funcionalidades1
JDK 1.0 JDK 1.1 Java 2
J2SE 1.2
J2EE 1.2
J2ME 1.3
...
Java 6
JSE 1.6
JEE 1.6
JME 1.6
(1) http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Java#Historia
4
¿Qué es Java?
Java
Plataforma
Ejecución (VM)
...
Windows
5
Lenguaje de
programación
POO Robusto
Seguro
Desarrollo
Compilador
Generador de
Documentación
Linux
API GUI
API Red
...
API Criptografía
¿Qué es Java?
La magia de Java: Bytecode
• Java proporciona independencia de HW y SO
Programa Java
javac
java (Bytecode)
API Java
Máquina Virtual Java
SO n
SO 1
Ordenador
• Ejecución menos eficiente
6
¿Qué es Java?
Java Runtime Environment
• El lenguaje Java es compilado e interpretado
Prog. Java
javac
Intérprete
JRE
(java)
JIT
7
Tipos de Aplicaciones
• Según la interfaz que ofrecen al usuario
– Aplicaciones de consola
– Aplicaciones gráficas: basadas en AWT o
– Aplicaciones para navegadores de Internet:
SWING
Applets
• Según su finalidad
– Aplicaciones de acceso a bases de datos
– Aplicaciones independientes/cliente
– Aplicaciones servidoras: servidores, servlets y
JSP
8
Plataforma J2SE
9
Principales Partes de la Plataforma
• Máquina Virtual.
• Herramientas para el desarrollo
(http://java.sun.com/):
– javac: Compilador
– java: Intérprete de bytecode y JIT*
– javadoc: Generador de documentación
– jdb: depurador en línea de comandos
– appletviewer: visor de applets
– jar: Empaqueta class en ficheros jar
– etc
10
Principales Partes de la Plataforma
• API: librerías o paquetes precompilados que
puede utilizar el programador.
– Utilidades varias: matemáticas, clases
contenedoras, manejo de fechas, etc.
– Swing (javax.swing) o AWT (java.awt): para GUIs
– Red (java.net)
– JDBC: para acceso a Bases de Datos.
– Java 2D: tratamiento de imágenes.
– Manejo de XML.
– etc.
11
Entornos de Desarrollo
• Incorporan un editor, un compilador, un
depurador y otras herramientas.
• A veces permiten la creación interactiva de
GUIs.
• Libre distribución:
– Eclipse, NetBeans, bluej,..
• Comerciales:
– CodeWarrior, WebSphere Studio IBM Site
Developer, Borland JBuilder,..
12
ELEMENTOS BÁSICOS DEL
LENGUAJE JAVA
13
El primer Programa
• En java todos los programas tienen al menos
una clase
• El punto de entrada de una aplicación es:
– El método main para aplicaciones en consola,
AWT y SWING
– El método init para applets
• En todo fichero .java contiene una clase con el
mismo nombre que el fichero
• Hay que tener cuidado con las mayúsculas y las
minúsculas en los nombres de fichero
14
El primer Programa (consola)
//Primer programa en Java
//El fichero debe llamarse igual que la clase
Definición de la clase
public class HolaMundo {
/**
* @param args
*/
public static void main(String[] args) {
}
}
System.out.println("Hola Mundo");
Punto de entrada
15
El primer Programa (Gráfico)
• La programación GUI es más compleja que la
de consola
• Se basa en la programación dirigida por eventos
• No existe un flujo de ejecución único: Los
eventos de usuario determinan las acciones a
realizar
• Diferentes puntos de ejecución en el programa
dependiendo del evento del usuario
• Primer programa en Swing: ejemplo/El primer
Ejemplo/HolaMundoSwing.java
16
Elementos de una Aplicación
Programa Java
(.class)
Paquete A
Unidad de compilación:
•Clases (.java)
•Interfaces (.java)
Unidad de compilación:
•Clases (.java)
•Interfaces (.java)
Unidad de compilación:
•Clases (.java)
•Interfaces (.java)
Paquete N
Unidad de compilación:
•Clases (.java)
•Interfaces (.java)
Unidad de compilación:
•Clases (.java)
•Interfaces (.java)
17
Los comentarios
• Fundamental en un lenguaje de programación
• Dota de mayor claridad el código
• Facilita el mantenimiento
• Java permite poner comentarios que van a la
documentación (javadoc)
• Tipos de comentarios:
– //: Una línea
– /* ..*/: Varias líneas
– /** ..*/: Comentarios para documentación
18
Algunas definiciones
• Clase: Son una descripción abstracta de un grupo
de objetos que comparten características
(atributos) y operaciones (métodos)
• Atributo: Propiedad que caracteriza a un objeto (de
instancia) o compartido por todas las instancias (de
clase)
• Método: Servicio que puede realizar un objeto (de
instancia) o una clase (de clase). Para usar un
método de instancia hay que poner
<nombre_instancia>.<nombre_metodo>(params)
• Objeto o Instancia: Particularización de una clase
Atributos de instancia con valores concretos
19
Los Identificadores
• Nombre asignado a un atributo, clase,
constante, método o variable
• Puede contener cualquier letra, número o _
• No hay restricción en el número de caracteres
• Distingue entre mayúsculas y minúsculas
• No puede empezar por número
20
Convenio de Nombres
• Sun establece un convenio para los
identificadores:
– Nombres de clase empiezan por mayúsculas:
Persona
– Nombres de atributos, variables y métodos
empiezan siempre con minúsculas: argumentos
– Nombres compuestos, la separación se marca
con una letra mayúscula: proximaSalida
– Constantes todos los caracteres en mayúsculas:
SALUDO
SOLICITUD_INFORME
21
Los Literales
• Valor constante que se escribe directamente en
el programa
• Literales enteros:
– Base diez: 503
– Octal: 0767
– Hexadecimal: 0x1F7
• Literales reales:
– Reales: 3.14159f, 0.314159E10f
– Doble precisión: 6.5454E-10, 9.81
• Lógico: true, false
22
Los Literales
• Carácter
– Se representan entre comillas simples ‘a’
– Caracteres especiales o de escape: ‘\t’, ‘\n’, ‘\\’, ...
• Cadena de caracteres
– Conjunto de caracteres entre comillas dobles
– Para incluir comillas dobles en una cadena de
caracteres se utiliza \”
“Hola Mundo”
“Hola \“Mundo\””
23
Tipos de datos básicos
• Los tipos básicos proporcionados son:
Palabra
Tipo de datos
boolean Variable lógica
byte
Entero de 8 bits
Character.SIZE
char
Carácter Unicode
short
Short.SIZE
int
Integer.SIZE
long
Long.SIZE
float
Float.SIZE
double
Double.SIZE
Rango
false y true
De –128 a 127
Cualquier carácter
De Short.MIN_VALUE a Short.MAX_VALUE
De Integer.MIN_VALUE a Integer.MAX_VALUE
De Long.MIN_VALUE a Long.MAX_VALUE
De Float.MIN_VALUE a Float.MAX_VALUE
De Double.MIN_VALUE a Double.MAX_VALUE
24
Variables y Constantes
• Las variables pueden definirse en cualquier
parte dentro de un ámbito o bloque ({…}).
int variable;
• Si ya existe definido un identificador (nombre
variable) en un ámbito, no se puede utilizar ese
mismo identificador en una nueva declaración.
• Una constante es una variable de solo lectura
– Se utiliza la palabra reservada final en la
declaración:
• final static float PI = 3.1416f;
• final float PI = 3.1416f;
Dentro de una clase
Local a un método
25
Variables y Constantes
public class LiteralesTiposBasicos
{//LiteralesTiposBasicos
public static void main (String [] args)
{//main
final float PI = 3.1416f;
int cont=1;
{// nuevo bloque
int a;
int cont=2; // ERROR!!
a=cont+2;
int b=1;
} // nuevo bloque
// a y b ya no son visibles
} //main
} //LiteralesTiposBasicos
26
Expresiones y operadores
• Expresión: conjunto de identificadores o literales
combinados usando operadores para obtener un valor.
• La sintaxis de las expresiones proviene de C, pero el
control de tipos es más estricto que en C.
• Los elementos participantes en una expresión deben
respetar restricciones y tipos.
• Java proporciona operadores: asignación, aritméticos,
de relación, lógicos, de bits, de cadena, de selección, y
conversión.
27
Operación de asignación
• Operadores de asignación:
– Variable = Expresion;
– Variable1 = Variable2 = … = Expresion;
– Variable op= Expresion;
• Es lo mismo: Variable = Variable op Expresion;
• Donde op puede ser cualquier operador aritmético
binario.
28
Operadores aritméticos
• Unarios: -, ++ y --
int a = 2;
int z = -a; //z vale -2
z = a++; //a vale 3, z vale 2
z = --a; //a vale 2, z vale 2
z--; //z vale 1
z += a; // z vale 3
z -= a; // z vale 1
• Binarios: +, -, *, /, %: En la división si los
operandos son enteros el resultado es entero. El
módulo (%) sólo es aplicable con enteros
29
Operadores aritméticos
int a = 2;
int b = 5;
int c = 7;
float d = 3.5f;
float e = 2.5f;
float f = 5f / 2; //f vale 2.5
c = a + b - c; //c pasa a valer 0
c = b / a; //c pasa a valer 2
c = b % a; //c pasa a valer 1
c = a * b + c; //c pasa valer 11
a = (int) (f / 2); //a vale 1
f = e – d; //f pasa a valer -1.0
30
Operadores de relación
• Comparan dos elementos, y retornan cierto o
falso
• Los operadores son:
Comportamiento distinto
si es un objeto o un tipo
básico
Operador
==
!=
<
<=
>=
>
Significado
Igual*
Distinto*
Menor
Menor o igual
Mayor o igual
Mayor
(*) Se utilizan también para comparar referencias a objetos
31
Operadores lógicos
• Y lógico: &&
• O lógico inclusivo: ||
• O exclusivo (Xor): ^
• Negación: !
• Java utiliza evaluación perezosa:
a = 2;
boolean c = a > 1 || ++e != 7 && m(); //c = ((a > 1) || (((++e) != 7) && m()))
/* como a es mayor que 1, ya se sabe con seguridad que c será cierto,
Comentarios de: Introducción a la Programación II en Java (0)
No hay comentarios