Professional Documents
Culture Documents
UNIDAD IV
Lenguaje de Programación
Orientado a Objetos
JAVA
1
11/03/2018
JAVA
Contenido
1. Entorno de programación en Java
– Características Principales
– Compilador e Interprete de Java
– Usos actuales de Java
– Tecnologías del entorno de desarrollo
2. Elementos Básicos de Java
– Caracteres especiales
– Tipos de dato
• Simples o primitivos
• Orientados a Objetos o Referenciados (Clases)
– Literales o constantes
….. 2
2
11/03/2018
JAVA
Contenido
2. Elementos Básicos de Java
– Identificadores
– Comentarios
– Operadores
• Aritméticos
• Relacionales
• Lógicos
• Operador de asignación
• Conversión de tipo de asignación
• Operador condicional
• Jerarquía de Operadores
3
3
11/03/2018
JAVA
1. Entorno de Programación en Java
• Java es un lenguaje de programación de alto nivel.
• Se pueden escribir programas convencionales (para
intranet) y para la Internet.
• Es independiente de la plataforma, tanto en código
fuente como en binario.
• Java incluye dos elementos: un compilador y un
intérprete.
• El compilador produce un código de bytes que se
almacena en un archivo para ser ejecutado por el
intérprete Java.
4
4
11/03/2018
JAVA
5
11/03/2018
JAVA
Características Principales
• Java trabaja con sus datos como objetos y con
interfaces a esos objetos.
• Implementa:
– Encapsulación. - Interfaces.
– Herencia simple. - Paquetes.
– Abstracción.
– Reutilización.
– Polimorfismo.
• Otras características: Interpretado, Robusto, y de
Arquitectura Neutra 6
6
11/03/2018
JAVA
• Compilador Java
• Traslada sentencias
alto-nivel a múltiples
instrucciones. Traduce código
• Creación de librerías fuente a código
como resultado de intermedio.
compilaciones
previas. • Interprete de Java
• Juntando, se crea
programa
ejecutable. Virtual
Machine(JVM)
(ByteCodes
interpretados
(ejecutados))
7
7
11/03/2018
JAVA
Usos Actuales de Java
• Preferido para implementar aplicaciones basadas en
Internet e intranets, y para desarrollar SW para
dispositivos que se comunican a través de una red (por
ejemplo móviles).
8
11/03/2018
JAVA
Tecnologías de SW para el entorno de desarrollo
• Entorno de desarrollo: el Java Development Kit (JDK).
Sun Microsystems, propietario de Java, lo proporciona
de forma gratuita, el Java Development Kit (JDK).
http:\\www.java.sun.com
9
11/03/2018
JAVA
2. Elementos Básicos de JAVA
Caracteres de Java
• Estos caracteres son usados para formar constantes,
identificadores y palabras clave de Java.
• Pueden agruparse en:
• Letras
– Letras mayúsculas de los alfabetos internacionales:
A - Z (son válidas las letras acentuadas y la Ñ)
– Letras minúsculas de los alfabetos internacionales:
a - z (son válidas las letras acentuadas y la ñ)
• Las letras mayúsculas y minúsculas son caracteres diferentes.
10
10
11/03/2018
JAVA
Caracteres de Java
• Dígitos
• Dígitos de los alfabetos internacionales, entre los que se
encuentran: 0 1 2 3 4 5 6 7 8 9
• caracteres especiales
• Caracteres: “_”, “$” y cualquier carácter del Unicode por
encima de 00C0.
• espacios en blanco
• signos de puntuación y
• secuencias de escape.
11
11
11/03/2018
JAVA
Espacios en Blanco
Los siguientes caracteres son considerados como uno solo:
\n, se denominan espacio en blanco, porque esa es su
labor separar elementos de un programa.
• Espacio en blanco (ASCII SP)
• tabulador horizontal (ASCII HT)
• avance de página (ASCII FF)
• nueva línea (ASCII LF)
• retorno de carro (ASCII CR) o CR LF
12
11/03/2018
JAVA
Signos de Puntuación
• Son los siguientes:
, . ; : ? ‘ “ ( ) [ ] { } < !
| / \ ~ + % & ^ * - = >
• Se usan para:
– indicar que un identificador es una función o un array
– especificar una determinada operación aritmética, lógica o de
relación, etc.
• Ciertos caracteres como las comillas sencillas y dobles tienen
significado especial en Java, así que no pueden ser utilizados
directamente. Por esto, Java proporciona secuencias de escape
especiales, algunas veces mencionadas como constantes de
caracteres (de barra invertida). Estas secuencias son utilizadas en
lugar de los caracteres que ellas representan.
13
13
11/03/2018
JAVA
Secuencias de Escape
14
11/03/2018
JAVA
Tipos de datos de Java
• Dos categorías:
– orientado a objetos
– no orientados a objetos (simples o primitivos)
• Todos los otros tipos de datos de Java son construidos desde estos
tipos simples.
15
15
11/03/2018
JAVA
Tipos Simples de Java
Tipo Significado
boolean Representa valores true/false
byte Enteros de 8 bits
char Carácter (Unicode de 16 bits)
double Con punto flotante de doble precisión
float Con punto flotante de precisión simple
int Entero
long Entero largo
short Entero corto
16
16
11/03/2018
JAVA
Tipos de Datos Enteros
17
17
11/03/2018
18
11/03/2018
JAVA
Explicación del primer programa en Java
• El programa anterior calcula el número de pulgadas cúbicas en
una milla cúbica y despliega el resultado.
19
11/03/2018
JAVA
Explicación del primer programa en Java
• Por convención, todos los nombres de clases en Java comienzan
con una letra mayúscula, y la primera letra de cada palabra en el
nombre de la clase debe ir en mayúscula (por ejemplo:
EjemploDeNombreDeClase).
20
20
11/03/2018
JAVA
Explicación del primer programa en Java
• La llave izquierda ({) al final de la línea 5 comienza el cuerpo de la
declaración del método.
21
21
11/03/2018
JAVA
Explicación del primer programa en Java
• System.out se conoce como el objeto de salida estándar.
22
22
11/03/2018
JAVA
Tipos de Datos con Punto Flotante
23
23
11/03/2018
JAVA
Ejemplo: longitud de la hipotenusa dados sus lados
/* Por el Teorema de Pitágoras, encontrar la longitud de la
hipotenusa dadas las longitudes de los lados opuestos.
*/
class CalcularHipotenusa {
public static void main(String args[]) {
double x,y,z;
x=3;
y=4;
z=Math.sqrt(x*x + y*y);
System.out.println("La Hipotenusa es: " + z);
}
} 24
24
11/03/2018
JAVA
Tipos de Datos de Caracteres
• Java utiliza Unicode.
• Unicode define un conjunto de caracteres amplio, incluye los
caracteres de todos los idiomas y lenguas humanas.
• char es un tipo sin signo, de 16 bits con un rango de 0 a 65,536.
• Los caracteres ASCII de 8 bits son un subconjunto de Unicode con
un rango de 0 a 127.
• Ejemplo de asignación: char ch;
ch = ‘x’;
• Operaciones aritméticas posibles sobre una variable char:
ch++; // incrementar ch en su valor ASCII (y Unicode)
// y tomaría el valor ‘y’
ch = 90; // un valor entero, que corresponde a ´z´
25
25
11/03/2018
JAVA
Tipos de Datos Booleanos
• Java define los valores verdadero y falso usando las palabras
reservadas true y false.
• Ejemplos: boolean x, y;
x=true; y=false;
println(x); …. Imprime true
if (! y) // ! y es un valor boolean
println(y); …. Imprime false
if ( x != y ) // x != y es un valor boolean
println(“Son diferentes”);
26
11/03/2018
JAVA
Literales (Constantes)
• Se refieren a valores fijos que son representados en su
forma legible para los humanos.
• Son llamados comúnmente constantes.
• Pueden ser de cualquier tipo de dato simple:
− Entero
− Real
− Booleano
− Carácter
− Cadena de caracteres
− Valor nulo (null)
• Constantes de carácter: encerradas en comillas simples.
‘a’ y ‘%’
27
27
11/03/2018
JAVA
Literales (Constantes)
•Constantes enteras: números sin componente decimal.
Ejemplos: 10 y -100
28
11/03/2018
JAVA
Literales (Constantes)
•De manera predeterminada, los literales con punto flotante
son de tipo double.
29
11/03/2018
JAVA
Literales (Constantes)
• Java le permite especificar constantes enteras en
hexadecimal u octal en vez de decimal.
30
30
11/03/2018
JAVA
Literales (Constantes)
De tipo cadena (String)
•Una cadena es un conjunto de caracteres encerrados por
comillas dobles.
31
31
11/03/2018
JAVA
Identificadores
• Son nombres dados a tipos, literales, variables, clases, interfaces,
métodos, paquetes y sentencias de un programa.
• Consta de uno o más caracteres.
• El primer carácter debe ser una letra, el carácter de subrayado o el
carácter dólar.
• Ejemplos:
− acumular()
− Auto
− _acumular()
− $acumulador
• No puede comenzar con un dígito ni pueden contener caracteres
especiales.
• Las letras pueden ser mayúsculas o minúsculas.
• Para Java una letra minúscula es diferente a una mayúscula.
32
32
11/03/2018
JAVA
Comentarios
• Es un mensaje a cualquiera que lea el código fuente.
• Java soporta 3 tipos de comentarios:
Tradicional.
• Empieza con los caracteres /* y termina con los
caracteres */.
• Pueden ocupar mas de una línea, pero no pueden
anidarse.
/*
* La ejecución del programa comienza con el método main().
* La llamada al constructor de la clase no tiene lugar a menos
* que se cree un objeto del tipo ‘CElementosJava’
* en el método main().
*/ 33
33
11/03/2018
JAVA
Comentarios
De una sola línea. Comienza con una doble barra (//) y se extiende
hasta el final de la línea.
// agregar aquí el código de iniciación
34
11/03/2018
JAVA
Operadores
• Un operador indica al compilador que desarrolle una operación
matemática o lógica.
• Tipos de operadores: aritmético, a nivel de bit, relacional y
lógico.
• Operadores Aritméticos: Operador Significado
+ Suma
- Resta (o signo menos)
* Multiplicación
/ División
% Modulo
++ Incremento
-- Decremento 35
35
11/03/2018
JAVA
Operadores Aritméticos
• +, -, * y / trabajan como están definidos en álgebra.
• / cuando se aplica a un entero, cualquier residuo será truncado.
10/3 será igual a 3 en división entera.
• El residuo de estas divisiones puede obtenerse con el operador
modulo %. 10%3 es igual a 1. En Java puede ser aplicado a
enteros y a punto flotante. 10%3.0 es también 1.
• Incremento (++) suma 1 a su operando. Pueden preceder
(prefijo) o seguir (posfijo) al operando: x++ o ++x es lo
mismo que x = x + 1.
• Decremento (--) resta 1 a su operando. Pueden preceder
(prefijo) o seguir (posfijo) al operando: x-- o --x es lo mismo
que x=x – 1. 36
36
11/03/2018
JAVA
Operadores Aritméticos
• La diferencia entre prefijo o sufijo, se nota cuando se una en
una expresión más larga que los ejemplos anteriores.
• Cuando el operador de incremento o decremento precede su
operando, Java realizará la operación correspondiente antes de
obtener el valor del operando, que el resto de la operación
utilizará. Si el operador sigue el operando Java obtendrá el
valor del operando antes de su incremento o decremento.
• Ejemplo de la diferencia entre prefijo o sufijo.
X = 10; Y = ++X; En este caso Y será actualizada a 11.
X = 10; Y = X++; Entonces Y es 10.
37
37
11/03/2018
JAVA
Ejemplo de Operadores Aritméticos
/* Este programa muestra la función del Operador Módulo (%).
*/
class ModuloDemo {
public static void main(String args[]) {
int iresult, irem;
double dresult, drem;
iresult = 10 / 3;
irem = 10 % 3;
dresult = 10.0 / 3.0;
drem = 10.0 % 3.0;
System.out.println("Resultado y residuo de 10/3: " +iresult + " " + irem);
System.out.println("Resultado y residuo de 10.0/3.0: " +dresult + " " + drem);
}
}
38
38
11/03/2018
JAVA
Operadores Relacionales
Operador Significado
== Igual a
!= No es igual a
> Mayor que
< Menor que
>= Mayor o igual
<= Menor o igual
39
39
11/03/2018
JAVA
Operadores Lógicos
Operador Significado
&& AND lógico
|| OR lógico
^ XOR lógico (OR exclusivo)
| OR en cortocircuito
& AND en cortocircuito
¡! NOT unario lógico
40
40
11/03/2018
JAVA
Operadores Lógicos
• Los operadores relacionales pueden ser aplicados a todos los
tipos numéricos y al tipo char.
• Sin embargo, los valores de tipo booleano solo pueden ser
comparados por los operadores de igualdad o desigualdad, ya
que los valores verdadero y falso no están ordenados.
• Tablas de Verdad
p q p&q p|q p^q !q
falso falso falso falso falso verdad
verdad falso falso verdad verdad falso
falso verdad falso verdad verdad verdad
verdad verdad verdad verdad falso falso
41
41
11/03/2018
JAVA
Tercer Programa en Java
/* Muestra el funcionamiento de los operadores relacionales y lógicos.
*/
class RelLogOps {
public static void main( String arg[]) {
int i,j;
boolean b1, b2;
i=10;
j=11;
if (i<j) System.out.println("i < j");
if (i<=j) System.out.println("i <= j");
if (i!=j) System.out.println("i != j");
if (i==j) System.out.println("i == j");
if (i>=j) System.out.println("i >= j");
…..
42
42
11/03/2018
JAVA
Continuación del Tercer Programa en Java
43
43
11/03/2018
JAVA
Tercer Programa en Java (usando Cuadros de Diálogo)
1 /* Este programa muestra el funcionamiento de los operadores
2 relacionales y lógicos. */
3 //paquetes de Java
4 import javax.swing.JOptionPane;
5
6 public class OperandosRelacionalesLogicos {
7 public static void main( String arg[]) {
8 int i,j;
9 boolean b1, b2;
10 i=10;
11 j=11;
12 if (i<j) JOptionPane.showMessageDialog(null,"i < j");
44
44
11/03/2018
JAVA
Tercer Programa en Java (usando Cuadros de Diálogo)
13 if (i<=j) JOptionPane.showMessageDialog(null,"i <= j");
14 if (i!=j) JOptionPane.showMessageDialog(null,"i != j");
15 if (i==j) JOptionPane.showMessageDialog(null,"i == j");
16 if (i>=j) JOptionPane.showMessageDialog(null,"i >= j");
17 if (i>j) JOptionPane.showMessageDialog(null,"i > j");
18 b1 = true;
19 b2 = false;
20 if (b1&b2) JOptionPane.showMessageDialog(null,"Esto no se ejecuta");
21 if (!(b1&b2)) JOptionPane.showMessageDialog(null,"!(b1&b2) es
verdadero");
22 if (b1|b2) JOptionPane.showMessageDialog(null,"b1|b2 es verdadero");
23 if (b1^b2) JOptionPane.showMessageDialog(null,"b1^b2 es verdadero");
24 } //fin del método main
25 } //fin de la clase
45
45
11/03/2018
JAVA
Paquetes de Java
• Muchas aplicaciones de Java utilizan cuadros de diálogo o
ventanas para mostrar la salida.
46
11/03/2018
JAVA
Paquetes de Java
• Las numerosas clases predefinidas de Java se agrupan en
categorías de clases relacionadas, conocidas como
paquetes.
• Un paquete es una colección de clases con nombre; éstos
se conocen colectivamente como la biblioteca de clases
de Java, o la Interfaz de Programación de Aplicaciones de
Java (API).
• La línea 4 es una declaración import. Las declaraciones
import ayudan al compilador a localizar las clases que se
utilizan en el programa.
• Por cada nueva clase que se utilice del API de Java, se
debe indicar el paquete en el que se encuentra esa clase.
47
47
11/03/2018
JAVA
Paquetes de Java
• La línea 4 indica al compilador que el programa utiliza la
clase JOptionPane del paquete javax.swing
• En el método main, en la línea 12 se llama al método
showMessageDialog de la clase JOptionPane para mostrar
un cuadro de diálogo que contiene un mensaje.
• Este método requiere dos argumentos.
– El primer argumento ayuda a la aplicación a determinar
en dónde se va a colocar el cuadro de diálogo; cuando
es null, el cuadro de diálogo aparece en el centro de la
pantalla de la computadora.
– El segundo argumento es la cadena a mostrar.
48
48
11/03/2018
JAVA
Operadores Lógicos de Corto Circuito
• Son una segunda versión de AND y OR que producen un
código mas eficiente.
• En una operación AND, si el primer operando es falso el
resultado es falso, sin importar qué valor tiene el
segundo operando.
• En una operación OR, si el primer operando es
verdadero el resultado de la operación es verdadero sin
importar el valor del segundo operando.
• Estos operadores, evalúan el segundo operando solo
cuando es necesario.
49
49
11/03/2018
JAVA
Operador de Asignación
• El operador de asignación es un signo igual (=).
• En Java funciona igual que en el resto de lenguajes.
var = expresión;
• El tipo de var tiene que ser compatible con el tipo de
expresión.
• Permite crear una cadena de asignaciones.
Ejemplo: int x, y, z;
x = y = z = 100;
// asigna x, y, y z al valor de 100
50
50
11/03/2018
JAVA
Operador de Asignación: Asignaciones Taquigráficas
• Funciona para todos los operadores binarios en Java.
• Ejemplo:
x -= y; // equivalente a x = x - y;
51
11/03/2018
JAVA
Conversión de Tipo en Asignaciones
• Cuando se mezclan tipos compatibles en una asignación, el
valor del lado derecho es automáticamente convertido al
tipo del lado izquierdo.
• No todos los tipos son compatibles.
• boolean e int no son compatibles.
• Cuando un tipo de datos se destina a otro tipo de variables,
se realiza una conversión automática si se producen las
condiciones siguientes:
– Los dos tipos son compatibles
– El tipo destino es más grande que el tipo de origen.
Cuando se cumplen estas dos condiciones, tiene lugar una
52
conversión extendida.
52
11/03/2018
JAVA
Conversión de Tipo en Asignaciones
• Un cast es una instrucción al compilador para convertir un
tipo en otro.
• De modo que cast solicita una conversión de tipo explícito.
• Formato general del cast:
var destino = (tipo destino) expresión
Ejemplo:
int a;
double x, y;
// ....
a = (int) (x / y); /* no existe conversión automática de
double a int.*/
53
53
11/03/2018
JAVA
Operador Condicional
• Llamado también operador ternario, se utiliza en
expresiones condicionales, que tienen la forma siguiente:
operando1 ? operando2 : operando3;
• La expresión operando1 debe ser una expresión booleana.
• La ejecución se realiza de la siguiente forma:
– Si el resultado de la evaluación de operando1 es true, el resultado
de la expresión condicional es operando2.
– Si el resultado de la evaluación de operando1 es false, el
resultado de la expresión condicional es operando3.
• Ejemplo:
double a = 10.2, b = 20.5, mayor = 0;
mayor = (a > b) ? a : b; 54
54
11/03/2018
JAVA
Jerarquía de los Operadores
Mayor (Precedencia más alta)
() []
.
++ -- ~ !
* / %
+ -
> >= < <=
== !=
&
^
|
&&
||
?:
= += -= *= /= etc.
menor (Precedencia más baja)
55
55