CAPTULO 1
Java 8 (1Z0-808)
2
Objetivos
Conceptos bsicos Tipos de dato
Java 8 (1Z0-808)
3
Estructura de una clase
Java 8 (1Z0-808)
4
Clases y archivos
Las clases por lo general son pblicas, pero se puede omitir el modificador de
acceso.
Cada clase est definida en su propio archivo *.java, pero es vlido colocar
ms de una clase en un archivo.
Cada archivo solo puede tener una clase pblica (public).
El archivo se debe de llamar igual que la clase pblica.
Los *.java se compilan con el comando javac.
Cada clase al ser compilada crea su propio archivo *.class.
Los *.class se ejecutan con el comando java.
Java 8 (1Z0-808)
5
Campos y mtodos
Las clases Java tienen 2 elementos primarios, que son:
Java 8 (1Z0-808)
6
Mtodo main()
Un programa Java inicia su ejecucin con el mtodo main().
Es el enlace entre el proceso Java y el cdigo del programa.
Se encarga de mantener vivo el programa.
La firma del mtodo es public static void main(String[] args) {}.
Java 8 (1Z0-808)
7
Comentarios
Los comentarios no son cdigo ejecutable y se pueden colocar en cualquier parte
de la clase, el objetivo de los comentarios es hacer el cdigo ms fcil de
entender. Hay 3 tipos de comentarios:
Java 8 (1Z0-808)
8
Declaracin e importacin de paquetes
Java 8 (1Z0-808)
9
Paquetes
Los paquetes son la forma en que Java organiza las clases (package).
Los paquetes son un agrupamiento lgico de clases.
Los paquetes son jerrquicos, inician de lo general a lo especfico.
Los paquetes java y javax son del JDK.
Las clases de paquetes se incluyen, de forma global, en otras clases con
import.
Se pueden usar wildcards para incluir todas las clases de un paquete.
La importacin especfica tiene mayor precedencia que los wildcards.
java.lang es un paquete especial que no necesita importase.
Java 8 (1Z0-808)
10
Creacin de objetos
Java 8 (1Z0-808)
11
Constructores
La creacin de una instancia de clase se hace con new, con lo que se ejecuta
el constructor de la clase.
Un constructor tiene el mismo nombre de la clase y no tiene tipo de retorno.
El objetivo de un constructor es inicializar las variables de instancia, pero se
puede ejecutar otro tipo de cdigo.
Si no se declara un constructor el compilador agrega un constructor vaco de
forma predeterminada.
Java 8 (1Z0-808)
12
Orden de inicializacin
Las variables y bloques inicializadores de instancia se ejecutan en el orden
en que aparecen en la clase.
El constructor se ejecuta despus de las variables e inicializadores de
instancia.
Hay otras reglas que se vern ms adelante.
Java 8 (1Z0-808)
13
Referencias de objetos y tipos primitivos
Java 8 (1Z0-808)
14
Tipos primitivos
1. boolean: true or false
2. byte: 8-bit integral
3. short: 16-bit integral
4. int: 32-bit integral (soporta unsigned)
5. long: 64-bit integral (soporta unsigned)
6. float: 32-bit punto flotante
7. double: 64-bit punto flotante
8. char: 16-bit unicode (UTF-16)
Java 8 (1Z0-808)
15
Tipos primitivos
Los valores que se agregan a los tipos primitivos se conocen como literal.
Las literales integrales de forma predeterminada son del tipo int y las de
punto flotante son del tipo double. Para cambiar esto se puede usar:
float: f F
long: l L
double: d D
Es posible utilizar el sistema octal, hexadecimal y binario para los datos
numricos primitivos:
octal: dgitos 0-7, prefijo 0, ejemplo 017
hexadecimal: dgitos 0-9, letras A-F, prefijo 0x 0X, ejemplo 0xFF
binario: dgitos 0-1, prefijo 0b 0B, ejemplo 0b10
Java 8 (1Z0-808)
16
Tipos primitivos
Las literales char van entre comillas simples ( ), tambin se puede utilizar el
valor unicode (\u).
A partir de Java 7 se puede utilizar underscore para hacer ms legible los
tipos numricos, por ejemplo: 1000 puede ser 1_000:
No se puede agregar al inicio o final.
No se puede agregar antes o despus del punto decimal.
Java 8 (1Z0-808)
17
Tipo referencias
Un tipo referencia se refiere a un objeto. A diferencia de los tipo primitivos que
mantienen el valor en la memoria donde se asigna la variable, los tipo referencia
mantienen un puntero (direccin) de la memoria en donde se crea el objeto.
Java 8 (1Z0-808)
18
Declarar e inicializar variables
Java 8 (1Z0-808)
19
Variables
Una variable es el nombre para un sector de memoria que almacena
informacin.
Una variable necesita un tipo (referencia o primitivo).
Las variables se pueden inicializar al momento de declararse.
Se pueden declarar e inicializar mltiples variables en la misma declaracin
(statement) siempre y cuando sean del mismo tipo.
Java 8 (1Z0-808)
20
Identificadores
Los identificadores son los nombres que se dan a variables, mtodos, clases, etc.
Se tienen 3 reglas para crear identificadores:
Java 8 (1Z0-808)
21
Inicializacin predeterminada de
variables
Java 8 (1Z0-808)
22
Variables locales
Las variables locales son las que se definen dentro de un mtodo.
No se les asigna un valor predeterminado al momento de declararse.
Si se utilizan sin ser inicializadas se obtiene un error de compilacin.
El compilador es capaz de identificar si una variable local se inicializa para
todos los bloques de cdigo dentro del mtodo.
Java 8 (1Z0-808)
23
Variables de instancia y de clase
Las variables de instancia y de clase son las que se definen fuera de los mtodos.
Las variables de instancia tambin son conocidas como atributos, y son nicas
por objeto.
Las variables de clase se comparten entre objetos (instancias), y se diferencia de
las variables de instancia porque tienen el calificador static.
Las variables de instancia y clase si tienen valor predeterminado:
boolean: false
byte, short, int, long: 0 (con la longitud de bits del tipo de dato)
float, double: 0.0 (con la longitud de bits del tipo de dato)
char: \u0000
Referencias: null
Java 8 (1Z0-808)
24
Alcance de variables
Java 8 (1Z0-808)
25
Alcance de variables
Variables de clase: alcance durante toda la vida del programa.
Variables de instancia: alcance durante todo la vida del objeto.
Variables locales: alcance slo en el mtodo y/o bloque en el que se
definieron.
Parmetros de mtodos: alcance solo en el mtodo en que se definieron.
Java 8 (1Z0-808)
26
Orden de elementos de una clase
Java 8 (1Z0-808)
27
Orden de elementos de una clase
Java 8 (1Z0-808)
28
Destruccin de objetos
Java 8 (1Z0-808)
29
Recolector de basura (garbage collector - GC)
El recolector de basura es un proceso independiente y automtico para liberar
memoria del HEAP borrando objetos que ya no son alcanzables por el programa
en ejecucin. Un objeto no es alcanzable cuando:
Java 8 (1Z0-808)
30
Recolector de basura (garbage collector - GC)
Java provee el mtodo System.gc() que es una sugerencia para Java de que es
un buen momento para el GC pero Java puede ignorar la sugerencia.
Java 8 (1Z0-808)
31
Resumen
Java 8 (1Z0-808)
32
Resumen
Una clase Java est formada por atributos y mtodos.
Existen 3 tipos de comentarios (1) una lnea, (2) multilnea, y (3) Javadoc.
La ejecucin de un programa inicia por el mtodo public static void
main(String[] args).
Las clase java se organizan en paquetes (package).
Para utilizar clases de otros paquetes se deben importar (import). Se puede
utilizar wildcards para importar clases.
Java 8 (1Z0-808)
33
Resumen
Los objetos se crean con new y el constructor. El constructor es un mtodo
que se llama igual que la clase y no tiene tipo de retorno. Cuando se
instancia un objeto los atributos y bloques inicializadores se ejecutan primero
luego se ejecuta el constructor.
Java tiene dos tipos de datos:
Primitivos: son 8 tipos de diferentes tamaos.
Referencia: es una direccin de memoria de tamao estndar.
Los valores asignados a los tipos primitivos se conocen como literales. Las
literales numricas se pueden escribir en sistema binario, octal, decimal o
hexadecimal.
Java 8 (1Z0-808)
34
Resumen
Para declarar una variable se debe de asignar un tipo y un identificador
(nombre).
Los identificadores pueden tener letras, nmeros, $, o _. Pero no pueden
empezar por nmero.
El alcance de una variable es la porcin de cdigo en donde puede ser
accedida.
En base al alcance las variables pueden ser: (1) de clase, (2) de instancia o
(3) locales.
Las variables de instancia y de clase tienen valores predeterminados, las
variables locales no.
Java 8 (1Z0-808)
35
Resumen
Existe un orden para los elementos de una clase: package (si hubiera),
import (si hubiera), definicin de clase, atributos y mtodos en cualquier
orden dentro de la clase.
El GC es el responsable de eliminar objetos de la memoria cuando ya no son
accesibles.
Los objetos no son accesibles cuando ya no tienen referencias hacia l o
estn fuera de alcance.
El mtodo finalize() se ejecuta una vez cuando el objeto es recolectado.
Java 8 (1Z0-808)
36
FIN
Java 8 (1Z0-808)
37