2introduccionallenguajejava 141109171757-conversion-gate02

Krizztiina Pacheko
Krizztiina PachekoOne Direction

Tarea

Introducción al lenguaje Java 
Conceptos Básicos 
„ Comentarios 
„ Identificadores 
„ Palabras Clave 
y Reservadas 
„ Literales 
„ Operadores 
„ Separadores 
// comentarios para una sola línea 
/* comentarios de una o más líneas */ 
/** comentario de documentación, de una o más líneas */ 
Identificador identi_ficador Identi_ficador 
_identificador $identificador 
abstract continue for boolean default goto null …………. 
cast future generic ……. 
Ejemplo 
3.14, 2e12 
'x', t, u0234 
Tipo 
Reales 
Caracteres 
Tipo Ejemplo 
Enteros 21, 0xDC 
Booleanos true, false 
Cadenas "Esto es 1 cadena" 
*= /= %= += -= < > <= >= == != ++ -- * 
/ % etc.. 
()- paréntesis {} – llaves [] – corchetes 
; - punto y coma , - coma . - punto 
A.R.S.S. 1
Objetos y Tipos de Datos 
„ OBJETOS 
„ TIPOS DE DATOS 
SIMPLES 
Objeto = Conjunto de variables y funciones 
relacionadas con esas variables 
• Encapsulamiento 
• Herencia 
Tipo Descripción Tamaño Clase equivalente 
boolean Valor lógico 1 bit Boolean 
char Carácter 16 bit Character 
byte Entero muy pequeño 8 bit 
short Entero pequeño 16 bit 
int Entero normal 32 bit Integer 
long Entero grande 64 bit Long 
float Número real de precisión simple 32 bit Float 
double Número real de doble precisión 64 bit Double 
void Tipo vacío 
A.R.S.S. 2 
Clases: Definición y Tipos 
“Una clase es una agrupación de datos (variables o campos) y de 
funciones (métodos) que operan sobre esos datos.” 
„ abstract : Una clase abstract tiene al menos un método 
abstracto. Una clase abstracta no se instancia, sino que se 
utiliza como clase base para la herencia. 
„ final : Una clase final se declara como la clase que termina una 
cadena de herencia. No se puede heredar de una clase final. 
„ public : Las clases public son accesibles desde otras clases, 
bien sea directamente o por herencia. Son accesibles dentro del 
mismo paquete en el que se han declarado. Para acceder desde 
otros paquetes primero deben ser importadas. 
A.R.S.S. 3
Clases: Definición y Tipos 
[abstract|final|public] class NombreClase [extends NombreSuperClase] 
[implements NombreInterface] 
{ // cuerpo de la clase } 
„ En Java todas las clases tienen una superclase, que se especifica 
mediante la palabra clave extends. Si no se especifica una superclase, 
se asume que se hereda de la clase Object. 
„ En Java sólo se puede derivar de una clase. Para simular la herencia 
múltiple se deben utilizar interfaces, mediante la palabra clase 
implements. 
„ Una interface es un conjunto de declaraciones de funciones. Si una 
clase implementa una interface, debe definir todas sus funciones. Una 
clase puede implementar más de una interface. 
„ En un fichero se pueden definir varias clases, pero sólo una de ellas 
puede ser public. El fichero se debe llamar como la clase public con 
extensión .java 
A.R.S.S. 4 
Variables Miembro 
„ Variables miembro de objeto 
„ Cada objeto que se crea tiene su propia copia de las 
variables miembro. 
„ Pueden ir precedidas en su declaración por uno de los 
modificadores de acceso: public, private, protected. 
„ Variables miembro de clase 
„ Tienen el mismo valor para todos los objetos creados de la 
clase. 
„ Se crean anteponiendo la palabra static a su declaración. 
„ Variables finales 
„ Una variable de un tipo primitivo declarada como final no 
puede cambiar su valor durante la ejecución del programa. 
„ Puede ser considerada como una constante. 
A.R.S.S. 5
Métodos: Definición y Tipos 
[private |protected|public] [static] [abstract] [final] [native ] 
[synchronized] TipoDevuelto NombreMétodo 
( [tipo1 nombre1[, tipo2 nombre2 ]…] ) [throws excepción1 [,excepción2]… ] 
Dentro de los métodos pueden incluirse: 
· Declaración de variables locales 
Tipo NombreVariable [= Valor]; 
· Asignaciones a variables 
Variable = Constante | Expresión ; 
· Operaciones matemáticas 
· Llamados a otros métodos: 
· dentro de la clase 
Nombre_del_Método(parámetros) 
· de instancia, de otras clases 
· de clase, de cualquier clase 
· Estructuras de control 
· Excepciones 
Nombre_del_Objeto<punto>Nombre_del_Método(parámetros) 
Nombre_de_la_Clase<punto>Nombre_del_Método(parámetros) 
A.R.S.S. 6 
Control de Flujo 
Sentencias de Salto Sentencias de Bucle 
if/else 
if( Boolean ) { 
sentencias; 
} 
else { 
sentencias; 
} 
Switch 
switch( expr1 ) { 
case expr2: 
sentencias; 
break; 
case expr3: 
sentencias; 
break; 
default: 
sentencias; 
break; 
} 
Bucle for 
for( expr1 inicio; expr2 test; expr3 incremento ) 
{ sentencias; } 
Bucle while 
while( Boolean ) 
{ sentencias; } 
Bucle do/while 
do 
{ sentencias; } 
while( Boolean ); 
try-catch-finally 
try { sentencias; } 
catch( Exception ) 
{ sentencias; } 
finally {sentencias;} 
Excepciones 
break [etiqueta] continue [etiqueta] 
return expr; etiqueta: sentencia; 
Control General del Flujo 
A.R.S.S. 7
Package e Import 
La palabra clave package permite agrupar clases e interfaces. Los nombres 
de los paquetes son palabras separadas por puntos y se almacenan en 
directorios que coinciden con esos nombres. 
Los packages se utilizan con las finalidades siguientes: 
1. Para agrupar clases relacionadas. 
2. Para evitar conflictos de nombres (se recuerda que el dominio de nombres de Java es la 
Internet). En caso de conflicto de nombres entre clases importadas, el compilador obliga a 
cualificar en el código los nombres de dichas clases con el nombre del package. 
3. Para ayudar en el control de la accesibilidad de clases y miembros. 
INCLUSIÓN DE UNA CLASE EN UN PACKAGE : package pkgName; 
Existen dos formas de utilizar import: para una clase y para todo un package: 
import es.ceit.jgjalon.infor2.ordenar.QuickSort.class; 
import es.ceit.jgjalon.infor2.ordenar.*; 
que deberían estar en el directorio: 
classpathesceitjgjaloninfor2ordenar 
java.applet 
java.awt 
java.io 
java.lang 
java.net 
java.util 
Algunos “packages” de java : 
A.R.S.S. 8 
Entrada y Salida Estándar en Java 
En Java, la entrada desde teclado y la salida a pantalla están reguladas a traves 
de la clase System. Esta clase pertenece al package java.lang 
System.in: Objeto de la clase InputStream preparado para recibir datos desde la entrada 
estándar del sistema (habitualmente el teclado). 
System.out: Objeto de la clase PrintStream que imprimirá los datos en la salida estándar 
del sistema (normalmente asociado con la pantalla). 
System.out.println("Hola, Mundo!"); 
System.out.println(57); 
double numeroPI = 3.141592654; 
System.out.println(numeroPI); 
String hola = new String("Hola"); 
System.out.println(hola); 
System.out.println("Hola, Mundo! " + numeroPI); 
try { 
c=(char)System.in.read(); 
} 
catch(java.io.IOException ioex) { 
} 
InputStreamReader isr = new 
InputStreamReader(System.in); 
BufferedReader br = new BufferedReader(isr); 
String frase = br2.readLine(); 
A.R.S.S. 9
Compilación y Ejecución 
Herramienta para compilar : JAVAC.EXE 
PATH DEL SISTEMA : Herramienta para ejecutar : JAVA.EXE 
Ejemplo de compilación y ejecución : 
1) JAVAC MiPrograma.java Æ PRODUCE MiPrograma.class 
2) JAVA MiPrograma 
Ejemplo de compilación y ejecución ( con CLASSPATH ) : 
1) JAVAC -classpath .;c:MisLibreriasOtras.jar MiPrograma.java 
Æ PRODUCE MiPrograma.class 
2) JAVA -classpath .;c:MisLibreriasOtras.jar MiPrograma 
La ejecución siempre comienza por el programa o método main(). !!!! 
A.R.S.S. 10 
Mi primer ejemplo 
„ HolaMundo 
public class HolaMundo 
{ 
// no tengo ninguna variable miembro 
private void ImprimeMensaje(String mensaje) 
{ 
System.out.println(mensaje); 
} // ImprimeMensaje 
public static void main( String args[] ) 
{ 
HolaMundo hola = new HolaMundo(); 
hola.ImprimeMensaje(“Hola Mundo”); 
} // main 
} // HolaMundo 
A.R.S.S. 11
Arrays Estáticos 
„ Se pueden declarar arrays de cualquier tipo: 
„ char [] x; // array de caracteres 
„ MiClase [] y; // array de objetos MiClase 
„ int [][] tabla; // array de arrays de enteros 
„ Existen dos formas de crear arrays: 
„ Crear un array vacío: int [] lista = new int[50]; 
„ Crear un array con sus valores iniciales: int [] n = {1,5,7,10} 
„ En Java un array es un objeto.Tiene la variable 
miembro length, que indica el número de elementos 
del array. 
„ int [][]a = new int[10][3]; 
a.length Æ 10 
a[0].length Æ 3 
„ Se accede a los elementos de un array con los 
corchetes [] y un índice que varía de 0 a length-1. 
A.R.S.S. 12 
Arrays Estáticos 
„ Los elementos de un array se inicializan al valor por 
defecto del tipo correspondiente. 
„ Como todos los objetos, los arrays se pasan como 
argumento a los métodos por referencia. 
„ No se pueden crear arrays estáticos en tiempo de 
compilación: 
„ int lista[50]; // generará un error en tiempo de compilación 
„ No se puede rellenar un array sin declarar el tamaño 
con el operador new: 
„ int []lista; 
for( int i=0; i < 9; i++ ) 
lista[i] = i; // generará un error en tiempo de compilación 
A.R.S.S. 13
Arrays Dinámicos: Clase Vector 
Pertenece al paquete java.util, por lo que es necesario importarla 
„ Constructores 
„ Vector(); 
„ Vector( int capacitty ); 
„ Tamaño 
„ int capacity() 
„ void ensureCapacity(int minCapacity) 
„ void setSize(int newSize) 
„ int size() 
„ Cambio de contenido 
„ Object set(int index, Object element) 
„ void setElementAt(Object obj, int index) 
„ Inserción 
„ void add(int index, Object element) 
„ boolean add(Object o) 
„ void addElement(Object obj) 
„ Borrado 
„ Consulta 
„ void insertElementAt(Object obj, int index) 
„ boolean remove(Object o) 
„ void removeAllElements() 
„ boolean removeElement(Object obj) 
„ void removeElementAt(int index) 
„ void clear() 
„ Object remove(int index) 
„ boolean contains(Object elem) 
„ Object elementAt(int index) 
„ Object firstElement() 
„ Object get(int index) 
„ int indexOf(Object elem) 
„ int indexOf(Object elem, int index) 
„ boolean isEmpty() 
„ Object lastElement() 
„ int lastIndexOf(Object elem) 
„ int lastIndexOf(Object elem, int index) 
A.R.S.S. 14 
Tratamiento de Texto: Clase String 
Pertenece al paquete java.lang, por lo que no es necesario importarla 
„ Constructores 
„ String(); 
„ String( String str ); 
„ String( char val[] ); 
„ String( char val[],int offset,int count ); 
„ Funciones de Conversión 
„ String valueOf( boolean b ); 
„ String valueOf( int i ); 
„ String valueOf( long l ); 
„ String valueOf( float f ); 
„ String valueOf( double d ); 
„ String valueOf( Object obj ); 
„ String valueOf( char data[] ); 
„ Funciones Básicas 
„ int length(); 
„ char charAt( int indice); 
„ Funciones de Comparación de Strings 
„ boolean equals( Object obj ); 
„ boolean equalsIgnoreCase( Object obj ); 
„ int compareTo( String str2 ); 
„ int CompareToIgnoreCase(String str2); 
„ Convertir Cadenas a Números (Integer, Double, 
Float, y Long) 
„ Método valueOf() de Integer, Double, Float y 
„ String valueOf( char data[],int offset,int count ); 
„ String copyValueOf( char data[] ); 
Long 
„ String copyValueOf( char data[],int offset,int count ); 
String piStr = "3.14159"; 
Float pi = Float.valueOf(piStr); 
float fp1 = pi.floatValue(); 
float fpi2 = Float.parseFloat(piStr); 
A.R.S.S. 15
Tratamiento de Texto: Clase String 
„ Funciones de comparación de Subcadenas 
„ boolean regionMatches( int thisoffset,String s2,int s2offset,int len ); 
„ boolean regionMatch( boolean ignoreCase,int thisoffset,String s2, int s2offset,int len); 
„ boolean startsWith( String prefix ); 
„ boolean endsWith( String suffix ); 
„ int indexOf( int ch ); 
„ int lastIndexOf( int ch ); 
„ int indexOf( String str ); 
„ int lastIndexOf( String str ); 
„ boolean startsWith( String prefix,int offset ); 
„ int indexOf( int ch,int fromindex ); 
„ int lastIndexOf( int ch,int fromindex ); 
„ int indexOf( String str,int fromindex ); 
„ int lastIndexOf( String str,int fromindex ); 
„ Funciones para obtener nuevas cadenas 
„ String substring( int beginindex ); 
„ String concat( String str ); 
„ String toLowerCase(); 
„ String toString(); 
„ Funciones para obtener arrays 
„ String substring( int beginindex,int endindex ); 
„ String replace( char oldchar,char newchar ); 
„ String toUpperCase(); 
„ void getChars( int srcBegin,int srcEnd,char dst[], int dstBegin ); 
„ byte [] getBytes(); 
„ char [] toCharArray(); 
A.R.S.S. 16 
Gestión de Ficheros 
„ Clase File 
„ La clase File es una representación abstracta de 
ficheros y directorios. 
„ Pertenece al package java.io 
„ Es necesario importarla si se quiere utilizar 
A.R.S.S. 17
Gestión de Ficheros 
„ Clase File 
„ Constructores 
„ File(String nombrefichero) 
„ File(String padre, String hijo) 
„ File(File padre, String hijo) 
„ Ejemplos 
„ File f1 = new File("c:windowsnotepad.exe"); // La 
barra '' se escribe '' 
„ File f2 = new File("c:windows"); // Un directorio 
„ File f3 = new File(f2, "notepad.exe"); // Es igual a f1 
A.R.S.S. 18 
Gestión de Ficheros 
„ Clase File 
„ Métodos más relevantes 
„ boolean canRead(): true si puede leer. 
„ boolean canWrite(): true si puede escribir. 
„ boolean exists(): true si el fichero existe. 
„ boolean isFile(): true si es un fichero. 
„ boolean isDirectory(): true si es un directorio. 
„ long length(): tamaño del fichero en bytes. 
„ long lastModified(): fecha de la última modificación. 
„ String [] list(): lista de ficheros y subdirectorios del 
directorio. 
„ File [] listFiles(): lista de ficheros del directorio. 
A.R.S.S. 19
Gestión de Ficheros 
„ Clase File 
„ Métodos más relevantes 
„ boolean createNewFile(): crea un fichero vacío. 
„ boolean mkdir(): crea un directorio. 
„ boolean delete(): borra el fichero o directorio. 
„ String getPath(): retorna el path con el que se creó el 
objeto File. 
„ String getName(): retorna el nombre del fichero. 
„ String getAbsolutePath(): retorna el path absoluto. 
„ String getParent(): retorna el directorio padre 
especificado en la creación del objeto File. 
A.R.S.S. 20 
Gestión de Ficheros 
„ Jerarquía de E/S de manejo de bytes 
Jerarquía de clases InputStream Jerarquía de clases OutputStream 
-Métodos básicos: read() y write() 
A.R.S.S. 21
Gestión de Ficheros 
„ Jerarquía de E/S de manejo de caracteres 
Jerarquía de clases Reader 
Jerarquía de clases Writer 
A.R.S.S. 22 
Gestión de Ficheros 
„ Clases InputStreamReader y 
OutputStreamWriter 
„ Clases puente que permiten convertir flujos que 
manejan bytes en flujos que manejan caracteres. 
„ Pertenecen al package java.io 
„ Es necesario importarlas 
„ InputStreamReader: lee bytes y los transforma 
en caracteres. 
„ OutputStreamWriter: los caracteres escritos se 
transforman previamente en bytes. 
A.R.S.S. 23
Gestión de Ficheros 
„ Clases FileReader y FileWriter 
„ Están orientadas a manejar ficheros de texto, 
permitiendo tanto operaciones de lectura como de 
escritura. 
„ Pertenecen al package java.io 
„ Es necesario importarlas 
„ FileReader: abre un fichero de texto en modo 
lectura. 
„ FileWriter: abre un fichero de texto en modo 
escritura. 
A.R.S.S. 24 
Gestión de Ficheros 
„ Clases FileReader y FileWriter 
„ Constructores de FileReader 
„ FileReader(String nombreFichero) 
„ FileReader(File fichero) 
„ Constructores de FileWriter 
„ FileWriter(String nombreFichero) 
„ FileWriter(String nombreFichero, boolean 
flagAppend) 
„ FileWriter(File fichero) 
A.R.S.S. 25
Gestión de Ficheros 
„ Clases BufferedReader y BufferedWriter 
„ Están orientadas a la gestión eficiente de flujos de 
texto. 
„ Mantienen un buffer de lectura/escritura que 
permite optimizar el número de accesos a fichero, 
haciéndolos muy útiles en operaciones de 
entrada/salida. 
„ Pertenecen al package java.io 
„ Es necesario importarlas. 
A.R.S.S. 26 
Gestión de Ficheros 
„ Clase BufferedReader 
„ Constructores 
„ BufferedReader(Reader fichero) 
„ BufferedReader(Reader fichero, int tamBuffer) 
„ Métodos más relevantes 
„ void close(): cierra el flujo de lectura (cierra el 
fichero). 
„ int read(): lee un carácter del fichero. 
„ int read(char []buffer, int offset, int len): lee 
len caracteres y los almacena en buffer. 
„ String readLine(): lee una línea del fichero. 
A.R.S.S. 27
Gestión de Ficheros 
„ Clase BufferedWriter 
„ Constructores 
„ BufferedWriter(Writer fichero) 
„ BufferedWriter(Writer fichero, int tamBuffer) 
„ Métodos más relevantes 
„ void close(): cierra el flujo de escritura (cierra 
el fichero). 
„ void flush(): vuelca el contenido del buffer al 
fichero. 
„ void newLine(): escribe un salto de línea en el 
fichero. 
A.R.S.S. 28 
Gestión de Ficheros 
„ Clase BufferedWriter 
„ Métodos más relevantes 
„ void write(int car): escribe un carácter en el 
fichero. 
„ void write(char []buffer, int offset, int len): 
escribe una porción de un array de caracteres 
en el fichero. 
„ void write(String cadena, int offset, int len): 
escribe una porción de una cadena de 
caracteres en el fichero. 
A.R.S.S. 29
Gestión de Ficheros 
„ Clase PrintWriter 
„ Se utiliza para hacer una gestión abstracta 
durante la gestión de flujos de texto de salida. 
„ Se utiliza para imprimir representaciones 
formateadas de diferentes tipos de objetos en un 
flujo de texto de salida. 
„ Pertenece al package java.io 
„ Es necesario importarla. 
A.R.S.S. 30 
Gestión de Ficheros 
„ Clase PrintWriter 
„ Constructores 
„ PrintWriter(Writer salida) 
„ PrintWriter(Writer salida, boolean flagAutoFlush) 
„ PrintWriter(OutputSream salida) 
„ PrintWriter(OutputStream salida, boolean flagAutoFlush) 
„ Métodos más relevantes 
„ void close(): cierra el flujo de escritura (cierra el 
fichero). 
„ void flush(): vuelca el contenido del buffer al fichero. 
„ void print(objeto): escribe el objeto (int, String, …) en el 
fichero. 
„ void println(objeto): escribe el objeto (int, String, …) y 
un salto de línea en el fichero. 
A.R.S.S. 31
Gestión de Ficheros 
„ Lectura de disco 
FileReader fr = new FileReader("archivo.txt") 
File f = new File("archivo.txt"); 
FileReader fr = new FileReader(f); 
BufferedReader entrada = new BufferedReader(fr); 
String st=entrada.readLine(); 
A.R.S.S. 32 
Gestión de Ficheros 
„ Escritura en disco 
FileWriter fw = new FileWriter("escribeme.txt") 
fw= new FileWriter("escribeme.txt", true) 
File f = new File(“escribeme.txt"); 
FileWriter fr = new FileWriter(f); 
FileWriter fr = new FileWriter(f,true); 
BufferedWriter bw = new BufferedWriter(fr); 
PrintWriter salida = new PrintWriter(bw); 
salida.println(“ahora escribo”); 
salida.close(); 
A.R.S.S. 33
Gestión de Ficheros 
„ Clases FileInputStream y 
FileOutputStream 
„ Están orientadas a manejar ficheros binarios, 
permitiendo tanto operaciones de lectura como de 
escritura. 
„ Pertenecen al package java.io 
„ Es necesario importarlas. 
„ FileInputStream: abre un fichero binario en 
modo lectura. 
„ FileOutputStream: abre un fichero binario en 
modo escritura. 
A.R.S.S. 34 
Gestión de Ficheros 
„ Clase FileInputStream 
„ Constructores 
„ FileInputStream(File fichero) 
„ FileInputStream(String nombreFichero) 
„ Métodos más relevantes 
„ void close(): cierra el flujo de lectura (cierra el 
fichero). 
„ int read(): lee un byte del fichero. 
„ int read(byte []buffer, int offset, int len): lee 
hasta len bytes y los almacena en buffer. 
„ int read(byte []buffer): lee hasta buffer.length 
bytes y los almacena en buffer. 
A.R.S.S. 35
Gestión de Ficheros 
„ Clase FileOutputStream 
„ Constructores 
„ FileOutputStream(File fichero) 
„ FileOutputStream(String nombreFichero) 
„ FileOutputStream(String nombreFichero, boolean 
flagAppend) 
„ Métodos más relevantes 
„ void close(): cierra el flujo de escritura (cierra el 
fichero). 
„ void write(int b): escribe un byte en el fichero. 
„ void write(byte []buffer, int offset, int len): escribe len 
bytes de buffer en el fichero (comenzando en la posición 
offset). 
„ void write(byte []buffer): escribe buffer en el fichero. 
A.R.S.S. 36 
Gestión de Ficheros 
„ Clases DataInputStream y 
DataOutputStream 
„ Escriben y leen datos directamente en los 
formatos propios de Java. Los datos son 
independientes de la plataforma. 
„ Pertenecen al package java.io 
„ Es necesario importarlas. 
A.R.S.S. 37
Gestión de Ficheros 
„ Clase DataInputStream 
„ Constructores 
„ DataInputStream(InputStream entrada) 
„ Métodos más relevantes 
„ void close(): cierra el flujo de lectura. 
„ int read(byte []buffer, int offset, int len): lee hasta len 
bytes y los almacena en buffer. 
„ int read(byte []buffer): lee hasta buffer.length bytes y 
los almacena en buffer. 
„ byte readByte(): lee un byte del flujo. 
„ char readChar(): lee un tipo primitivo char del flujo. 
„ int readInt(): lee un tipo primitivo int del flujo. 
„ float readFloat(): lee un tipo primitivo float del flujo. 
A.R.S.S. 38 
Gestión de Ficheros 
„ Clase DataOutputStream 
„ Constructores 
„ DataOutputStream(OutputStream salida) 
„ Métodos más relevantes 
„ void close(): cierra el flujo de escritura. 
„ void write(int b): escribe un byte en el flujo. 
„ void write(byte [] buffer, int offset, int len): escribe len 
bytes del array buffer en el flujo. 
„ void writeByte(int b): escribe un byte en el flujo. 
„ void writeChar(char b): escribe un tipo char en el flujo. 
„ void writeInt(int b): escribe un tipo int del flujo. 
„ void writeFloat(float b): escribe un tipo float en el flujo. 
„ void flush(): limpia el flujo de escritura. 
A.R.S.S. 39

Recomendados

Programación 3: clases derivadas y polimorfismo por
Programación 3: clases derivadas y polimorfismoProgramación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismoAngel Vázquez Patiño
11.7K visualizações32 slides
Tipos de datos por
Tipos de datosTipos de datos
Tipos de datosomar_guerrero
370 visualizações54 slides
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos) por
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)Oscar V
747 visualizações9 slides
Aprendiendo objetos en c++ por
Aprendiendo objetos en c++Aprendiendo objetos en c++
Aprendiendo objetos en c++Aldo Hernán Zanabria Gálvez
481 visualizações23 slides
Programación 3: Clases y objetos en Java por
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaAngel Vázquez Patiño
7.4K visualizações24 slides
Guia de estudio OCP Java SE 7 Programmer por
Guia de estudio OCP Java SE 7 ProgrammerGuia de estudio OCP Java SE 7 Programmer
Guia de estudio OCP Java SE 7 ProgrammerOscar V
1.8K visualizações41 slides

Mais conteúdo relacionado

Mais procurados

Datos Previos por
Datos PreviosDatos Previos
Datos PreviosLuiggi Inga Barboza
210 visualizações9 slides
OCP JSE 6 Programmer (1Z0-851) - Guia practica 1 de 7(Declaraciones) por
OCP JSE 6 Programmer (1Z0-851) - Guia practica 1 de 7(Declaraciones)OCP JSE 6 Programmer (1Z0-851) - Guia practica 1 de 7(Declaraciones)
OCP JSE 6 Programmer (1Z0-851) - Guia practica 1 de 7(Declaraciones)Oscar V
691 visualizações12 slides
Programación java1 por
Programación java1Programación java1
Programación java1jbersosa
141 visualizações30 slides
Ppt java por
Ppt javaPpt java
Ppt javaCarlos Elias Perez Fermin
1.3K visualizações15 slides
Fundamentos de Java por
Fundamentos de JavaFundamentos de Java
Fundamentos de Javamartosfre
852 visualizações45 slides
Intro Java por
Intro JavaIntro Java
Intro JavaStefano Salvatori
2.6K visualizações43 slides

Mais procurados(15)

OCP JSE 6 Programmer (1Z0-851) - Guia practica 1 de 7(Declaraciones) por Oscar V
OCP JSE 6 Programmer (1Z0-851) - Guia practica 1 de 7(Declaraciones)OCP JSE 6 Programmer (1Z0-851) - Guia practica 1 de 7(Declaraciones)
OCP JSE 6 Programmer (1Z0-851) - Guia practica 1 de 7(Declaraciones)
Oscar V691 visualizações
Programación java1 por jbersosa
Programación java1Programación java1
Programación java1
jbersosa141 visualizações
Fundamentos de Java por martosfre
Fundamentos de JavaFundamentos de Java
Fundamentos de Java
martosfre852 visualizações
Intro Java por Stefano Salvatori
Intro JavaIntro Java
Intro Java
Stefano Salvatori2.6K visualizações
Fundamentos de Java II por martosfre
Fundamentos de Java IIFundamentos de Java II
Fundamentos de Java II
martosfre658 visualizações
Manual c# 2 por Elizabeth Reyna
Manual c# 2Manual c# 2
Manual c# 2
Elizabeth Reyna321 visualizações
Manual de c# por Ana Ruth G H
Manual de c#Manual de c#
Manual de c#
Ana Ruth G H802 visualizações
Apendice general 4 terminos de programador por Wilson Delgado Ramos
Apendice general 4 terminos de programadorApendice general 4 terminos de programador
Apendice general 4 terminos de programador
Wilson Delgado Ramos247 visualizações
Constructor Y Destructor por Tecnologico
Constructor Y DestructorConstructor Y Destructor
Constructor Y Destructor
Tecnologico19.6K visualizações
JAVA- basico por Jose Antonio
JAVA- basicoJAVA- basico
JAVA- basico
Jose Antonio565 visualizações
Constructores en java(grupo 8) por Manuel Ch.
Constructores en java(grupo 8)Constructores en java(grupo 8)
Constructores en java(grupo 8)
Manuel Ch.15.1K visualizações
Poo 1 por Yordany Pirela
Poo 1Poo 1
Poo 1
Yordany Pirela1.4K visualizações

Similar a 2introduccionallenguajejava 141109171757-conversion-gate02

Presentacion Java por
Presentacion JavaPresentacion Java
Presentacion Javamaeusogo
10K visualizações50 slides
Datos previos por
Datos previosDatos previos
Datos previosLuiggi Inga Barboza
498 visualizações10 slides
Unidad o informatica por
Unidad o informaticaUnidad o informatica
Unidad o informaticaMarisa Torrecillas
396 visualizações14 slides
Programación Orientada a Objetos por
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a ObjetosRolando Steep Quezada Martinez
2.6K visualizações26 slides
Java por
JavaJava
Javamtemarialuisa
3.2K visualizações41 slides
manual de C# por
manual de C#manual de C#
manual de C#Brendita Martinez
176 visualizações90 slides

Similar a 2introduccionallenguajejava 141109171757-conversion-gate02(20)

Presentacion Java por maeusogo
Presentacion JavaPresentacion Java
Presentacion Java
maeusogo10K visualizações
Unidad o informatica por Marisa Torrecillas
Unidad o informaticaUnidad o informatica
Unidad o informatica
Marisa Torrecillas396 visualizações
Java por mtemarialuisa
JavaJava
Java
mtemarialuisa3.2K visualizações
manual de C# por Brendita Martinez
manual de C#manual de C#
manual de C#
Brendita Martinez176 visualizações
Lenguajes de programación orientados a objetos por Doris Aguagallo
Lenguajes de programación orientados a objetosLenguajes de programación orientados a objetos
Lenguajes de programación orientados a objetos
Doris Aguagallo394 visualizações
Visual basic por mellcv
Visual basicVisual basic
Visual basic
mellcv40 visualizações
Modulo6.ppt por ssuser73f459
Modulo6.pptModulo6.ppt
Modulo6.ppt
ssuser73f4592 visualizações
Clase 4 java 2011 por José Braganza
Clase 4 java 2011Clase 4 java 2011
Clase 4 java 2011
José Braganza378 visualizações
Trabajo tutorial de visual C++ por Bryangio2002
Trabajo tutorial de visual C++Trabajo tutorial de visual C++
Trabajo tutorial de visual C++
Bryangio200264 visualizações
Ap01 java por Jose Londero
Ap01 javaAp01 java
Ap01 java
Jose Londero82 visualizações
Curso netcsharp por Ana Delia Mendoza
Curso netcsharpCurso netcsharp
Curso netcsharp
Ana Delia Mendoza170 visualizações
OCP, JSE 6 Programmer (1z0-851) - Guia practica 3 de 7(ap-is) por Oscar V
OCP, JSE 6 Programmer (1z0-851) - Guia practica 3 de 7(ap-is)OCP, JSE 6 Programmer (1z0-851) - Guia practica 3 de 7(ap-is)
OCP, JSE 6 Programmer (1z0-851) - Guia practica 3 de 7(ap-is)
Oscar V2.2K visualizações
Semana9b Vbr por Carlos Luna
Semana9b VbrSemana9b Vbr
Semana9b Vbr
Carlos Luna522 visualizações
Unidad 2 ProgramacióN Orientada A Objetos (Repaso) por Sergio Sanchez
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Sergio Sanchez3.4K visualizações
Contructores en java(grupo 8) por Manuel Ch.
Contructores en java(grupo 8)Contructores en java(grupo 8)
Contructores en java(grupo 8)
Manuel Ch.4.3K visualizações
Csharp por cecilioaq
CsharpCsharp
Csharp
cecilioaq1.4K visualizações

Mais de Krizztiina Pacheko

Como insertar un video en eclipse por
Como insertar un video en eclipse Como insertar un video en eclipse
Como insertar un video en eclipse Krizztiina Pacheko
1.5K visualizações9 slides
Programa icono por
Programa icono Programa icono
Programa icono Krizztiina Pacheko
187 visualizações10 slides
Programaimagen ppptx por
Programaimagen ppptxProgramaimagen ppptx
Programaimagen ppptxKrizztiina Pacheko
184 visualizações13 slides
Programa14a pptx pachecov por
Programa14a pptx pachecovPrograma14a pptx pachecov
Programa14a pptx pachecovKrizztiina Pacheko
146 visualizações17 slides
Programa13 pacheco por
Programa13 pachecoPrograma13 pacheco
Programa13 pachecoKrizztiina Pacheko
155 visualizações13 slides
Programa10 por
Programa10Programa10
Programa10Krizztiina Pacheko
194 visualizações4 slides

Mais de Krizztiina Pacheko(20)

Como insertar un video en eclipse por Krizztiina Pacheko
Como insertar un video en eclipse Como insertar un video en eclipse
Como insertar un video en eclipse
Krizztiina Pacheko1.5K visualizações
Programa icono por Krizztiina Pacheko
Programa icono Programa icono
Programa icono
Krizztiina Pacheko187 visualizações
Programaimagen ppptx por Krizztiina Pacheko
Programaimagen ppptxProgramaimagen ppptx
Programaimagen ppptx
Krizztiina Pacheko184 visualizações
Programa14a pptx pachecov por Krizztiina Pacheko
Programa14a pptx pachecovPrograma14a pptx pachecov
Programa14a pptx pachecov
Krizztiina Pacheko146 visualizações
Programa13 pacheco por Krizztiina Pacheko
Programa13 pachecoPrograma13 pacheco
Programa13 pacheco
Krizztiina Pacheko155 visualizações
Programa9 pachecoa por Krizztiina Pacheko
Programa9 pachecoaPrograma9 pachecoa
Programa9 pachecoa
Krizztiina Pacheko162 visualizações
Programa8 pacheco por Krizztiina Pacheko
Programa8 pachecoPrograma8 pacheco
Programa8 pacheco
Krizztiina Pacheko210 visualizações
Programaimagen ppptx por Krizztiina Pacheko
Programaimagen ppptxProgramaimagen ppptx
Programaimagen ppptx
Krizztiina Pacheko195 visualizações
Programa14a pptx pachecov por Krizztiina Pacheko
Programa14a pptx pachecovPrograma14a pptx pachecov
Programa14a pptx pachecov
Krizztiina Pacheko185 visualizações
Programa13 pacheco por Krizztiina Pacheko
Programa13 pachecoPrograma13 pacheco
Programa13 pacheco
Krizztiina Pacheko154 visualizações
Programa9 pachecoa por Krizztiina Pacheko
Programa9 pachecoaPrograma9 pachecoa
Programa9 pachecoa
Krizztiina Pacheko204 visualizações
Programa8 pacheco por Krizztiina Pacheko
Programa8 pachecoPrograma8 pacheco
Programa8 pacheco
Krizztiina Pacheko179 visualizações
Programa5 pptxpacheco por Krizztiina Pacheko
Programa5 pptxpachecoPrograma5 pptxpacheco
Programa5 pptxpacheco
Krizztiina Pacheko188 visualizações
Programa 3 pptx_pacheco por Krizztiina Pacheko
Programa 3 pptx_pachecoPrograma 3 pptx_pacheco
Programa 3 pptx_pacheco
Krizztiina Pacheko142 visualizações
Programa 3 pptx_pacheco por Krizztiina Pacheko
Programa 3 pptx_pachecoPrograma 3 pptx_pacheco
Programa 3 pptx_pacheco
Krizztiina Pacheko151 visualizações

Último

Contenidos y PDA 6° Grado.docx por
Contenidos y PDA 6° Grado.docxContenidos y PDA 6° Grado.docx
Contenidos y PDA 6° Grado.docxNorberto Millán Muñoz
61 visualizações19 slides
Diploma.pdf por
Diploma.pdfDiploma.pdf
Diploma.pdfValdezsalvadorMayleM
23 visualizações1 slide
CONVERSACIONES SAN ESTEBAN 23-24 por
CONVERSACIONES SAN ESTEBAN 23-24CONVERSACIONES SAN ESTEBAN 23-24
CONVERSACIONES SAN ESTEBAN 23-24San Esteban Comunicación Dominicos de Salamanca
168 visualizações2 slides
Ác. nucleicos 2023.pdf por
Ác. nucleicos 2023.pdfÁc. nucleicos 2023.pdf
Ác. nucleicos 2023.pdfIES Vicent Andres Estelles
31 visualizações56 slides
Unicómic 25 años: líneas de investigación para la Didáctica de la Lengua y la... por
Unicómic 25 años: líneas de investigación para la Didáctica de la Lengua y la...Unicómic 25 años: líneas de investigación para la Didáctica de la Lengua y la...
Unicómic 25 años: líneas de investigación para la Didáctica de la Lengua y la...IGNACIO BALLESTER PARDO
22 visualizações42 slides
Norma de Evaluacion de Educacion Secundaria LSB-2023 Ccesa007.pdf por
Norma de Evaluacion de  Educacion Secundaria LSB-2023  Ccesa007.pdfNorma de Evaluacion de  Educacion Secundaria LSB-2023  Ccesa007.pdf
Norma de Evaluacion de Educacion Secundaria LSB-2023 Ccesa007.pdfDemetrio Ccesa Rayme
247 visualizações5 slides

Último(20)

Unicómic 25 años: líneas de investigación para la Didáctica de la Lengua y la... por IGNACIO BALLESTER PARDO
Unicómic 25 años: líneas de investigación para la Didáctica de la Lengua y la...Unicómic 25 años: líneas de investigación para la Didáctica de la Lengua y la...
Unicómic 25 años: líneas de investigación para la Didáctica de la Lengua y la...
IGNACIO BALLESTER PARDO22 visualizações
Norma de Evaluacion de Educacion Secundaria LSB-2023 Ccesa007.pdf por Demetrio Ccesa Rayme
Norma de Evaluacion de  Educacion Secundaria LSB-2023  Ccesa007.pdfNorma de Evaluacion de  Educacion Secundaria LSB-2023  Ccesa007.pdf
Norma de Evaluacion de Educacion Secundaria LSB-2023 Ccesa007.pdf
Demetrio Ccesa Rayme247 visualizações
DESERCIÓN ESCOLAR.pptx por recwebleta
DESERCIÓN ESCOLAR.pptxDESERCIÓN ESCOLAR.pptx
DESERCIÓN ESCOLAR.pptx
recwebleta49 visualizações
Infografia María Fuenmayor S _20231126_070624_0000.pdf por mariafuenmayor20
Infografia María Fuenmayor S _20231126_070624_0000.pdfInfografia María Fuenmayor S _20231126_070624_0000.pdf
Infografia María Fuenmayor S _20231126_070624_0000.pdf
mariafuenmayor2029 visualizações
S1_CPL.pdf por Conecta13
S1_CPL.pdfS1_CPL.pdf
S1_CPL.pdf
Conecta1347 visualizações
receta.pdf por carmenhuallpa45
receta.pdfreceta.pdf
receta.pdf
carmenhuallpa45138 visualizações
0 - Organología - Presentación.pptx por VICENTEJIMENEZAYALA
0 - Organología - Presentación.pptx0 - Organología - Presentación.pptx
0 - Organología - Presentación.pptx
VICENTEJIMENEZAYALA122 visualizações
Muestra Anual de Literatura Clásica y Latín.pptx por María Roxana
Muestra Anual de Literatura Clásica y Latín.pptxMuestra Anual de Literatura Clásica y Latín.pptx
Muestra Anual de Literatura Clásica y Latín.pptx
María Roxana108 visualizações
Mujeres privadas de libertad en Bolivia 2022 por LuisFernando672460
Mujeres privadas de libertad en Bolivia 2022Mujeres privadas de libertad en Bolivia 2022
Mujeres privadas de libertad en Bolivia 2022
LuisFernando672460110 visualizações
Recreos musicales.pdf por arribaletur
Recreos musicales.pdfRecreos musicales.pdf
Recreos musicales.pdf
arribaletur143 visualizações
Elementos del proceso de comunicación.pptx por NohemiCastillo14
Elementos del proceso de comunicación.pptxElementos del proceso de comunicación.pptx
Elementos del proceso de comunicación.pptx
NohemiCastillo1487 visualizações
2324_s3_Orientaciones_Tercera_Sesion_Preescolar_Primaria_Secundaria.pdf por Norberto Millán Muñoz
2324_s3_Orientaciones_Tercera_Sesion_Preescolar_Primaria_Secundaria.pdf2324_s3_Orientaciones_Tercera_Sesion_Preescolar_Primaria_Secundaria.pdf
2324_s3_Orientaciones_Tercera_Sesion_Preescolar_Primaria_Secundaria.pdf
Norberto Millán Muñoz202 visualizações
5°_GRADO_-_ACTIVIDAD_DEL_22_DE_NOVIEMBRE.doc por josetejada220380
5°_GRADO_-_ACTIVIDAD_DEL_22_DE_NOVIEMBRE.doc5°_GRADO_-_ACTIVIDAD_DEL_22_DE_NOVIEMBRE.doc
5°_GRADO_-_ACTIVIDAD_DEL_22_DE_NOVIEMBRE.doc
josetejada220380122 visualizações

2introduccionallenguajejava 141109171757-conversion-gate02

  • 1. Introducción al lenguaje Java Conceptos Básicos „ Comentarios „ Identificadores „ Palabras Clave y Reservadas „ Literales „ Operadores „ Separadores // comentarios para una sola línea /* comentarios de una o más líneas */ /** comentario de documentación, de una o más líneas */ Identificador identi_ficador Identi_ficador _identificador $identificador abstract continue for boolean default goto null …………. cast future generic ……. Ejemplo 3.14, 2e12 'x', t, u0234 Tipo Reales Caracteres Tipo Ejemplo Enteros 21, 0xDC Booleanos true, false Cadenas "Esto es 1 cadena" *= /= %= += -= < > <= >= == != ++ -- * / % etc.. ()- paréntesis {} – llaves [] – corchetes ; - punto y coma , - coma . - punto A.R.S.S. 1
  • 2. Objetos y Tipos de Datos „ OBJETOS „ TIPOS DE DATOS SIMPLES Objeto = Conjunto de variables y funciones relacionadas con esas variables • Encapsulamiento • Herencia Tipo Descripción Tamaño Clase equivalente boolean Valor lógico 1 bit Boolean char Carácter 16 bit Character byte Entero muy pequeño 8 bit short Entero pequeño 16 bit int Entero normal 32 bit Integer long Entero grande 64 bit Long float Número real de precisión simple 32 bit Float double Número real de doble precisión 64 bit Double void Tipo vacío A.R.S.S. 2 Clases: Definición y Tipos “Una clase es una agrupación de datos (variables o campos) y de funciones (métodos) que operan sobre esos datos.” „ abstract : Una clase abstract tiene al menos un método abstracto. Una clase abstracta no se instancia, sino que se utiliza como clase base para la herencia. „ final : Una clase final se declara como la clase que termina una cadena de herencia. No se puede heredar de una clase final. „ public : Las clases public son accesibles desde otras clases, bien sea directamente o por herencia. Son accesibles dentro del mismo paquete en el que se han declarado. Para acceder desde otros paquetes primero deben ser importadas. A.R.S.S. 3
  • 3. Clases: Definición y Tipos [abstract|final|public] class NombreClase [extends NombreSuperClase] [implements NombreInterface] { // cuerpo de la clase } „ En Java todas las clases tienen una superclase, que se especifica mediante la palabra clave extends. Si no se especifica una superclase, se asume que se hereda de la clase Object. „ En Java sólo se puede derivar de una clase. Para simular la herencia múltiple se deben utilizar interfaces, mediante la palabra clase implements. „ Una interface es un conjunto de declaraciones de funciones. Si una clase implementa una interface, debe definir todas sus funciones. Una clase puede implementar más de una interface. „ En un fichero se pueden definir varias clases, pero sólo una de ellas puede ser public. El fichero se debe llamar como la clase public con extensión .java A.R.S.S. 4 Variables Miembro „ Variables miembro de objeto „ Cada objeto que se crea tiene su propia copia de las variables miembro. „ Pueden ir precedidas en su declaración por uno de los modificadores de acceso: public, private, protected. „ Variables miembro de clase „ Tienen el mismo valor para todos los objetos creados de la clase. „ Se crean anteponiendo la palabra static a su declaración. „ Variables finales „ Una variable de un tipo primitivo declarada como final no puede cambiar su valor durante la ejecución del programa. „ Puede ser considerada como una constante. A.R.S.S. 5
  • 4. Métodos: Definición y Tipos [private |protected|public] [static] [abstract] [final] [native ] [synchronized] TipoDevuelto NombreMétodo ( [tipo1 nombre1[, tipo2 nombre2 ]…] ) [throws excepción1 [,excepción2]… ] Dentro de los métodos pueden incluirse: · Declaración de variables locales Tipo NombreVariable [= Valor]; · Asignaciones a variables Variable = Constante | Expresión ; · Operaciones matemáticas · Llamados a otros métodos: · dentro de la clase Nombre_del_Método(parámetros) · de instancia, de otras clases · de clase, de cualquier clase · Estructuras de control · Excepciones Nombre_del_Objeto<punto>Nombre_del_Método(parámetros) Nombre_de_la_Clase<punto>Nombre_del_Método(parámetros) A.R.S.S. 6 Control de Flujo Sentencias de Salto Sentencias de Bucle if/else if( Boolean ) { sentencias; } else { sentencias; } Switch switch( expr1 ) { case expr2: sentencias; break; case expr3: sentencias; break; default: sentencias; break; } Bucle for for( expr1 inicio; expr2 test; expr3 incremento ) { sentencias; } Bucle while while( Boolean ) { sentencias; } Bucle do/while do { sentencias; } while( Boolean ); try-catch-finally try { sentencias; } catch( Exception ) { sentencias; } finally {sentencias;} Excepciones break [etiqueta] continue [etiqueta] return expr; etiqueta: sentencia; Control General del Flujo A.R.S.S. 7
  • 5. Package e Import La palabra clave package permite agrupar clases e interfaces. Los nombres de los paquetes son palabras separadas por puntos y se almacenan en directorios que coinciden con esos nombres. Los packages se utilizan con las finalidades siguientes: 1. Para agrupar clases relacionadas. 2. Para evitar conflictos de nombres (se recuerda que el dominio de nombres de Java es la Internet). En caso de conflicto de nombres entre clases importadas, el compilador obliga a cualificar en el código los nombres de dichas clases con el nombre del package. 3. Para ayudar en el control de la accesibilidad de clases y miembros. INCLUSIÓN DE UNA CLASE EN UN PACKAGE : package pkgName; Existen dos formas de utilizar import: para una clase y para todo un package: import es.ceit.jgjalon.infor2.ordenar.QuickSort.class; import es.ceit.jgjalon.infor2.ordenar.*; que deberían estar en el directorio: classpathesceitjgjaloninfor2ordenar java.applet java.awt java.io java.lang java.net java.util Algunos “packages” de java : A.R.S.S. 8 Entrada y Salida Estándar en Java En Java, la entrada desde teclado y la salida a pantalla están reguladas a traves de la clase System. Esta clase pertenece al package java.lang System.in: Objeto de la clase InputStream preparado para recibir datos desde la entrada estándar del sistema (habitualmente el teclado). System.out: Objeto de la clase PrintStream que imprimirá los datos en la salida estándar del sistema (normalmente asociado con la pantalla). System.out.println("Hola, Mundo!"); System.out.println(57); double numeroPI = 3.141592654; System.out.println(numeroPI); String hola = new String("Hola"); System.out.println(hola); System.out.println("Hola, Mundo! " + numeroPI); try { c=(char)System.in.read(); } catch(java.io.IOException ioex) { } InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); String frase = br2.readLine(); A.R.S.S. 9
  • 6. Compilación y Ejecución Herramienta para compilar : JAVAC.EXE PATH DEL SISTEMA : Herramienta para ejecutar : JAVA.EXE Ejemplo de compilación y ejecución : 1) JAVAC MiPrograma.java Æ PRODUCE MiPrograma.class 2) JAVA MiPrograma Ejemplo de compilación y ejecución ( con CLASSPATH ) : 1) JAVAC -classpath .;c:MisLibreriasOtras.jar MiPrograma.java Æ PRODUCE MiPrograma.class 2) JAVA -classpath .;c:MisLibreriasOtras.jar MiPrograma La ejecución siempre comienza por el programa o método main(). !!!! A.R.S.S. 10 Mi primer ejemplo „ HolaMundo public class HolaMundo { // no tengo ninguna variable miembro private void ImprimeMensaje(String mensaje) { System.out.println(mensaje); } // ImprimeMensaje public static void main( String args[] ) { HolaMundo hola = new HolaMundo(); hola.ImprimeMensaje(“Hola Mundo”); } // main } // HolaMundo A.R.S.S. 11
  • 7. Arrays Estáticos „ Se pueden declarar arrays de cualquier tipo: „ char [] x; // array de caracteres „ MiClase [] y; // array de objetos MiClase „ int [][] tabla; // array de arrays de enteros „ Existen dos formas de crear arrays: „ Crear un array vacío: int [] lista = new int[50]; „ Crear un array con sus valores iniciales: int [] n = {1,5,7,10} „ En Java un array es un objeto.Tiene la variable miembro length, que indica el número de elementos del array. „ int [][]a = new int[10][3]; a.length Æ 10 a[0].length Æ 3 „ Se accede a los elementos de un array con los corchetes [] y un índice que varía de 0 a length-1. A.R.S.S. 12 Arrays Estáticos „ Los elementos de un array se inicializan al valor por defecto del tipo correspondiente. „ Como todos los objetos, los arrays se pasan como argumento a los métodos por referencia. „ No se pueden crear arrays estáticos en tiempo de compilación: „ int lista[50]; // generará un error en tiempo de compilación „ No se puede rellenar un array sin declarar el tamaño con el operador new: „ int []lista; for( int i=0; i < 9; i++ ) lista[i] = i; // generará un error en tiempo de compilación A.R.S.S. 13
  • 8. Arrays Dinámicos: Clase Vector Pertenece al paquete java.util, por lo que es necesario importarla „ Constructores „ Vector(); „ Vector( int capacitty ); „ Tamaño „ int capacity() „ void ensureCapacity(int minCapacity) „ void setSize(int newSize) „ int size() „ Cambio de contenido „ Object set(int index, Object element) „ void setElementAt(Object obj, int index) „ Inserción „ void add(int index, Object element) „ boolean add(Object o) „ void addElement(Object obj) „ Borrado „ Consulta „ void insertElementAt(Object obj, int index) „ boolean remove(Object o) „ void removeAllElements() „ boolean removeElement(Object obj) „ void removeElementAt(int index) „ void clear() „ Object remove(int index) „ boolean contains(Object elem) „ Object elementAt(int index) „ Object firstElement() „ Object get(int index) „ int indexOf(Object elem) „ int indexOf(Object elem, int index) „ boolean isEmpty() „ Object lastElement() „ int lastIndexOf(Object elem) „ int lastIndexOf(Object elem, int index) A.R.S.S. 14 Tratamiento de Texto: Clase String Pertenece al paquete java.lang, por lo que no es necesario importarla „ Constructores „ String(); „ String( String str ); „ String( char val[] ); „ String( char val[],int offset,int count ); „ Funciones de Conversión „ String valueOf( boolean b ); „ String valueOf( int i ); „ String valueOf( long l ); „ String valueOf( float f ); „ String valueOf( double d ); „ String valueOf( Object obj ); „ String valueOf( char data[] ); „ Funciones Básicas „ int length(); „ char charAt( int indice); „ Funciones de Comparación de Strings „ boolean equals( Object obj ); „ boolean equalsIgnoreCase( Object obj ); „ int compareTo( String str2 ); „ int CompareToIgnoreCase(String str2); „ Convertir Cadenas a Números (Integer, Double, Float, y Long) „ Método valueOf() de Integer, Double, Float y „ String valueOf( char data[],int offset,int count ); „ String copyValueOf( char data[] ); Long „ String copyValueOf( char data[],int offset,int count ); String piStr = "3.14159"; Float pi = Float.valueOf(piStr); float fp1 = pi.floatValue(); float fpi2 = Float.parseFloat(piStr); A.R.S.S. 15
  • 9. Tratamiento de Texto: Clase String „ Funciones de comparación de Subcadenas „ boolean regionMatches( int thisoffset,String s2,int s2offset,int len ); „ boolean regionMatch( boolean ignoreCase,int thisoffset,String s2, int s2offset,int len); „ boolean startsWith( String prefix ); „ boolean endsWith( String suffix ); „ int indexOf( int ch ); „ int lastIndexOf( int ch ); „ int indexOf( String str ); „ int lastIndexOf( String str ); „ boolean startsWith( String prefix,int offset ); „ int indexOf( int ch,int fromindex ); „ int lastIndexOf( int ch,int fromindex ); „ int indexOf( String str,int fromindex ); „ int lastIndexOf( String str,int fromindex ); „ Funciones para obtener nuevas cadenas „ String substring( int beginindex ); „ String concat( String str ); „ String toLowerCase(); „ String toString(); „ Funciones para obtener arrays „ String substring( int beginindex,int endindex ); „ String replace( char oldchar,char newchar ); „ String toUpperCase(); „ void getChars( int srcBegin,int srcEnd,char dst[], int dstBegin ); „ byte [] getBytes(); „ char [] toCharArray(); A.R.S.S. 16 Gestión de Ficheros „ Clase File „ La clase File es una representación abstracta de ficheros y directorios. „ Pertenece al package java.io „ Es necesario importarla si se quiere utilizar A.R.S.S. 17
  • 10. Gestión de Ficheros „ Clase File „ Constructores „ File(String nombrefichero) „ File(String padre, String hijo) „ File(File padre, String hijo) „ Ejemplos „ File f1 = new File("c:windowsnotepad.exe"); // La barra '' se escribe '' „ File f2 = new File("c:windows"); // Un directorio „ File f3 = new File(f2, "notepad.exe"); // Es igual a f1 A.R.S.S. 18 Gestión de Ficheros „ Clase File „ Métodos más relevantes „ boolean canRead(): true si puede leer. „ boolean canWrite(): true si puede escribir. „ boolean exists(): true si el fichero existe. „ boolean isFile(): true si es un fichero. „ boolean isDirectory(): true si es un directorio. „ long length(): tamaño del fichero en bytes. „ long lastModified(): fecha de la última modificación. „ String [] list(): lista de ficheros y subdirectorios del directorio. „ File [] listFiles(): lista de ficheros del directorio. A.R.S.S. 19
  • 11. Gestión de Ficheros „ Clase File „ Métodos más relevantes „ boolean createNewFile(): crea un fichero vacío. „ boolean mkdir(): crea un directorio. „ boolean delete(): borra el fichero o directorio. „ String getPath(): retorna el path con el que se creó el objeto File. „ String getName(): retorna el nombre del fichero. „ String getAbsolutePath(): retorna el path absoluto. „ String getParent(): retorna el directorio padre especificado en la creación del objeto File. A.R.S.S. 20 Gestión de Ficheros „ Jerarquía de E/S de manejo de bytes Jerarquía de clases InputStream Jerarquía de clases OutputStream -Métodos básicos: read() y write() A.R.S.S. 21
  • 12. Gestión de Ficheros „ Jerarquía de E/S de manejo de caracteres Jerarquía de clases Reader Jerarquía de clases Writer A.R.S.S. 22 Gestión de Ficheros „ Clases InputStreamReader y OutputStreamWriter „ Clases puente que permiten convertir flujos que manejan bytes en flujos que manejan caracteres. „ Pertenecen al package java.io „ Es necesario importarlas „ InputStreamReader: lee bytes y los transforma en caracteres. „ OutputStreamWriter: los caracteres escritos se transforman previamente en bytes. A.R.S.S. 23
  • 13. Gestión de Ficheros „ Clases FileReader y FileWriter „ Están orientadas a manejar ficheros de texto, permitiendo tanto operaciones de lectura como de escritura. „ Pertenecen al package java.io „ Es necesario importarlas „ FileReader: abre un fichero de texto en modo lectura. „ FileWriter: abre un fichero de texto en modo escritura. A.R.S.S. 24 Gestión de Ficheros „ Clases FileReader y FileWriter „ Constructores de FileReader „ FileReader(String nombreFichero) „ FileReader(File fichero) „ Constructores de FileWriter „ FileWriter(String nombreFichero) „ FileWriter(String nombreFichero, boolean flagAppend) „ FileWriter(File fichero) A.R.S.S. 25
  • 14. Gestión de Ficheros „ Clases BufferedReader y BufferedWriter „ Están orientadas a la gestión eficiente de flujos de texto. „ Mantienen un buffer de lectura/escritura que permite optimizar el número de accesos a fichero, haciéndolos muy útiles en operaciones de entrada/salida. „ Pertenecen al package java.io „ Es necesario importarlas. A.R.S.S. 26 Gestión de Ficheros „ Clase BufferedReader „ Constructores „ BufferedReader(Reader fichero) „ BufferedReader(Reader fichero, int tamBuffer) „ Métodos más relevantes „ void close(): cierra el flujo de lectura (cierra el fichero). „ int read(): lee un carácter del fichero. „ int read(char []buffer, int offset, int len): lee len caracteres y los almacena en buffer. „ String readLine(): lee una línea del fichero. A.R.S.S. 27
  • 15. Gestión de Ficheros „ Clase BufferedWriter „ Constructores „ BufferedWriter(Writer fichero) „ BufferedWriter(Writer fichero, int tamBuffer) „ Métodos más relevantes „ void close(): cierra el flujo de escritura (cierra el fichero). „ void flush(): vuelca el contenido del buffer al fichero. „ void newLine(): escribe un salto de línea en el fichero. A.R.S.S. 28 Gestión de Ficheros „ Clase BufferedWriter „ Métodos más relevantes „ void write(int car): escribe un carácter en el fichero. „ void write(char []buffer, int offset, int len): escribe una porción de un array de caracteres en el fichero. „ void write(String cadena, int offset, int len): escribe una porción de una cadena de caracteres en el fichero. A.R.S.S. 29
  • 16. Gestión de Ficheros „ Clase PrintWriter „ Se utiliza para hacer una gestión abstracta durante la gestión de flujos de texto de salida. „ Se utiliza para imprimir representaciones formateadas de diferentes tipos de objetos en un flujo de texto de salida. „ Pertenece al package java.io „ Es necesario importarla. A.R.S.S. 30 Gestión de Ficheros „ Clase PrintWriter „ Constructores „ PrintWriter(Writer salida) „ PrintWriter(Writer salida, boolean flagAutoFlush) „ PrintWriter(OutputSream salida) „ PrintWriter(OutputStream salida, boolean flagAutoFlush) „ Métodos más relevantes „ void close(): cierra el flujo de escritura (cierra el fichero). „ void flush(): vuelca el contenido del buffer al fichero. „ void print(objeto): escribe el objeto (int, String, …) en el fichero. „ void println(objeto): escribe el objeto (int, String, …) y un salto de línea en el fichero. A.R.S.S. 31
  • 17. Gestión de Ficheros „ Lectura de disco FileReader fr = new FileReader("archivo.txt") File f = new File("archivo.txt"); FileReader fr = new FileReader(f); BufferedReader entrada = new BufferedReader(fr); String st=entrada.readLine(); A.R.S.S. 32 Gestión de Ficheros „ Escritura en disco FileWriter fw = new FileWriter("escribeme.txt") fw= new FileWriter("escribeme.txt", true) File f = new File(“escribeme.txt"); FileWriter fr = new FileWriter(f); FileWriter fr = new FileWriter(f,true); BufferedWriter bw = new BufferedWriter(fr); PrintWriter salida = new PrintWriter(bw); salida.println(“ahora escribo”); salida.close(); A.R.S.S. 33
  • 18. Gestión de Ficheros „ Clases FileInputStream y FileOutputStream „ Están orientadas a manejar ficheros binarios, permitiendo tanto operaciones de lectura como de escritura. „ Pertenecen al package java.io „ Es necesario importarlas. „ FileInputStream: abre un fichero binario en modo lectura. „ FileOutputStream: abre un fichero binario en modo escritura. A.R.S.S. 34 Gestión de Ficheros „ Clase FileInputStream „ Constructores „ FileInputStream(File fichero) „ FileInputStream(String nombreFichero) „ Métodos más relevantes „ void close(): cierra el flujo de lectura (cierra el fichero). „ int read(): lee un byte del fichero. „ int read(byte []buffer, int offset, int len): lee hasta len bytes y los almacena en buffer. „ int read(byte []buffer): lee hasta buffer.length bytes y los almacena en buffer. A.R.S.S. 35
  • 19. Gestión de Ficheros „ Clase FileOutputStream „ Constructores „ FileOutputStream(File fichero) „ FileOutputStream(String nombreFichero) „ FileOutputStream(String nombreFichero, boolean flagAppend) „ Métodos más relevantes „ void close(): cierra el flujo de escritura (cierra el fichero). „ void write(int b): escribe un byte en el fichero. „ void write(byte []buffer, int offset, int len): escribe len bytes de buffer en el fichero (comenzando en la posición offset). „ void write(byte []buffer): escribe buffer en el fichero. A.R.S.S. 36 Gestión de Ficheros „ Clases DataInputStream y DataOutputStream „ Escriben y leen datos directamente en los formatos propios de Java. Los datos son independientes de la plataforma. „ Pertenecen al package java.io „ Es necesario importarlas. A.R.S.S. 37
  • 20. Gestión de Ficheros „ Clase DataInputStream „ Constructores „ DataInputStream(InputStream entrada) „ Métodos más relevantes „ void close(): cierra el flujo de lectura. „ int read(byte []buffer, int offset, int len): lee hasta len bytes y los almacena en buffer. „ int read(byte []buffer): lee hasta buffer.length bytes y los almacena en buffer. „ byte readByte(): lee un byte del flujo. „ char readChar(): lee un tipo primitivo char del flujo. „ int readInt(): lee un tipo primitivo int del flujo. „ float readFloat(): lee un tipo primitivo float del flujo. A.R.S.S. 38 Gestión de Ficheros „ Clase DataOutputStream „ Constructores „ DataOutputStream(OutputStream salida) „ Métodos más relevantes „ void close(): cierra el flujo de escritura. „ void write(int b): escribe un byte en el flujo. „ void write(byte [] buffer, int offset, int len): escribe len bytes del array buffer en el flujo. „ void writeByte(int b): escribe un byte en el flujo. „ void writeChar(char b): escribe un tipo char en el flujo. „ void writeInt(int b): escribe un tipo int del flujo. „ void writeFloat(float b): escribe un tipo float en el flujo. „ void flush(): limpia el flujo de escritura. A.R.S.S. 39