SlideShare una empresa de Scribd logo
1 de 8
Descargar para leer sin conexión
Oracle Certified Professional, Java SE 6 Programmer (1Z0-851)   - Guía practica 3 de 7.


Esta guía práctica cubre la siguiente sección del examen:

Sección 3: Uso de APIs en JSE.

3.1.   Desarrollar código que use las wrapper clases de tipos primitivos (Tales
       como Boolean, Character, Double, Integer, etc.) y/o autoboxing y unboxing.
       Discutir las diferencias entre las clases String, StringBuilder y StringBuffer.


3.2.   Dado un escenario involucrar la navegación de archivos del sistema, leer de
       archivos, escribir a archivos o interactuar con el usuario, desarrollar la
       correcta solución usando las siguientes clases (Algunas veces en
       combinación), de java.io: BufferedReader, BufferedWriter, File, FileReader,
       FileWriter, PrintWriter, y Console


3.3.   Usar las APIs estándares de J2SE dentro del paquete java.text para
       formatear correctamente o parsear fechas, números y valores de montos
       para una especifica localización; y dado un escenario, determinar el
       apropiado metodo a utilizar si se desea usar la localización por defecto o una
       localización especifica. Describir el propósito y el uso de la clase
       java.util.Locale.


3.4.   Escribir código que use APIs estándares de J2SE dentro del paquete
       java.util y java.util.regex para formatear o parsear cadenas y streams.
       Para cadenas, escribir código que use las clases Pattern y Matcher y el
       metodo String.split.
       Reconocer y usar patrones de expresiones regulares para
       encontrar(Limitado a: .(punto), *(asterisco), +(más), ?, d, s, w, [], ()).
       Usar *, + y ? para especificar cantidades, y el operador paréntesis será
       utilizado únicamente como mecanismo de agrupación.
       Para streams, escribir código que use las clases Formatter y Scanner y los
       métodos PrintWriter.format/printf. Reconocer y usar parametros de
       formateo (limitado a: %b, %c, %d, %f, %s) para formatear cadenas.




Oscar Vásquez Flores (eoscarvf@gmail.com )
Oracle Certified Professional, Java SE 6 Programmer (1Z0-851)    - Guía practica 3 de 7.



3.1.    Desarrollar código que use las wrapper clases de tipos primitivos
        (Tales como Boolean, Character, Double, Integer, etc.) y/o
        autoboxing y unboxing.
        Discutir las diferencias entre las clases String, StringBuilder y
        StringBuffer.

❑ Los objetos String son inmutables (No se pueden modificar), pero las variables de
referencia a un objeto String no lo son.

❑ Si se crea un String nuevo sin ser asignado a alguna variable, este se perderá del
programa.

❑ Si se direcciona la referencia de un String a un nuevo String, el antiguo String puede
ser perdido.

❑ Los métodos de la clase String basan sus índices iniciando en cero, excepto el segundo
parámetro de substring().

❑ La clase String es final, sus métodos no se puede sobre escribir.

❑ Cuando la JVM encuentra un String literal, este se agregar al pool de String literal.


❑ String tiene un metodo length(); y los arrays tienen un atributo length.

❑ El API StringBuffer es lo mismo que el nuevo API StringBuilder, excepto que los
métodos de StringBuilder no son sincronizados para thread safety.

❑ Los métodos de StringBuilder deben correr mas rápidos que los métodos de
StringBuffer.

❑ Todos los siguiente puntos aplican a StringBuffer y StringBuilder:
     ❑ Ambos son mutables, ellos pueden cambiar sin tener que crear un objeto nuevo.
     ❑ Los métodos de StringBuffer actúan directo sobre el objeto que los invoca, y
       pueden cambiar al objeto, sin necesidad de una asignación explicita en la
       sentencia.
       ❑ equals() de StringBuffer() no esta sobre escrito, este no compara valores.

❑ Se debe recordar que una cadena de métodos se evalúan de izquierda a derecha.

❑ Los siguiente métodos de String son los mas importantes:
charAt(), concat(), equalsIgnoreCase(), length(), replace(), substring(),
toLowerCase(), toString(), toUpperCase() y trim().

❑ Los siguiente métodos de StringBuffer son los mas importantes:
append(), delete(), insert(), reverse() y toString()




Oscar Vásquez Flores (eoscarvf@gmail.com )
Oracle Certified Professional, Java SE 6 Programmer (1Z0-851)    - Guía practica 3 de 7.



3.2.    Dado un escenario involucrar la navegación de archivos del sistema,
        leer de archivos, escribir a archivos o interactuar con el usuario,
        desarrollar la correcta solución usando las siguientes clases
        (Algunas veces en combinación), de java.io: BufferedReader,
        BufferedWriter, File, FileReader, FileWriter, PrintWriter, y Console.

❑ Las clases importantes del paquete java.io son: File, FileReader, BufferedReader.
FileWriter, BufferedWriter, PrintWriter y Console.

❑ Un nuevo objeto File no significa que exista un nuevo archivo en el sistema de archivos.

❑ Un objeto File puede representar a un archivo o a un directorio.

❑ La clase File deja manejar (Crear, renombrar y eliminar) archivos y directorios.

❑ Los métodos createNewFile() y mkdir() crean entradas en el sistema de archivos.

❑ Las clases FileWriter y FileReader son de bajo nivel para I/O. Se puede usar estas para
escribir y leer archivos, pero ellas deberán ser utilizadas usualmente mediante clase
wrapper.

❑ Las clases del paquete java.io están diseñadas para ser encadenadas o usadas
mediante clases wrappers (Esto es un común uso del patrón de diseño Decorator)

❑ Es muy común usar una clase BufferedReader como wrapper de la clase FileReader y
BufferedWriter como wrapper de la clase FileWriter, para acceder a métodos de alto nivel,
los cuales son mas prácticos.

❑ PrintWriters can be used to wrap other Writers, but as of Java 5 they can be
built directly from Files or Strings.

❑ Desde Java 5, la clase PrintWriter tiene nuevos métodos: append(), format() y printf().

❑ Un objeto de la clase java.io.Console, le cual se puede obtener mediante
System.console(), permite capturar entradas desde la consola con echo o sin echo(echo
se refiere a mostrar en pantalla lo que se esta ingresando por teclado), en el caso de sin
echo puede ser para capturar algún valor secreto por ejemplo un Password, para esto se
puede usar el metodo console.readPassword().

3.3.    Usar las APIs estándares de J2SE dentro del paquete java.text para
        formatear correctamente o parsear fechas, números y valores de
        montos para una especifica localización; y dado un escenario,
        determinar el apropiado metodo a utilizar si se desea usar la
        localización por defecto o una localización especifica. Describir el
        propósito y el uso de la clase java.util.Locale.

❑ Las clases mas importante son:
java.util.Date, Su intención principal es representar fechas y tiempos.
java.util.Calendar, Es una clase abstracta que provee métodos que permiten trabajar con
fechas y tiempos.
java.text.DateFormat, Es una clase abstracta que permite el formateo de fecha/tiempo.
java.text.NumberFormat, Es una clase abstracta que permite el formateo de números.



Oscar Vásquez Flores (eoscarvf@gmail.com )
Oracle Certified Professional, Java SE 6 Programmer (1Z0-851)    - Guía practica 3 de 7.


java.util.Locale, Clase para especificar una localización (Idioma y País).

❑ La mayoría de métodos de la clase Date no están vigentes.

❑ Una fecha es almacenada como un long, el numero de milisegundos desde el 1 de
Enero de 1970.

❑ Date objects are go-betweens the Calendar and Locale classes.

❑ La clase Calendar provee con conjunto de métodos muy potentes para manipular
fechas y realizar tareas tales como obtener días de la semana o agregar una cantidad de
meses al año de una fecha.

❑ Se crea instancias de Calendar usando el metodo estático de factoría getInstance().

❑ Algunos metodo importantes de la clase Calendar
add(), permite agregar o substraer segundos, minutos, días, etc. a una fecha.
roll(), Similar a add(), pero no incrementa la parte grande de la fecha (Ejemplo: agregar
10 meses a una fecha que tiene como mes a Octubre la nueva fecha tendrá a Agosto
como nueva fecha pero no incrementara el año)

❑ Las instancias de DateFormat son creadas usando los métodos estáticos de factoría
getInstance() y getDateInstance().

❑ Existen diversos formatos “estilos” disponibles en la clase DateFormat.

❑ DateFormat styles can be applied against various Locales to create a wide
array of outputs for any given date.

❑ El metodo DateFormat.format() se usa para crear un String conteniendo la
fecha formateada.
Ejemplo:
DateFormat formatter = DateFormat.getInstante();
String dateStr=formatter.format(new Date());

❑ La clase Locale es usado en conjunto con DateFormat y NumberFormat.

❑ Objetos de tipo DateFormat o NumberFormat pueden ser construidos con un especifico
Locale el cual es inmutable.

❑ Ejemplo de la creación de Locale:
// Un locale genérico para el idioma Ingles.
  Locale locale1 = new Locale("en");

// Un locale para el idioma ingles en Canadá.
  Locale locale2 = new Locale("en", "CA");

// Un locale para el idioma ingles en USA,
// para Silicon Valley.
Locale locale3 = new Locale("en", "US", "SiliconValley");




Oscar Vásquez Flores (eoscarvf@gmail.com )
Oracle Certified Professional, Java SE 6 Programmer (1Z0-851)    - Guía practica 3 de 7.



3.4.   Escribir código que use APIs estándares de J2SE dentro del paquete
       java.util y java.util.regex para formatear o parsear cadenas y
       streams.
       Para cadenas, escribir código que use las clases Pattern y Matcher y
       el metodo String.split.
       Reconocer y usar patrones de expresiones regulares para
       encontrar(Limitado a: .(punto), *(asterisco), +(más), ?, d, s, w,
       [], ()).
       Usar *, + y ? para especificar cantidades, y el operador paréntesis
       será utilizado únicamente como mecanismo de agrupación.
       Para streams, escribir código que use las clases Formatter y Scanner
       y los métodos PrintWriter.format/printf. Reconocer y usar
       parametros de formateo (limitado a: %b, %c, %d, %f, %s) para
       formatear cadenas.

❑ regex significa expresiones regulares, los cuales son patrones usados para buscar
algunos datos dentro de algún dato largo.

❑ regex es un sub lenguaje que existe en Java y otros lenguajes, por Ejemplo Perl.

❑ regex deja buscar para patrones usando cadenas de caracteres o metacaracteres.
Metacaracteres permiten buscar de una forma mas abstracta por ejemplo “un digito” o “un
espacio en blanco”.

❑ Algunos Metacaracteres son:

d          Un digito [0-9]
s          Un espacio en blanco
            [ tnx0Bfr]
w          Un carácter [a-zA-Z_0-9]
.(punto)    Cualquier carácter


❑ Regex permite especificar cuantificadores, entonces es posible especificar situaciones
como: “Considerar 1 o más dígitos en una fila”.

❑ Algunos Cuantificadores son:
?           Uno o nada
*           Cero o varios
+           Uno o varios

❑ No se puede mesclar Metacaracteres y cadenas al menos que se usen caracteres de
escape. Por ejemplo String s=”d”.

❑ Las clases Pattern y Matcher de Java son muy potentes para las capacidades de
regex. Están en el paquete java.util.regex.

❑ Métodos importantes de Pattern
compile(), Compila la regex a un Pattern.

❑ Métodos importantes de Matcher
matches(), Intenta comparar la región entera otra vez con el pattern.



Oscar Vásquez Flores (eoscarvf@gmail.com )
Oracle Certified Professional, Java SE 6 Programmer (1Z0-851)    - Guía practica 3 de 7.


pattern(), Retorna el Pattern que fue interpretado por este Matcher.
find(), Intenta encontrar la siguiente secuencia que cumple con el pattern dentro de la
cadena original.
start(), Retorna el índice de inicio de una comparación previa.
group(), Retorna la secuencia que coincide con la comparación previa.

❑ Se puede usar la clase java.util.Scanner para hacer búsquedas simples de regex, pero
su intención principal es para usar tokens.

❑ Tokenizing es el proceso de dividir data delimitada en partes pequeñas.

❑ En tokenizing la data que se desea es llamada token y la cadena de separación de los
tokens se llama delimitador.

❑Tokenizing puede hacer con la clase Scanner o con el metodo String.split().

❑ Los delimitadores pueden ser caracteres simples como comas o expresiones complejas
regex.

❑ La clase Scanner permite navegar por los tokens mediante un loop, el cual permite
parar donde uno desee.
El delimitador por defecto es el espacio en blanco.

Ejemplo:
Lee cada una de las palabras de un archivo de texto.
File file = new File(fileName);
Scanner scanner=new Scanner(file);
while(scanner.hasNext()){
          System.out.println(scanner.next());
}
scanner.close();

Para entrada de datos enteros de la consola.
Scanner sc=new Scanner(System.in);
int i= sc=sc.nextInt();

Lee solo longs de un archivo de texto.
Scanner sc = new Scanner(fileName);
while(sc.hasNextLong()){
       long aLong=sc.nextLong();
}


❑ La clase Scanner permite que se tokenize Strings, streams o archivos.


❑ The String.split() method tokenizes the entire source data all at once, so
large amounts of data can be quite slow to process.
El metodo String.split() tokenizes.

❑ Desde Java 5, hay dos metodos que se pueden usar para formatear salidas a consola,
estos son format() y printf(). Estos son métodos de la clase PrintStream, una instancia de
esta clase es el out en System.out.

❑ La especificación de formatos generales, caracteres y números, tiene la siguiente
sintaxis:



Oscar Vásquez Flores (eoscarvf@gmail.com )
Oracle Certified Professional, Java SE 6 Programmer (1Z0-851)   - Guía practica 3 de 7.


%[argument_index$][flags][width][.precision]conversion

❑ El metodo format() y printf() son idénticos funcionalmente.

❑ Formatear data con printf() (o format()) se lleva a cabo utilizando cadenas de
formatos que están asociadas con argumentos primitivos o de cadena.

❑ El metodo format() permite mezclar literales dentro de la cadena de formato.

❑ Algunos valores para formatear cadenas:
      ❑ Flags:
       -                El resultado se
                        justificara a la izquierda.
       +                El resultado siempre
                        incluirá un signo
       0                El resultado usara al 0
                        para padded (Rellenar)
       ,                El resultado incluirá
                        especificación locale
       (                El resultado encerrara el
                        numero negativo en
                        paréntesis.

       ❑ Conversiones: b, c, d, f, y s
       b, B             Si el argumento es null
                        entonces el resultado es
                        “false”. Si el argumento
                        es boolean o Boolean
                        entonces el resultado es
                        generado por
                        String.valueOf(). En
                        cualquier otro caso el
                        resultado es “true”
       c, C             El resultado es un
                        carácter Unicode
       d,               El resultado es
                        formateado como entero
                        decimal.
       f                El resultado es
                        formateado como
                        numero decimal.
       js, S            Si el argumento es null
                        entonces el resultado es
                        “null”. Si el argumento
                        implementa
                        Formattable, entonces
                        se invoca a
                        argumento.formatTo.
                        En cualquier otro caso
                        el resultado se obtiene
                        por invocar a
                        argumento.toString().


❑ Si los caracteres de conversión no concuerdan con el tipo de argumento, se genera una
excepción.



Oscar Vásquez Flores (eoscarvf@gmail.com )
Oracle Certified Professional, Java SE 6 Programmer (1Z0-851)   - Guía practica 3 de 7.




❑ Índices de los argumentos.
Se pueden especificar según:
* Índice explicito, hace referencia a la posición del argumento, se inicia por 1$, un
argumento se puede referenciar más de una vez.
Ejemplo:
formatter.format("%4$s %3$s %2$s %1$s %4$s %3$s %2$s %1$s","a", "b", "c", "d");
//Salida: "d c b a d c b a"

* Índice ordinario, Se usa según el orden de los argumentos.
formatter.format("%s %s %s %s", "a", "b", "c", "d")
//Salida: "a b c d"




Oscar Vásquez Flores (eoscarvf@gmail.com )

Más contenido relacionado

La actualidad más candente

Fundamentos de Java / 15 consejos prácticos sobre Java que cambiarán la for...
Fundamentos de Java /   15 consejos prácticos sobre Java que cambiarán la for...Fundamentos de Java /   15 consejos prácticos sobre Java que cambiarán la for...
Fundamentos de Java / 15 consejos prácticos sobre Java que cambiarán la for...Eudris Cabrera
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje javaMargarita Romero
 
Framework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetosFramework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetosAntonio Palomares Sender
 
Programación orientada a objetos (I)
Programación orientada a objetos (I)Programación orientada a objetos (I)
Programación orientada a objetos (I)Cristian
 
Programación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismoProgramación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismoAngel Vázquez Patiño
 
Programación orientada a objetos con c++
Programación orientada a objetos con c++Programación orientada a objetos con c++
Programación orientada a objetos con c++Karime Hernández
 

La actualidad más candente (18)

Fundamentos de Java / 15 consejos prácticos sobre Java que cambiarán la for...
Fundamentos de Java /   15 consejos prácticos sobre Java que cambiarán la for...Fundamentos de Java /   15 consejos prácticos sobre Java que cambiarán la for...
Fundamentos de Java / 15 consejos prácticos sobre Java que cambiarán la for...
 
Semana 3 Herencia en Java
Semana 3   Herencia en JavaSemana 3   Herencia en Java
Semana 3 Herencia en Java
 
Programación Orientada a Objetos para Python
Programación Orientada a Objetos para PythonProgramación Orientada a Objetos para Python
Programación Orientada a Objetos para Python
 
Datos Previos
Datos PreviosDatos Previos
Datos Previos
 
Datos Previos
Datos PreviosDatos Previos
Datos Previos
 
Semana 5 Java Swing
Semana 5   Java SwingSemana 5   Java Swing
Semana 5 Java Swing
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje java
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Semana 2 Clases y Objetos en Java
Semana 2   Clases y Objetos en JavaSemana 2   Clases y Objetos en Java
Semana 2 Clases y Objetos en Java
 
Grupo1
Grupo1Grupo1
Grupo1
 
3 Introducción al lenguaje PHP
3 Introducción al lenguaje PHP3 Introducción al lenguaje PHP
3 Introducción al lenguaje PHP
 
Framework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetosFramework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetos
 
Programación orientada a objetos (I)
Programación orientada a objetos (I)Programación orientada a objetos (I)
Programación orientada a objetos (I)
 
Programación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismoProgramación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismo
 
Programación orientada a objetos con c++
Programación orientada a objetos con c++Programación orientada a objetos con c++
Programación orientada a objetos con c++
 
Calse 3 JAVA 2012
Calse 3 JAVA 2012Calse 3 JAVA 2012
Calse 3 JAVA 2012
 
Unidad 2 clases y objetos
Unidad 2 clases y objetosUnidad 2 clases y objetos
Unidad 2 clases y objetos
 
Introduccion java
Introduccion javaIntroduccion java
Introduccion java
 

Destacado

Preguntas de introiducción a java
Preguntas de introiducción a javaPreguntas de introiducción a java
Preguntas de introiducción a javaAna Ruth G H
 
Ejercicios de test - desarrollo y programación
Ejercicios de test  -  desarrollo y programaciónEjercicios de test  -  desarrollo y programación
Ejercicios de test - desarrollo y programaciónoposicionestic
 
Ejercicios de evaluación de fundametnos de programacion en JAva
Ejercicios de evaluación de fundametnos de programacion en JAvaEjercicios de evaluación de fundametnos de programacion en JAva
Ejercicios de evaluación de fundametnos de programacion en JAvaMartha Beatriz Coronado Rosales
 
Algoritmos+y+flujogramas
Algoritmos+y+flujogramasAlgoritmos+y+flujogramas
Algoritmos+y+flujogramasluis840
 
Guia de ciencias naturales 6º grado
Guia de ciencias naturales 6º gradoGuia de ciencias naturales 6º grado
Guia de ciencias naturales 6º gradoMaribel Dominguez
 

Destacado (9)

preguntas examen
preguntas examen preguntas examen
preguntas examen
 
Cuestionario de java
Cuestionario de javaCuestionario de java
Cuestionario de java
 
Preguntas de examen
Preguntas de examenPreguntas de examen
Preguntas de examen
 
Preguntas de introiducción a java
Preguntas de introiducción a javaPreguntas de introiducción a java
Preguntas de introiducción a java
 
Examen ultimo cjava
Examen ultimo cjavaExamen ultimo cjava
Examen ultimo cjava
 
Ejercicios de test - desarrollo y programación
Ejercicios de test  -  desarrollo y programaciónEjercicios de test  -  desarrollo y programación
Ejercicios de test - desarrollo y programación
 
Ejercicios de evaluación de fundametnos de programacion en JAva
Ejercicios de evaluación de fundametnos de programacion en JAvaEjercicios de evaluación de fundametnos de programacion en JAva
Ejercicios de evaluación de fundametnos de programacion en JAva
 
Algoritmos+y+flujogramas
Algoritmos+y+flujogramasAlgoritmos+y+flujogramas
Algoritmos+y+flujogramas
 
Guia de ciencias naturales 6º grado
Guia de ciencias naturales 6º gradoGuia de ciencias naturales 6º grado
Guia de ciencias naturales 6º grado
 

Similar a JSE APIs - Guía 3

Java fundamentos -15 consejos practicos open saturday 2018
Java fundamentos -15 consejos practicos open saturday 2018Java fundamentos -15 consejos practicos open saturday 2018
Java fundamentos -15 consejos practicos open saturday 2018Eudris Cabrera
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Javamaeusogo
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02Krizztiina Pacheko
 
Lenguajes de programación orientados a objetos
Lenguajes de programación orientados a objetosLenguajes de programación orientados a objetos
Lenguajes de programación orientados a objetosDoris Aguagallo
 
Ocp, jse 6 programmer (1 z0 851) - guia practica 7 de 7(fundamentos) v1
Ocp, jse 6 programmer (1 z0 851) - guia practica 7 de 7(fundamentos) v1Ocp, jse 6 programmer (1 z0 851) - guia practica 7 de 7(fundamentos) v1
Ocp, jse 6 programmer (1 z0 851) - guia practica 7 de 7(fundamentos) v1Oscar V
 
IntroduccióN A Visual C
IntroduccióN A  Visual  CIntroduccióN A  Visual  C
IntroduccióN A Visual Coswchavez
 
IntroduccióN A Visual C
IntroduccióN A Visual CIntroduccióN A Visual C
IntroduccióN A Visual Coswchavez
 
Realidad Aumentada (RA). Fundamentos de Java
Realidad Aumentada (RA). Fundamentos de JavaRealidad Aumentada (RA). Fundamentos de Java
Realidad Aumentada (RA). Fundamentos de JavaProyectos Urbe XXI, C.A
 
Jyoc java-cap21 jse avanzado
Jyoc java-cap21 jse avanzadoJyoc java-cap21 jse avanzado
Jyoc java-cap21 jse avanzadoJyoc X
 

Similar a JSE APIs - Guía 3 (20)

Java fundamentos -15 consejos practicos open saturday 2018
Java fundamentos -15 consejos practicos open saturday 2018Java fundamentos -15 consejos practicos open saturday 2018
Java fundamentos -15 consejos practicos open saturday 2018
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Java
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02
 
INTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVAINTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVA
 
Programación en java
Programación en javaProgramación en java
Programación en java
 
Lenguajes de programación orientados a objetos
Lenguajes de programación orientados a objetosLenguajes de programación orientados a objetos
Lenguajes de programación orientados a objetos
 
Ocp, jse 6 programmer (1 z0 851) - guia practica 7 de 7(fundamentos) v1
Ocp, jse 6 programmer (1 z0 851) - guia practica 7 de 7(fundamentos) v1Ocp, jse 6 programmer (1 z0 851) - guia practica 7 de 7(fundamentos) v1
Ocp, jse 6 programmer (1 z0 851) - guia practica 7 de 7(fundamentos) v1
 
IntroduccióN A Visual C
IntroduccióN A  Visual  CIntroduccióN A  Visual  C
IntroduccióN A Visual C
 
IntroduccióN A Visual C
IntroduccióN A Visual CIntroduccióN A Visual C
IntroduccióN A Visual C
 
Guia3 java
Guia3 javaGuia3 java
Guia3 java
 
Csharp
CsharpCsharp
Csharp
 
Leccion 11 Java
Leccion 11 JavaLeccion 11 Java
Leccion 11 Java
 
manual de C#
manual de C#manual de C#
manual de C#
 
Manual c# 2
Manual c# 2Manual c# 2
Manual c# 2
 
Manual de c#
Manual de c#Manual de c#
Manual de c#
 
Programacion java basica
Programacion java basicaProgramacion java basica
Programacion java basica
 
Benita ppp unidad 1
Benita ppp unidad 1Benita ppp unidad 1
Benita ppp unidad 1
 
Realidad Aumentada (RA). Fundamentos de Java
Realidad Aumentada (RA). Fundamentos de JavaRealidad Aumentada (RA). Fundamentos de Java
Realidad Aumentada (RA). Fundamentos de Java
 
Jyoc java-cap21 jse avanzado
Jyoc java-cap21 jse avanzadoJyoc java-cap21 jse avanzado
Jyoc java-cap21 jse avanzado
 
Unidad_01_01.pdf
Unidad_01_01.pdfUnidad_01_01.pdf
Unidad_01_01.pdf
 

Más de Oscar V

Oracle Certified Expert, Java EE 6 Web Service Developer
Oracle Certified Expert, Java EE 6 Web Service DeveloperOracle Certified Expert, Java EE 6 Web Service Developer
Oracle Certified Expert, Java EE 6 Web Service DeveloperOscar V
 
Guia de estudio OCA Java SE 7 Programmer
Guia de estudio OCA Java SE 7 ProgrammerGuia de estudio OCA Java SE 7 Programmer
Guia de estudio OCA Java SE 7 ProgrammerOscar V
 
Guia de estudio OCP Java SE 7 Programmer
Guia de estudio OCP Java SE 7 ProgrammerGuia de estudio OCP Java SE 7 Programmer
Guia de estudio OCP Java SE 7 ProgrammerOscar V
 
Guia de estudio para Oracle Certified Java EE 6 Web Component Developer
Guia de estudio para Oracle Certified Java EE 6 Web Component DeveloperGuia de estudio para Oracle Certified Java EE 6 Web Component Developer
Guia de estudio para Oracle Certified Java EE 6 Web Component DeveloperOscar V
 
Curso de JBPM5 - Laboratorios
Curso de JBPM5 - LaboratoriosCurso de JBPM5 - Laboratorios
Curso de JBPM5 - LaboratoriosOscar V
 
Curso de JBPM5
Curso de JBPM5Curso de JBPM5
Curso de JBPM5Oscar V
 
Proceso para el registro o compra de exámenes de certificación en java
Proceso para el registro o compra de exámenes de certificación en javaProceso para el registro o compra de exámenes de certificación en java
Proceso para el registro o compra de exámenes de certificación en javaOscar V
 
Ocp, jse 6 programmer (1 z0 851) - guia practica 4 de 7(concurrencia) v1
Ocp, jse 6 programmer (1 z0 851) - guia practica 4 de 7(concurrencia) v1Ocp, jse 6 programmer (1 z0 851) - guia practica 4 de 7(concurrencia) v1
Ocp, jse 6 programmer (1 z0 851) - guia practica 4 de 7(concurrencia) v1Oscar V
 
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 2 de 7(Flujos, Excepciones y ...
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 2 de 7(Flujos, Excepciones y ...OCP, JSE 6 Programmer (1Z0-851) - Guia practica 2 de 7(Flujos, Excepciones y ...
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 2 de 7(Flujos, Excepciones y ...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)
OCP JSE 6 Programmer (1Z0-851) - Guia practica 1 de 7(Declaraciones)Oscar V
 
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)
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)Oscar V
 
Administracion de WebSphere MQ for zOS v7.0
Administracion de WebSphere MQ for zOS v7.0Administracion de WebSphere MQ for zOS v7.0
Administracion de WebSphere MQ for zOS v7.0Oscar V
 
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 5 de 7(OO) v1
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 5 de 7(OO) v1OCP, JSE 6 Programmer (1Z0-851) - Guia practica 5 de 7(OO) v1
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 5 de 7(OO) v1Oscar V
 
WMB for z/OS - Configuracion del nodo CICSRequest en z/OS
WMB for z/OS - Configuracion del nodo CICSRequest en z/OSWMB for z/OS - Configuracion del nodo CICSRequest en z/OS
WMB for z/OS - Configuracion del nodo CICSRequest en z/OSOscar V
 
Preparacion Ambiente Wmb6.X
Preparacion Ambiente Wmb6.XPreparacion Ambiente Wmb6.X
Preparacion Ambiente Wmb6.XOscar V
 

Más de Oscar V (15)

Oracle Certified Expert, Java EE 6 Web Service Developer
Oracle Certified Expert, Java EE 6 Web Service DeveloperOracle Certified Expert, Java EE 6 Web Service Developer
Oracle Certified Expert, Java EE 6 Web Service Developer
 
Guia de estudio OCA Java SE 7 Programmer
Guia de estudio OCA Java SE 7 ProgrammerGuia de estudio OCA Java SE 7 Programmer
Guia de estudio OCA Java SE 7 Programmer
 
Guia de estudio OCP Java SE 7 Programmer
Guia de estudio OCP Java SE 7 ProgrammerGuia de estudio OCP Java SE 7 Programmer
Guia de estudio OCP Java SE 7 Programmer
 
Guia de estudio para Oracle Certified Java EE 6 Web Component Developer
Guia de estudio para Oracle Certified Java EE 6 Web Component DeveloperGuia de estudio para Oracle Certified Java EE 6 Web Component Developer
Guia de estudio para Oracle Certified Java EE 6 Web Component Developer
 
Curso de JBPM5 - Laboratorios
Curso de JBPM5 - LaboratoriosCurso de JBPM5 - Laboratorios
Curso de JBPM5 - Laboratorios
 
Curso de JBPM5
Curso de JBPM5Curso de JBPM5
Curso de JBPM5
 
Proceso para el registro o compra de exámenes de certificación en java
Proceso para el registro o compra de exámenes de certificación en javaProceso para el registro o compra de exámenes de certificación en java
Proceso para el registro o compra de exámenes de certificación en java
 
Ocp, jse 6 programmer (1 z0 851) - guia practica 4 de 7(concurrencia) v1
Ocp, jse 6 programmer (1 z0 851) - guia practica 4 de 7(concurrencia) v1Ocp, jse 6 programmer (1 z0 851) - guia practica 4 de 7(concurrencia) v1
Ocp, jse 6 programmer (1 z0 851) - guia practica 4 de 7(concurrencia) v1
 
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 2 de 7(Flujos, Excepciones y ...
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 2 de 7(Flujos, Excepciones y ...OCP, JSE 6 Programmer (1Z0-851) - Guia practica 2 de 7(Flujos, Excepciones y ...
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 2 de 7(Flujos, Excepciones y ...
 
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)
OCP JSE 6 Programmer (1Z0-851) - Guia practica 1 de 7(Declaraciones)
 
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)
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)
 
Administracion de WebSphere MQ for zOS v7.0
Administracion de WebSphere MQ for zOS v7.0Administracion de WebSphere MQ for zOS v7.0
Administracion de WebSphere MQ for zOS v7.0
 
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 5 de 7(OO) v1
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 5 de 7(OO) v1OCP, JSE 6 Programmer (1Z0-851) - Guia practica 5 de 7(OO) v1
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 5 de 7(OO) v1
 
WMB for z/OS - Configuracion del nodo CICSRequest en z/OS
WMB for z/OS - Configuracion del nodo CICSRequest en z/OSWMB for z/OS - Configuracion del nodo CICSRequest en z/OS
WMB for z/OS - Configuracion del nodo CICSRequest en z/OS
 
Preparacion Ambiente Wmb6.X
Preparacion Ambiente Wmb6.XPreparacion Ambiente Wmb6.X
Preparacion Ambiente Wmb6.X
 

Último

_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Marketing BRANDING
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadEduardoSantiagoSegov
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar24roberto21
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armadob7fwtwtfxf
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxhasbleidit
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdfsharitcalderon04
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 

Último (20)

_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedad
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armado
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdf
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 

JSE APIs - Guía 3

  • 1. Oracle Certified Professional, Java SE 6 Programmer (1Z0-851) - Guía practica 3 de 7. Esta guía práctica cubre la siguiente sección del examen: Sección 3: Uso de APIs en JSE. 3.1. Desarrollar código que use las wrapper clases de tipos primitivos (Tales como Boolean, Character, Double, Integer, etc.) y/o autoboxing y unboxing. Discutir las diferencias entre las clases String, StringBuilder y StringBuffer. 3.2. Dado un escenario involucrar la navegación de archivos del sistema, leer de archivos, escribir a archivos o interactuar con el usuario, desarrollar la correcta solución usando las siguientes clases (Algunas veces en combinación), de java.io: BufferedReader, BufferedWriter, File, FileReader, FileWriter, PrintWriter, y Console 3.3. Usar las APIs estándares de J2SE dentro del paquete java.text para formatear correctamente o parsear fechas, números y valores de montos para una especifica localización; y dado un escenario, determinar el apropiado metodo a utilizar si se desea usar la localización por defecto o una localización especifica. Describir el propósito y el uso de la clase java.util.Locale. 3.4. Escribir código que use APIs estándares de J2SE dentro del paquete java.util y java.util.regex para formatear o parsear cadenas y streams. Para cadenas, escribir código que use las clases Pattern y Matcher y el metodo String.split. Reconocer y usar patrones de expresiones regulares para encontrar(Limitado a: .(punto), *(asterisco), +(más), ?, d, s, w, [], ()). Usar *, + y ? para especificar cantidades, y el operador paréntesis será utilizado únicamente como mecanismo de agrupación. Para streams, escribir código que use las clases Formatter y Scanner y los métodos PrintWriter.format/printf. Reconocer y usar parametros de formateo (limitado a: %b, %c, %d, %f, %s) para formatear cadenas. Oscar Vásquez Flores (eoscarvf@gmail.com )
  • 2. Oracle Certified Professional, Java SE 6 Programmer (1Z0-851) - Guía practica 3 de 7. 3.1. Desarrollar código que use las wrapper clases de tipos primitivos (Tales como Boolean, Character, Double, Integer, etc.) y/o autoboxing y unboxing. Discutir las diferencias entre las clases String, StringBuilder y StringBuffer. ❑ Los objetos String son inmutables (No se pueden modificar), pero las variables de referencia a un objeto String no lo son. ❑ Si se crea un String nuevo sin ser asignado a alguna variable, este se perderá del programa. ❑ Si se direcciona la referencia de un String a un nuevo String, el antiguo String puede ser perdido. ❑ Los métodos de la clase String basan sus índices iniciando en cero, excepto el segundo parámetro de substring(). ❑ La clase String es final, sus métodos no se puede sobre escribir. ❑ Cuando la JVM encuentra un String literal, este se agregar al pool de String literal. ❑ String tiene un metodo length(); y los arrays tienen un atributo length. ❑ El API StringBuffer es lo mismo que el nuevo API StringBuilder, excepto que los métodos de StringBuilder no son sincronizados para thread safety. ❑ Los métodos de StringBuilder deben correr mas rápidos que los métodos de StringBuffer. ❑ Todos los siguiente puntos aplican a StringBuffer y StringBuilder: ❑ Ambos son mutables, ellos pueden cambiar sin tener que crear un objeto nuevo. ❑ Los métodos de StringBuffer actúan directo sobre el objeto que los invoca, y pueden cambiar al objeto, sin necesidad de una asignación explicita en la sentencia. ❑ equals() de StringBuffer() no esta sobre escrito, este no compara valores. ❑ Se debe recordar que una cadena de métodos se evalúan de izquierda a derecha. ❑ Los siguiente métodos de String son los mas importantes: charAt(), concat(), equalsIgnoreCase(), length(), replace(), substring(), toLowerCase(), toString(), toUpperCase() y trim(). ❑ Los siguiente métodos de StringBuffer son los mas importantes: append(), delete(), insert(), reverse() y toString() Oscar Vásquez Flores (eoscarvf@gmail.com )
  • 3. Oracle Certified Professional, Java SE 6 Programmer (1Z0-851) - Guía practica 3 de 7. 3.2. Dado un escenario involucrar la navegación de archivos del sistema, leer de archivos, escribir a archivos o interactuar con el usuario, desarrollar la correcta solución usando las siguientes clases (Algunas veces en combinación), de java.io: BufferedReader, BufferedWriter, File, FileReader, FileWriter, PrintWriter, y Console. ❑ Las clases importantes del paquete java.io son: File, FileReader, BufferedReader. FileWriter, BufferedWriter, PrintWriter y Console. ❑ Un nuevo objeto File no significa que exista un nuevo archivo en el sistema de archivos. ❑ Un objeto File puede representar a un archivo o a un directorio. ❑ La clase File deja manejar (Crear, renombrar y eliminar) archivos y directorios. ❑ Los métodos createNewFile() y mkdir() crean entradas en el sistema de archivos. ❑ Las clases FileWriter y FileReader son de bajo nivel para I/O. Se puede usar estas para escribir y leer archivos, pero ellas deberán ser utilizadas usualmente mediante clase wrapper. ❑ Las clases del paquete java.io están diseñadas para ser encadenadas o usadas mediante clases wrappers (Esto es un común uso del patrón de diseño Decorator) ❑ Es muy común usar una clase BufferedReader como wrapper de la clase FileReader y BufferedWriter como wrapper de la clase FileWriter, para acceder a métodos de alto nivel, los cuales son mas prácticos. ❑ PrintWriters can be used to wrap other Writers, but as of Java 5 they can be built directly from Files or Strings. ❑ Desde Java 5, la clase PrintWriter tiene nuevos métodos: append(), format() y printf(). ❑ Un objeto de la clase java.io.Console, le cual se puede obtener mediante System.console(), permite capturar entradas desde la consola con echo o sin echo(echo se refiere a mostrar en pantalla lo que se esta ingresando por teclado), en el caso de sin echo puede ser para capturar algún valor secreto por ejemplo un Password, para esto se puede usar el metodo console.readPassword(). 3.3. Usar las APIs estándares de J2SE dentro del paquete java.text para formatear correctamente o parsear fechas, números y valores de montos para una especifica localización; y dado un escenario, determinar el apropiado metodo a utilizar si se desea usar la localización por defecto o una localización especifica. Describir el propósito y el uso de la clase java.util.Locale. ❑ Las clases mas importante son: java.util.Date, Su intención principal es representar fechas y tiempos. java.util.Calendar, Es una clase abstracta que provee métodos que permiten trabajar con fechas y tiempos. java.text.DateFormat, Es una clase abstracta que permite el formateo de fecha/tiempo. java.text.NumberFormat, Es una clase abstracta que permite el formateo de números. Oscar Vásquez Flores (eoscarvf@gmail.com )
  • 4. Oracle Certified Professional, Java SE 6 Programmer (1Z0-851) - Guía practica 3 de 7. java.util.Locale, Clase para especificar una localización (Idioma y País). ❑ La mayoría de métodos de la clase Date no están vigentes. ❑ Una fecha es almacenada como un long, el numero de milisegundos desde el 1 de Enero de 1970. ❑ Date objects are go-betweens the Calendar and Locale classes. ❑ La clase Calendar provee con conjunto de métodos muy potentes para manipular fechas y realizar tareas tales como obtener días de la semana o agregar una cantidad de meses al año de una fecha. ❑ Se crea instancias de Calendar usando el metodo estático de factoría getInstance(). ❑ Algunos metodo importantes de la clase Calendar add(), permite agregar o substraer segundos, minutos, días, etc. a una fecha. roll(), Similar a add(), pero no incrementa la parte grande de la fecha (Ejemplo: agregar 10 meses a una fecha que tiene como mes a Octubre la nueva fecha tendrá a Agosto como nueva fecha pero no incrementara el año) ❑ Las instancias de DateFormat son creadas usando los métodos estáticos de factoría getInstance() y getDateInstance(). ❑ Existen diversos formatos “estilos” disponibles en la clase DateFormat. ❑ DateFormat styles can be applied against various Locales to create a wide array of outputs for any given date. ❑ El metodo DateFormat.format() se usa para crear un String conteniendo la fecha formateada. Ejemplo: DateFormat formatter = DateFormat.getInstante(); String dateStr=formatter.format(new Date()); ❑ La clase Locale es usado en conjunto con DateFormat y NumberFormat. ❑ Objetos de tipo DateFormat o NumberFormat pueden ser construidos con un especifico Locale el cual es inmutable. ❑ Ejemplo de la creación de Locale: // Un locale genérico para el idioma Ingles. Locale locale1 = new Locale("en"); // Un locale para el idioma ingles en Canadá. Locale locale2 = new Locale("en", "CA"); // Un locale para el idioma ingles en USA, // para Silicon Valley. Locale locale3 = new Locale("en", "US", "SiliconValley"); Oscar Vásquez Flores (eoscarvf@gmail.com )
  • 5. Oracle Certified Professional, Java SE 6 Programmer (1Z0-851) - Guía practica 3 de 7. 3.4. Escribir código que use APIs estándares de J2SE dentro del paquete java.util y java.util.regex para formatear o parsear cadenas y streams. Para cadenas, escribir código que use las clases Pattern y Matcher y el metodo String.split. Reconocer y usar patrones de expresiones regulares para encontrar(Limitado a: .(punto), *(asterisco), +(más), ?, d, s, w, [], ()). Usar *, + y ? para especificar cantidades, y el operador paréntesis será utilizado únicamente como mecanismo de agrupación. Para streams, escribir código que use las clases Formatter y Scanner y los métodos PrintWriter.format/printf. Reconocer y usar parametros de formateo (limitado a: %b, %c, %d, %f, %s) para formatear cadenas. ❑ regex significa expresiones regulares, los cuales son patrones usados para buscar algunos datos dentro de algún dato largo. ❑ regex es un sub lenguaje que existe en Java y otros lenguajes, por Ejemplo Perl. ❑ regex deja buscar para patrones usando cadenas de caracteres o metacaracteres. Metacaracteres permiten buscar de una forma mas abstracta por ejemplo “un digito” o “un espacio en blanco”. ❑ Algunos Metacaracteres son: d Un digito [0-9] s Un espacio en blanco [ tnx0Bfr] w Un carácter [a-zA-Z_0-9] .(punto) Cualquier carácter ❑ Regex permite especificar cuantificadores, entonces es posible especificar situaciones como: “Considerar 1 o más dígitos en una fila”. ❑ Algunos Cuantificadores son: ? Uno o nada * Cero o varios + Uno o varios ❑ No se puede mesclar Metacaracteres y cadenas al menos que se usen caracteres de escape. Por ejemplo String s=”d”. ❑ Las clases Pattern y Matcher de Java son muy potentes para las capacidades de regex. Están en el paquete java.util.regex. ❑ Métodos importantes de Pattern compile(), Compila la regex a un Pattern. ❑ Métodos importantes de Matcher matches(), Intenta comparar la región entera otra vez con el pattern. Oscar Vásquez Flores (eoscarvf@gmail.com )
  • 6. Oracle Certified Professional, Java SE 6 Programmer (1Z0-851) - Guía practica 3 de 7. pattern(), Retorna el Pattern que fue interpretado por este Matcher. find(), Intenta encontrar la siguiente secuencia que cumple con el pattern dentro de la cadena original. start(), Retorna el índice de inicio de una comparación previa. group(), Retorna la secuencia que coincide con la comparación previa. ❑ Se puede usar la clase java.util.Scanner para hacer búsquedas simples de regex, pero su intención principal es para usar tokens. ❑ Tokenizing es el proceso de dividir data delimitada en partes pequeñas. ❑ En tokenizing la data que se desea es llamada token y la cadena de separación de los tokens se llama delimitador. ❑Tokenizing puede hacer con la clase Scanner o con el metodo String.split(). ❑ Los delimitadores pueden ser caracteres simples como comas o expresiones complejas regex. ❑ La clase Scanner permite navegar por los tokens mediante un loop, el cual permite parar donde uno desee. El delimitador por defecto es el espacio en blanco. Ejemplo: Lee cada una de las palabras de un archivo de texto. File file = new File(fileName); Scanner scanner=new Scanner(file); while(scanner.hasNext()){ System.out.println(scanner.next()); } scanner.close(); Para entrada de datos enteros de la consola. Scanner sc=new Scanner(System.in); int i= sc=sc.nextInt(); Lee solo longs de un archivo de texto. Scanner sc = new Scanner(fileName); while(sc.hasNextLong()){ long aLong=sc.nextLong(); } ❑ La clase Scanner permite que se tokenize Strings, streams o archivos. ❑ The String.split() method tokenizes the entire source data all at once, so large amounts of data can be quite slow to process. El metodo String.split() tokenizes. ❑ Desde Java 5, hay dos metodos que se pueden usar para formatear salidas a consola, estos son format() y printf(). Estos son métodos de la clase PrintStream, una instancia de esta clase es el out en System.out. ❑ La especificación de formatos generales, caracteres y números, tiene la siguiente sintaxis: Oscar Vásquez Flores (eoscarvf@gmail.com )
  • 7. Oracle Certified Professional, Java SE 6 Programmer (1Z0-851) - Guía practica 3 de 7. %[argument_index$][flags][width][.precision]conversion ❑ El metodo format() y printf() son idénticos funcionalmente. ❑ Formatear data con printf() (o format()) se lleva a cabo utilizando cadenas de formatos que están asociadas con argumentos primitivos o de cadena. ❑ El metodo format() permite mezclar literales dentro de la cadena de formato. ❑ Algunos valores para formatear cadenas: ❑ Flags: - El resultado se justificara a la izquierda. + El resultado siempre incluirá un signo 0 El resultado usara al 0 para padded (Rellenar) , El resultado incluirá especificación locale ( El resultado encerrara el numero negativo en paréntesis. ❑ Conversiones: b, c, d, f, y s b, B Si el argumento es null entonces el resultado es “false”. Si el argumento es boolean o Boolean entonces el resultado es generado por String.valueOf(). En cualquier otro caso el resultado es “true” c, C El resultado es un carácter Unicode d, El resultado es formateado como entero decimal. f El resultado es formateado como numero decimal. js, S Si el argumento es null entonces el resultado es “null”. Si el argumento implementa Formattable, entonces se invoca a argumento.formatTo. En cualquier otro caso el resultado se obtiene por invocar a argumento.toString(). ❑ Si los caracteres de conversión no concuerdan con el tipo de argumento, se genera una excepción. Oscar Vásquez Flores (eoscarvf@gmail.com )
  • 8. Oracle Certified Professional, Java SE 6 Programmer (1Z0-851) - Guía practica 3 de 7. ❑ Índices de los argumentos. Se pueden especificar según: * Índice explicito, hace referencia a la posición del argumento, se inicia por 1$, un argumento se puede referenciar más de una vez. Ejemplo: formatter.format("%4$s %3$s %2$s %1$s %4$s %3$s %2$s %1$s","a", "b", "c", "d"); //Salida: "d c b a d c b a" * Índice ordinario, Se usa según el orden de los argumentos. formatter.format("%s %s %s %s", "a", "b", "c", "d") //Salida: "a b c d" Oscar Vásquez Flores (eoscarvf@gmail.com )