Introducción a Java

Solve your problems or get new ideas with basic brainstorming

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Rocket clouds
Introducción a Java por Mind Map: Introducción a Java

1. Caracteres, String y Otros Tipos de Datos

1.1. Arreglos

1.1.1. Arreglos en Java son agrupaciones ordenadas de elementos. Tienen un tamaño que no puede ser modificado Es una lista estática

1.2. Números

1.2.1. Clase Number

1.2.1.1. byte byteValue() Retorna el valor del número especificado como byte

1.2.2. Funciones matemáticas

1.2.2.1. exponenciación logaritmos raíz cuadrada Funciones trigonométricas Máximos y mínimos Redondeos

1.3. Date

1.3.1. Útil para manejar datos fecha/hora

2. Introducción a Java

2.1. Orígen

2.1.1. 1991. James Gosling inicia proyecto para escribir código independiente de plataforma para sistemas empotrados. Intenta con C++, pero no le satisface

2.1.2. 2004. Versión J2se1.5-Beta disponible. Incluye programación genérica como parte del lenguaje

2.2. Características

2.2.1. Tecnología Java, orientado a objetos, máquina virtual, java API, J2SE, J2EE y J2ME

2.2.2. Simple y orientado a objetos

2.2.3. Robusto y seguro

2.2.4. Interpretado, neutro de la arquitectura y portable

2.2.5. Distribuido y alto desempeño

2.2.6. Multi-hebra: Interactividad de aplicaciones

2.2.7. Dinámica: Permite enlace y carga dinámica de clases

2.3. Proceso de desarrollo

2.3.1. Programa en java: le dice al sistema que ejecute la función main y carga dinámicamente otras clases

2.3.1.1. Comentarios: // Solo una linea /* */ texto interno /** */ Documentación

2.3.2. Compilador (windows, solaris, linux)

2.3.3. Genera bytecode

2.4. Partes de un programa

2.4.1. Importación de clases y paquetes

2.4.1.1. La palabra IMPORT permite importar clases de un paquete EXTENDS permite definir una clase a partir de otra mediante la herencia

2.4.2. Métodos

2.4.2.1. Puede implementar uno o más métodos. Un applet debe implementar al menos uno (init, start o paint)

2.4.3. Funcionalidad

2.4.3.1. Esencial Interfaces gráficas Comunicación en la red y applets Internacionalización Seguridad

2.5. Applets

2.5.1. Es una pequeña aplicación que se ejecuta mediante un navegador, haciendo conección desde la aplicación principal y siendo llamada desde el navegador.

3. Conceptos básicos

3.1. Caracteres

3.1.1. Utiliza unicode 16 bits Leer ASCII

3.2. Identificadores

3.2.1. Comienzan con letras, _,$, letras o dígitos Difieren mayúsculas de minúsculas Tiene palabras reservadas que no se pueden usar

3.3. Palabras reservadas

3.4. Variable, constantes y tipos primitivos

3.4.1. Variable

3.4.1.1. Es una palabra que contiene un dato, definiéndose un tipo antes de ser usado. y un ámbito (visibilidad)

3.4.2. Tipos de datos

3.4.2.1. Primitivos

3.4.2.1.1. byte, short, int, long, float, double, char, boolean

3.4.3. Declaración

3.4.3.1. Modificadores: static, final (opcionales)

3.4.3.2. Se puede declarar en cualquier parte del código

3.4.3.3. La visibilidad depende del bloque dónde se declare

3.4.4. Inicialización

3.4.4.1. Una variable se puede inicializar int x = 5;

3.5. Operadores

3.6. Expresiones

3.6.1. - Una expresión se evalúa de izquierda a derecha Orden puede ser importante cuando existen efectos laterales o corto-circuito

3.7. Conversión de tipo

3.7.1. Implícita

3.7.1.1. Valores primitivos

3.7.1.1.1. Se permite entre valores primitivos cuando se soporta un mayor rango de valores

3.7.1.2. Referencias

3.7.1.2.1. Una referencia a un objeto de una clase incluye una instancia de cada supertipo

3.7.2. Explícita

3.7.2.1. - Se requiere cuando un tipo no se puede asignar a otro por conversión implícita - La conversión explícita se denomina cast Ejemplo: double d = 7.99; long l = (long) d; l

3.8. Operadores

3.8.1. Aritméticos

3.8.1.1. + - * / % (-)

3.8.2. De incremento y decremento

3.8.2.1. a++ = a=1+1 a-- = a=a-1

3.8.3. Relacionales

3.8.3.1. > , < , >= , <= , == , !=

3.8.4. Al bit

3.8.4.1. &, |, ^, <<, >>, >>>

3.8.5. Condicional

3.8.5.1. valor = test ? exp1 : exp2

3.8.6. Asignación

3.8.6.1. +=, -=, *=, /=, %=, >>=, <<=, >>>=, &=, ^=, |=

3.9. Control de flujo

3.9.1. Sentencias y bloques

3.9.1.1. If-else

3.9.1.2. switch

3.9.1.3. while

3.9.1.4. do-while

3.9.1.5. for

3.9.1.6. break

3.9.1.7. continue

3.9.1.8. return

4. Clases y Objetos

4.1. Conceptos

4.1.1. - Las clases contienen los métodos que definen la computación - Los campos (fields) o variables miembros definen el estado

4.1.2. Estructuras de una clase

4.1.2.1. Variables miembros (campos)

4.1.2.1.1. Son las variables definidas como static

4.1.2.2. Control de Acceso de Miembros

4.1.2.2.1. - Privado: Declarados con private son sólo accesibles por la propia clase - Paquete: Miembros sin modificador de acceso son sólo accesibles por código y heredados por subclases en el mismo paquete

4.1.2.3. Creación de objetos

4.1.2.3.1. Persona p2 =new Persona(“Pedro”);

4.1.2.4. Constructores

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

4.1.2.5. Métodos

4.1.2.5.1. - Un método se entiende para manipular el estado del objeto (variables miembro)

4.1.2.5.2. Finalize

4.1.2.5.3. Main

4.1.2.5.4. toString

4.1.2.5.5. Nativos

4.1.2.6. Clases

4.1.2.6.1. Anidadas

4.1.2.6.2. Interna

4.1.2.7. Recolector de basura

4.1.2.7.1. - Java realiza recolección automática de basura, i.e. el programador no requiere liberar explícitamente los objetos

5. Herencia

5.1. Conceptos

5.1.1. - una clase define un contrato de uso a través de sus miembros accesibles y el comportamiento esperado de los métodos

5.1.1.1. - Una clase extendida agrega funcionalidad, creándose una nueva clase, con un contrato extendido

5.2. Clase extendida

5.2.1. - En Java todas las clases son extendidas - Toda clase se deriva (quizás

5.2.1.1. - Java sólo permite tener una única superclase (herencia simple) - Si no se especifica extends se supone que se deriva de Object

5.3. Reglas de herencia

5.3.1. Una subclase hereda todos los miembros Colisiones de nombres

5.4. Redefinición de variables

5.4.1. No se pueden redefinir, solo ocultar y acceder usando super

5.5. Redefinición de métodos

5.5.1. - Sobrecarga: Definir más de un método con el mismo nombre, pero con diferente firma

5.6. Modificar final

5.6.1. - Se puede usar en tres situaciones diferentes: Variable. La variable no puede ser

5.6.1.1. Clase. La clase no se puede derivar (implícitamente todos sus métodos son finales)

5.7. Clase Object

5.7.1. Todas las clases heredan los métodos de un objeto

5.7.1.1. Métodos

5.7.1.1.1. public boolean equals(Object obj)

5.7.1.1.2. public int hashCode()

5.7.1.1.3. protected Object clone() throws CloneNotSupportedException

5.7.1.1.4. public final Class getClass()

5.7.1.1.5. public void finalize() throws Throwable

5.7.1.1.6. public String toString()

5.7.1.1.7. Clone

5.7.1.2. Clases abstractas

5.7.1.2.1. Una clase abstracta no requiere declarar métodos abstractos, pero una clase que tiene un método abstracto debe ser declarada como clase abstracta

6. Interfaces y paquetes

6.1. Interfaces

6.1.1. Concepto

6.1.1.1. - Mecanismo de Interfaz es una manera de declarar tipos consistentes sólo de métodos abstractos y constantes

6.1.1.1.1. - Las interfaces son útiles para el diseño Clases deciden cómo implementar

6.1.2. Caracteristicas

6.1.2.1. - No implementa métodos - Una clase puede implementar varias interfaces - Una interface puede heredar otras interfaces

6.1.3. Herencias simple y múltiple

6.1.3.1. Simple cuándo hereda de una solo clases y múltiple cuándo es de 2 o mas clases

6.2. Paquetes

6.2.1. Concepto

6.2.1.1. Contiene clases, interfaces y subpaquetes que están relacionados

6.2.1.2. Permite agrupar interfaces y clases relacionadas

6.2.1.3. Para ser usadas se usa import en las clases dónde se van a usar

7. Manejo de excepciones

7.1. Una excepción corresponde a un evento que interrumpe el flujo normal de ejecución Cuando ocurre tal tipo de evento en un método, se lanza (throw) una excepción, creando un objeto especial que se pasa al runtime para manejar la excepción

8. Streams y archivos

8.1. Streams básicos

8.1.1. Es la distribución digital de multimedia a través de una red de computadoras, de manera que el usuario consume el producto (generalmente archivo de vídeo o audio) en paralelo mientras se descarga.

8.1.1.1. La palabra streaming se refiere a una corriente continuada, que fluye sin interrupción.

8.1.2. API

8.1.2.1. InputStream

8.1.2.1.1. l abstract int read() int read(byte[] b) int read(byte[] b, int off, int largo)

8.1.2.2. OutputStream

8.1.2.2.1. abstract void write(int n) void write(byte[] b) void write(byte[] b, int off, int largo) void close() void flush()

8.1.2.3. Reader

8.1.2.3.1. int read() int read(char cbuf[]) int read(char cbuf[], int offset, int largo)

8.1.2.4. Writer

8.1.2.4.1. int write(int c) int write(char cbuf[]) int write(char cbuf[], int offset, int largo)

8.2. Archivos

8.2.1. Clases básicas

8.2.1.1. FileReader. Lectura de caracteres FileWriter. Escritura de caracteres FileInputStream . Lectura de bytes FileOutputStream . Escritura de bytes

8.2.2. Constructores

8.2.2.1. FileInputStream in = new FileInputStream (“miArchivo”); File f = new File(“miArchivo”)

8.2.3. Clase file

8.2.3.1. No corresponde a un stream (se deriva de Object), que permite tener repesentación abstracta de archivos y directorios

8.2.4. Clase RandomAccessFile

8.2.4.1. intskipBytes(int) Mueve el puntero un # de bytes indicado void seek(long) Posiciona el puntero antes long getFilePointer() Retorna posición actual de puntero

8.2.5. Streams y archivos ZIp

8.2.5.1. Se usan para archivar uno o más archivos en formato comprimido (GZIP o ZIP)

8.3. Streams Especiales

8.3.1. Streams de buffering

8.3.1.1. BufferedInputStream BufferedOutputStream PushbackInputStream

8.3.2. Clases