Introducción a Java

Get Started. It's Free
or sign up with your email address
Rocket clouds
Introducción a Java by Mind Map: Introducción a Java

1. Conceptos Basicos

1.1. Conjunto de Caracteres

1.1.1. Java utiliza Unicode

1.1.1.1. Conjunto de caracteres de 16 bits

1.1.2. Permite leer ASCII de 7 -bit

1.1.2.1. Latin-1

1.1.2.1.1. Convirtiéndolo a Unicode

1.1.3. Uno de los pocos editores que soporta Unicode

1.2. Identificadores

1.2.1. Deben comenzar:

1.2.1.1. Una letra

1.2.1.1.1. Incluido "_ " o "$"

1.2.2. Diferencia mayúscula de minúscula

1.2.3. Definidas algunas palabras reservadas

1.2.3.1. No pueden ser usadas como identificadores

1.3. Variables, Constantes y Datos Primitivos

1.3.1. Variable

1.3.1.1. Item de datos nombrados por identificador

1.3.1.2. Tiene un tipo

1.3.1.2.1. Debe ser declarado antes de usar

1.3.1.3. Definido por una visibilidad

1.3.2. Tipo de Datos

1.3.2.1. Posibles valores para una variable

1.3.2.2. Java define dos tipos de datos

1.3.2.2.1. Primitivos

1.3.2.2.2. Referencias

1.3.3. Declaración de Variables

1.3.3.1. [modificador] tipo variable

1.3.3.2. Las declaraciones pueden aparecer en cualquier parte del código

1.3.3.3. La visibilidad se limita al bloque en donde se declara

1.4. Operadores

1.4.1. Precedencia de Operadores

1.4.1.1. Unario

1.4.1.1.1. Posfijo

1.4.1.1.2. Prefijo

1.4.1.2. Creación y cast

1.4.1.2.1. new (tipo)

1.4.1.3. Multiplicativo

1.4.1.3.1. * / %

1.4.1.4. Aditivo

1.4.1.4.1. + -

1.4.1.5. Shift

1.4.1.5.1. <<

1.4.1.5.2. >>

1.4.1.5.3. >>>

1.4.1.6. Relacional

1.4.1.6.1. < > >= <= instanceof

1.4.1.7. Igualdad

1.4.1.7.1. == !=

1.4.1.8. AND

1.4.1.8.1. al bit

1.4.1.8.2. lógico

1.4.1.9. OR

1.4.1.9.1. exclusivo al bit

1.4.1.9.2. inclusivo al bit

1.4.1.9.3. lógico

1.4.1.10. Condicional

1.4.1.10.1. ?:

1.4.1.11. Asignación

1.4.1.11.1. =

1.4.1.11.2. /=

1.4.1.11.3. >>>=

1.4.2. Expresiones

1.4.2.1. Se evalúa de izquierda a derecha

1.4.2.2. Cada operando se evalúa antes de realizar la operación

1.4.2.3. Cada expresión tiene un tipo

1.4.3. Conversión de Tipo

1.4.3.1. Implícita

1.4.3.1.1. Es automática

1.4.3.2. Explícita

1.4.3.2.1. Cuando un tipo no se puede asignar a otro por conversión implicita

1.4.3.2.2. Se denomina "cast"

1.4.3.2.3. "instanceof"  permite verificar si se puede aplicar "cast"

1.4.4. Operadores

1.4.4.1. Operadores Aritméticos

1.4.4.1.1. Soporta para todo los tipos de números

1.4.4.1.2. Cambio de signo

1.4.4.2. Incremento

1.4.4.2.1. a++

1.4.4.3. Decremento

1.4.4.3.1. a--

1.4.4.4. Relacionales

1.4.4.4.1. Mayor que

1.4.4.4.2. Menor que

1.4.4.4.3. Mayor o igual que

1.4.4.4.4. Menor o igual que

1.4.4.4.5. Igual que

1.4.4.4.6. Diferente

1.4.4.5. Condicionales

1.4.4.5.1. La forma

1.4.4.5.2. El operador condicional

1.4.4.6. Asignación

1.4.4.6.1. El operador "="  corresponde a la asignación

1.4.4.6.2. Java soporta otras formas de asignación

1.5. Control de Flujo

1.5.1. Sentencias y Bloques

1.5.1.1. Un bloque se compone de

1.5.1.1.1. Sentencias de Expresión

1.5.1.1.2. Sentencias de Declaración

1.5.1.2. Toda sentencia termina con ";"

1.5.1.3. Un bloque se forma con {....}

1.5.2. Sentencia if-else

1.5.2.1. Forma básica de flujo de control condicional

1.5.2.2. El "else" se parea con el if mas cercano

1.5.3. Sentencia switch

1.5.3.1. Evalúa una expresión entera

1.5.3.1.1. Selecciona un caso mediante etiqueta

1.5.3.1.2. Si no encuentra etiqueta se salta a un default

1.5.3.1.3. Si no existe default, no se hace nada

1.5.4. Sentencia while y do-while

1.5.4.1. Repetición controlada por expresión booleana

1.5.4.1.1. while(exp-booleana) { sentencia }

1.5.4.1.2. do { sentencia} while(esp-booleana) ;

1.5.5. Sentencia for

1.5.5.1. Controla repeticiones para un rango de valores

1.5.5.1.1. for(exp-inicial; exp-booleana; exp-incremento) { sentencia }

1.5.6. Sentencias

1.5.6.1. break

1.5.6.1.1. Permite salir desde cualquier bloque

1.5.6.1.2. Se usa para terminar una repetición

1.5.6.1.3. Se puede usar una etiqueta para salir de bloques anidados

1.5.6.2. continue

1.5.6.2.1. Permite saltar al final de una repetición

1.5.6.2.2. Evalúa la condición de término

1.5.6.2.3. Usada para ignorar un elemento de proceso

1.5.6.3. return

1.5.6.3.1. Permite terminar la ejecución de un método

1.5.6.3.2. Retorna al invocador

2. Origenes

2.1. 1991

2.1.1. James Gosling inicia el proyecto

2.1.1.1. Desea un código independiente

2.1.1.2. C++ no satisface

2.2. 1993

2.2.1. Aparece OAK

2.2.1.1. Similar a C++

2.2.1.2. Mas portable y seguro

2.3. 1994

2.3.1. Aparecen

2.3.1.1. WWW

2.3.1.2. Mosaic

2.4. 1995

2.4.1. Sun anuncia la disponibilidad de

2.4.1.1. Lenguaje Java

2.4.1.2. Browser HotJava

2.5. 2004

2.5.1. Versión J2se1.5-Beta

2.5.1.1. Incluye programación generica

3. Tecnología Java

3.1. Lenguaje de Programación

3.1.1. Orientado a Objetos

3.1.2. Sintaxis similar a C++

3.2. Plataforma

3.2.1. Maquina Virtual Java

3.2.2. Java API

3.2.3. Tres Versiones

3.2.3.1. J2SE

3.2.3.2. J2EE

3.2.3.3. J2ME

4. Caracteristicas

4.1. Simple y Orientado a Objetos

4.1.1. Simple de Aprender

4.1.2. Alta re-utilización y bibliotecas

4.2. Robusto y Seguro

4.2.1. Tipificado Fuerte

4.2.2. Recolección de Basura

4.3. Interpretado

4.3.1. Se compila en bytecode

4.3.2. Interpretado por JVM

4.4. Distribuido y Alto Desempeño

4.4.1. Compilación JIT

4.4.2. Movilidad de Código

4.5. Multi-hebra

4.5.1. Mejora interactividad de aplicaciones

4.6. Dinámico

4.6.1. Enlace y carga de aplicaciones

5. Aplicación

5.1. Comentarios

5.1.1. //texto

5.1.1.1. Una solo linea de comentario

5.1.2. /*texto*/

5.1.2.1. Varias lineas de comentario

5.1.3. /**texto*/

5.1.3.1. Comentarios de documentación

5.2. Método Main

5.2.1. Contiene un argumento único

5.2.2. Arreglo de Strings

5.3. Acceso a Recursos del Sistema

5.3.1. Provee una API

5.3.1.1. Application Programming Interface

5.3.1.2. Permite acceder a recursos

5.3.1.2.1. Ingreso de forma independiente del entorno

5.3.1.3. Definida en el paquete System

6. Applets

6.1. Es una aplicación pequeña

6.2. Uso normal en Web Browser

6.2.1. También visible en  appletviewer

6.3. Diferente modelo de ejecución

7. Importación de Clases y Paquetes

7.1. La palabra "import" permite importar clases de un paquete

7.1.1. import.java.applet*

7.1.1.1. Permite usar todas las clases del paquete java.applet

7.1.1.2. Applet es una clase del paquete java.applet

8. Definición de Subclases

8.1. La palabra "extends" para definir una suclase de otra

8.1.1. public class HolaMundo extends Applet {....}

9. Implementación de Métodos

9.1. Una clase puede implementar uno o mas métodos

9.1.1. public void paint(Graphics g)   {  g.drawString ("Hola Mundo", 50, 25); }

9.1.1.1. Un epplet debe implementar por lo menos uno de los siguientes métodos

9.1.1.1.1. init

9.1.1.1.2. start

9.1.1.1.3. paint

10. Funcionalidad de Java

10.1. Esencial

10.1.1. Objetos

10.1.2. Strings

10.1.3. Números

10.1.4. Estructuras de Datos

10.1.5. E/S

10.1.6. Propiedades del Sistema

10.1.7. Fecha

10.1.8. Hora

10.2. Interfaces Gráficas

10.2.1. AWT

10.2.2. Swing

10.2.3. Java2d

10.2.4. Java3d

10.3. Comunicación en la Red y Applets

10.3.1. Web

10.3.2. URL

10.3.3. Sockets UDP y TCP

10.3.4. Direcciones IP

10.4. Internacionalización

10.4.1. Adaptarse al lugar e idioma

10.5. Seguridad

10.5.1. Firma Digital

10.5.2. Gestión de Claves

10.5.3. Certificados

10.5.4. Control de Acceso

10.6. Threads (Hebras)

10.6.1. Programación con múltiples threads

10.7. Componentes de Software

10.7.1. Enchufar en arquitecturas existentes

10.8. Serialización de Objetos

10.8.1. Persistencia liviana y comunicación vía RMI

10.9. Acceso Uniforme a Base de Datos Relaciones

10.9.1. Java Database Connectivity (JDBC)

11. Clase y Objetos

11.1. Conceptos Generales

11.1.1. Las clases contienen los métodos que definen la computación

11.1.2. Los campos o variables miembros definen el estado

11.1.3. Las clases proveen

11.1.3.1. Estructura para los objetos

11.1.3.2. Mecanismos para su creación

11.1.4. Un método tiene una firma

11.1.4.1. Pero su implementación define su semántica

11.2. Estructura de una Clase

11.2.1. Nombre de la clase

11.2.1.1. public class Nombre{

11.2.2. Variable y Control de Acceso del miembro

11.2.2.1. private int ID;

11.2.3. Constructor

11.2.3.1. public Nombre(int id) { ID=id;}

11.2.4. Firma del Método

11.2.4.1. public String miName(int id) { .....}

11.3. Modificadores de la Clase

11.3.1. public

11.3.2. abstract

11.3.2.1. No puede ser instanciada

11.3.3. final

11.3.3.1. No puede ser derivada

11.4. Variables Miembros

11.4.1. Cada objeto de una clase tiene sus propias instancias

11.4.1.1. Cada objeto tiene su propio estado

11.4.1.2. Cambio de estado en un objeto no afecta a otros objetos similares

11.4.2. Variables y métodos  miembros

11.4.2.1. No estáticos

11.5. Control de Acceso a Miembros

11.5.1. Todos los métodos y variables miembro están disponibles para el código de la propia clase

11.5.2. 4 posibles modificadores

11.5.2.1. Privado

11.5.2.1.1. private

11.5.2.2. Paquete

11.5.2.2.1. Miembros sin modificador

11.5.2.3. Protegido

11.5.2.3.1. protected

11.5.2.4. Público

11.5.2.4.1. public

11.6. Creación de Objetos

11.6.1. Persona p=new Persona("Pedro) ;

11.6.1.1. No crea un objeto, sino una referencia a un objeto

11.6.1.1.1. Inicialmente es null

11.6.1.2. Al usar el "new"

11.6.1.2.1. "runtime"  crea un objeto asignado a suficiente memoria

11.6.1.2.2. Inicia liza el objeto con algún constructor

11.6.1.3. Si no existe memoria suficiente, ejecuta el recolector de basura

11.6.1.3.1. Si aun no hay suficiente memoria, lanza la excepción "OutOfMemoryError"

11.6.1.4. Terminada la inicialización

11.6.1.4.1. runtime retorna referencia al nuevo objeto

11.7. Constructores

11.7.1. Un objeto recién creado debe inicializar las variables miembro

11.7.2. Las variables miembro pueden ser inicializadas explícitamente en la declaración

11.7.3. Los constructores cumplen con ese objetivo

11.7.3.1. Tienen el mismo nombre de la clase y pueden recibir parámetros

11.7.4. No son métodos, no retornan un valor

11.7.5. Una clase puede tener varios constructores

11.7.6. Razones para usar Constructores

11.7.6.1. Algunas clases no tienen un estado inicial razonable

11.7.6.2. Construir un objeto puede ser costoso

11.7.6.3. Motivos de seguridad de acceso

11.7.6.4. Si no se define un constructor, el compilador agrega uno

11.7.7. Control de Acceso de Constructores

11.7.7.1. private

11.7.7.1.1. Ninguna otra clase puede instanciarla

11.7.7.2. protected

11.7.7.2.1. Solo subclases y clases del mismo paquete puede crear instancias

11.7.7.3. public

11.7.7.3.1. Cualquier clase puede crear una instancia

11.7.7.4. Sin Especificador

11.7.7.4.1. Acceso de paquete

11.7.7.4.2. Solo clases del mismo paquete y la misma clase puede crear instancias

11.7.8. Constructor por Omisión

11.7.8.1. Si no se define un constructor

11.7.8.1.1. Asume un constructor sin argumentos

11.7.8.1.2. No hace nada

11.7.8.2. Se asume que existe, si no se ha definido un constructor sin argumentos

11.7.8.3. Es público si la clase lo es, caso contrario, no lo es

11.8. Métodos

11.8.1. Utilizado para manipular el estado del objeto

11.8.2. Java no permite un número variable de argumentos

11.8.3. Valores de Parámetros

11.8.3.1. Todos los parámetros se pasan por valor

11.8.3.1.1. Primitivos

11.8.3.1.2. Referencia

11.8.3.2. Si es parámetro es una referencia

11.8.3.2.1. Se va la copia y no el objeto

11.8.4. Control de Acceso

11.8.4.1. private

11.8.4.1.1. Para proteger campos de un acceso externo

11.8.4.2. Java no provee un modificador de solo lectura de campo

11.8.4.3. accesor

11.8.4.3.1. Para asegurar acceso de sólo lectura

11.8.4.3.2. Método que l hace indirectamente y de forma segura

11.8.5. Referencia this

11.8.5.1. Solo se puede usar en un método no estático

11.8.5.2. Hace referencia al objeto actual sobre el que se invoco el método

11.8.5.3. Se usa implícitamente al comienzo de cada miembro

11.8.5.4. Usos

11.8.5.4.1. Usualmente para pasar una referencia del objeto actual

11.8.5.4.2. Cuando existe oculta miento de un identificador debido a colisiones de nombre

11.8.5.4.3. Tener acceso a miembros ocultos de una superclase

11.8.6. Sobrecarga de Métodos

11.8.6.1. Cada método tiene una firma

11.8.6.1.1. Nombre del método

11.8.6.1.2. Número de tipos de parámetros

11.8.6.1.3. Tipo de retorno

11.8.6.2. Java permite varios métodos con mismo nombre

11.8.6.2.1. Pero debe tener diferentes parámetros

11.8.6.3. Al invocar un método sobrecargado

11.8.6.3.1. Se calza con los parámetros usados

11.8.7. Miembros Estáticos

11.8.7.1. Es único para toda una clase

11.8.7.2. Variable Miembro Estática

11.8.7.2.1. Existe una única variable para todos los objetos de la clase

11.8.7.3. Método Estático

11.8.7.3.1. Se invoca en nombre de toda la clase

11.8.8. Recolección de Basura

11.8.8.1. Java realiza recolección automática de basura

11.8.8.2. Solo existe new

11.8.8.3. Objeto que se detecta sin referencia

11.8.8.3.1. El sistema lo libera

11.8.9. Métodos

11.8.9.1. finalize

11.8.9.1.1. Permite ejecutar un método de finalización antes de liberar memoria

11.8.9.2. main

11.8.9.2.1. Se debe encontrar en cada aplicación de Java

11.8.9.2.2. Debe ser público, estático y void

11.8.9.3. toString

11.8.9.3.1. Si un objeto soporta el método

11.8.9.4. Nativos

11.8.9.4.1. Permite que programas Java usen código no escrito en Java

11.8.9.4.2. Aplicada para manipular hardware

11.8.10. Clases Anidadas

11.8.10.1. Definir una clase como miembro de otra clase

11.8.10.2. La clase anidad tiene acceso a todos los miembros de la clase que pertenece

11.8.11. Clases Internas

11.8.11.1. Si una clase se declara estática

11.8.11.1.1. Se llama clase anidad estatica

11.8.11.1.2. Si no es estática, es una clase anidada

12. Herencia

12.1. Clases Extendidas

12.1.1. Todas las clases son extendidas

12.1.1.1. Toda clase se deriva

12.1.1.2. La clase Object implementa el comportamiento

12.1.2. Sólo se permite una única superclase

12.2. Reglas

12.2.1. Una subclase herada todos los miembros

12.2.1.1. protegidos

12.2.1.2. públicos

12.2.1.3. sin modificador

12.2.2. Colisiones en nombre

12.2.2.1. En caso de una variable, se oculta

12.2.2.2. En caso de un método, se redefine

12.3. Redefinición de Variables Miembros

12.3.1. Solo pueden ser ocultados

12.3.2. Para accederlos se puede usar la referencia "super"

12.4. Re definición de Métodos

12.4.1. Donde existen coincidencia de nombres

12.4.1.1. Sobrecarga

12.4.1.1.1. Definir más de un método con el mismo nomnre

12.4.1.1.2. Diferente firma

12.4.1.2. Redefinición

12.4.1.2.1. Reemplaza la implementación de la superclase

12.4.2. Métodos que no se pueden redefinir

12.4.2.1. finales

12.4.2.2. estáticos

12.4.3. Métodos que se deben redefinir

12.4.3.1. Métodos declarados abstractos en la superclase

12.5. Constructores en Clases Extendidas

12.5.1. Al crear un objeto, el orden de ejecución es:

12.5.1.1. 1. Invocar constructor de la superclase

12.5.1.2. 2. Inicializar los capos

12.5.1.3. 3. Ejecutar el cuerpo del constructor

12.5.2. Si se quiere usar un constructor especifico, invocar con "super (...)"

12.6. Modificador Final

12.6.1. Variable

12.6.1.1. No puede ser modificada

12.6.2. Método

12.6.2.1. No puede ser redefinido

12.6.3. Clase

12.6.3.1. No se puede derivar

12.7. Clase Object

12.7.1. Todas las clase tienen a Object como raíz

12.7.1.1. Todos heredan sus métodos

12.7.2. Existen dos Tipos de Métodos

12.7.2.1. Utilidad General

12.7.2.1.1. public

12.7.2.1.2. protected Object clone() clone throws CloneNotSupportedException

12.7.2.2. Soportar Hebras

12.8. Métodos equals y hashCode

12.8.1. Redefinidos conjuntamente

12.9. Clonación de Objetos

12.9.1. El método permite clonar un objeto

12.9.2. Implementa la interfaz "Cloneable"

12.10. Clases y Métodos Abstractos

12.10.1. Definir clases que definen sólo parte de su implementación

12.10.2. Una clase abstracta no requiere declarar métodos abstractos

12.10.3. Una clase con método abstracto, debe ser declarada como clase abstracta

13. Interfaces y Clases

13.1. Interfaces

13.1.1. Interfaz vs Clase Abstracta

13.1.1.1. Interfaz es una simple lista de métodos abstractos

13.1.1.2. La interfaz no implementa ningún método, la clase abstracta si

13.1.1.3. Una clase puede implementar varias interfaces, pero solo una superclase

13.1.1.4. Interfaz no puede ser parte de una jerarquía de  clases

13.1.2. Cuerpo de la Interfaz

13.1.2.1. Constantes implícitas

13.1.2.1.1. públicas

13.1.2.1.2. estáticas

13.1.2.1.3. finales

13.1.2.2. Métodos implícitos

13.1.2.2.1. públicos

13.1.2.2.2. abstractos

13.1.2.3. No se aceptan otros modificadores

13.1.2.3.1. private

13.1.2.3.2. protected

13.1.2.3.3. synchronized

13.1.3. Implementación

13.1.3.1. Define un conjunto de métodos

13.1.3.2. Una referencia a una interfaz permite suponer que los métodos existen

13.1.4. Herencia Simple vs Múltiple

13.1.4.1. Una clase puede extender solo una superclase

13.1.4.2. Una interfaz puede extender múltiples interfaces

13.1.4.3. Herencia múltiple con clases puede producir problemas

13.1.4.3.1. Diferentes implementaciones

13.1.5. Extensión

13.1.5.1. Al igual que las clases

13.1.5.1.1. Las interfaces pueden tener súper.interfaces

13.1.5.2. La interfaz hija, hereda las definiciones de la interfaz padre

13.1.5.3. Permite herencia múltiple

13.1.6. Interfaces comunes a implementar

13.1.6.1. java.util.Iterator

13.1.6.1.1. hasNext()

13.1.6.1.2. next()

13.1.6.1.3. remove()

13.1.6.2. java.util.Collection

13.1.6.2.1. add()

13.1.6.2.2. addAll(Collectio c)

13.1.6.2.3. clear()

13.1.6.2.4. contains()

13.1.6.3. java.lang,Comparable

13.1.6.3.1. compareTo(Object o)

13.1.6.4. java.lang.Cloneable

13.1.6.4.1. Vacia!

13.1.6.5. java.lang.Runnable

13.1.6.5.1. run()

13.1.6.6. java.awt.event.ActionListener

13.1.6.6.1. actionPerformed(ActionEvent e)

13.2. Packages

13.2.1. Contiene

13.2.1.1. Clases

13.2.1.2. Interfaces

13.2.1.3. Subpaquetes

13.2.2. Todos ellos relacionados

13.2.3. Mecanismo de Definición

13.2.3.1. En la primera línea de cada archivo fuente

13.2.3.1.1. Aparece

13.2.3.2. El nombre del paquete se antepone implícitamente a los nombres de

13.2.3.2.1. Clase

13.2.3.2.2. Interfaz

13.2.4. Referencias Externas

13.2.4.1. 1. Anteponer el nombre del paquete a cada tipo

13.2.4.2. 2. Mediante el "import"

13.2.5. Colisiones de Nombre entre Paquete

13.2.5.1. Si dos paquetes tienen el mismo nombre y requieren ser usados

13.2.5.2. Una solución es usar nombres anidados

13.2.5.2.1. proyecto.paquete.*

13.2.5.3. Usar el nombre de dominio de Internet de forma inversa

13.2.5.3.1. ec.edu.ucuenca.paquete.*

13.2.6. Control de Acceso

13.2.6.1. Clases e Interfaces

13.2.6.1.1. Público

13.2.6.1.2. Paquete

13.2.7. Paquetes y Directorios

13.2.7.1. Los nombres de paquete condicionan donde buscar las clases

13.2.7.2. Su jerarquía debe  ser similar a la de los directorios

13.2.8. Paquetes de Java (java. )

13.2.8.1. .lang

13.2.8.2. .io

13.2.8.3. .util

13.2.8.4. .math

13.2.8.5. .awt

13.2.8.6. .net

13.2.8.7. .rmi

13.2.8.8. .applet

13.2.8.9. .sql

13.2.8.10. .beans

13.2.8.11. .security

13.2.9. Extensiones a Java (javax. )

13.2.9.1. .swing

13.2.9.2. .servlet

13.2.9.3. .crypto

13.2.9.4. .accessibility

13.2.9.5. .naming

13.2.9.6. .transaction

13.2.9.7. .xml

13.2.9.8. .sound

13.2.9.9. .print

14. Caracteres, String y Otros Tipos de Datos

14.1. Arreglos

14.1.1. Son agrupaciones ordenadas de elementos

14.1.1.1. Tipos Primitivos

14.1.1.2. Referencias

14.1.2. Las dimensiones se  omiten en la declaración de varaibles

14.1.3. Los indices varían desde 0 a largo-1

14.1.4. No se pueden derivar

14.1.5. Uso de Arreglos

14.1.5.1. Declaración sin tamaño

14.1.5.1.1. tipo[] variable;

14.1.5.2. Creación de una arreglo vacío

14.1.5.2.1. variable= new tipo[tamaño];

14.1.5.3. Creación e inicialización

14.1.5.3.1. tipo [] variable={val1, val2, val3, ... , valn}

14.1.5.4. Acceso a un elemento

14.1.5.4.1. variable[indice]

14.1.5.5. Tamaño del arreglo

14.1.5.5.1. variable.lenght()

14.1.5.5.2. variable.lenght()

14.1.6. Copiado

14.1.6.1. Se puede hacer uso del método "arraycopy"  de System

14.1.6.1.1. public static void arraycopy( ....... )

14.2. Caracteres y String

14.2.1. Clases Básicas para Caracteres

14.2.1.1. Character

14.2.1.1.1. Puede mantener un único valor

14.2.1.2. String

14.2.1.2.1. Almacena y manipula datos mutables

14.2.1.2.2. Múltiples caracteres

14.2.1.3. StringBuffer

14.2.1.3.1. Almacena y manipula datos mutables

14.2.1.3.2. Múltiples caracteres

14.2.2. Métodos

14.2.2.1. Character(char)

14.2.2.1.1. Constructor que crea un objeto inmutable

14.2.2.2. int comparateTo(Character)

14.2.2.2.1. Retorna entero que compara con otro carácter

14.2.2.3. boolean equals(Object)

14.2.2.3.1. Retorna true si son de igual valor

14.2.2.4. String toString()

14.2.2.4.1. Convierte a String

14.2.2.5. char charValue()

14.2.2.5.1. Retorna el valor del objeto

14.2.2.6. isUpperCase(char)

14.2.2.6.1. Retorna true si es mayúscula

14.3. Número

14.3.1. Clase Number

14.3.1.1. Retornan los valores de los números especificados

14.3.1.1.1. byte byteValue()

14.3.1.1.2. double doubleValue()

14.3.1.1.3. float floatValue()

14.3.1.1.4. int intValue()

14.3.1.1.5. long longValue()

14.3.1.1.6. short shortValue()

14.3.1.2. Clases Extendidas

14.3.1.2.1. Clases envolventes para

14.4. Date

14.4.1. Manejo de fecha/hora

14.4.2. Clase Utilitaria

14.4.2.1. java.util.Calendar

14.4.2.2. java.text.DateFormat

15. Manejo de Excepciones

15.1. Excepción corresponde a una interrupción de la ejecución

15.2. Si ocurre el evento, se lanza un throw

15.2.1. Se crea un objeto especial y se pasa al runtime

15.3. runtime, busca la excepción del tipo

15.4. Si se encuentra, invoca al manejador de errores

15.4.1. catch

15.5. Si no encuentra, termina el programa

15.6. Jerarquía

15.6.1. Deriva de la clase "Throwable"

15.6.2. Dos subclases

15.6.2.1. Error

15.6.2.1.1. Error interno irrecuperable

15.6.2.2. Exception

15.6.2.2.1. Situación excepcional

15.6.2.2.2. RuntimeException

15.6.2.2.3. IOException

15.7. Tipo de Excepciones

15.7.1. No Verificadas

15.7.1.1. Derivadas de la clase Error y RuntimeException

15.7.2. Verificadas

15.7.2.1. Otras clases de excepciones

15.8. Cláusula  finally

15.8.1. Se ejecuta haya o no excepción antes de retornar

16. Streams y Archivos

16.1. Streams Básicos

16.1.1. Bytes y Caracteres

16.1.1.1. bytes: E/S

16.1.1.1.1. InputStream

16.1.1.1.2. OutputStream

16.1.1.2. carácter: Unicode

16.1.1.2.1. Reader

16.1.1.2.2. Writer

16.2. Archivos

16.2.1. Clases Básicas

16.2.1.1. FileReader

16.2.1.1.1. Lectura de Caracteres

16.2.1.2. FileWriter

16.2.1.2.1. Escritura de Caracteres

16.2.1.3. FileInputStream

16.2.1.3.1. Lectura de bytes

16.2.1.4. FileOutputStream

16.2.1.4.1. Escritura de bytes

16.2.2. Clase File

16.2.2.1. No corresponde a un stream

16.2.2.2. Hereda de Object

16.2.2.3. Definido en el paquete java.io

16.2.3. Clase RandomAccessFile

16.2.3.1. int skipBytes(iny)

16.2.3.1.1. Mueve el puntero el # de bytes hacia adelante

16.2.3.2. void seek(long)

16.2.3.2.1. Posiciona el puntero antes del byte especificado

16.2.3.3. long getFilePointer()

16.2.3.3.1. Retorna la posición del puntero