Tema 14: java.lang Antonio J. Sierra. Índice 1. Introducción. 2. Gestión de cadenas. –String –StringBuffer 3. Clases para los tipos simples. –Number –Envolventes.

Slides:



Advertisements
Presentaciones similares
Curso de java básico (scjp)
Advertisements

2. Manejo de memoria Manejo de memoria estática
Curso de java básico (scjp)
Java nos ofrece System.out para escribir en pantalla, pero también tenemos System.in para leer. System.in es un objeto de una clase de java que se llama.
Curso de Java Capitulo 6: Cadenas y Arrays Profesor:
Introducción a la programación en JAVA
EXCEPCIONES UNIDAD 5.
Tablas. Descripción general Introducción a las tablas Creación de tablas Uso de tablas.
Uso de variables de tipo referencia
Clases Extendidas La clase extendida hereda los campos y métodos de la clase de la cual extiende. La clase original se conoce como superclase y la clase.
Unidad 1. Manejo de ficheros
Orientación a Objetos con Java SE
Archivos Implementar un método que lea una secuencia de números enteros de un archivo y compute la cantidad de elementos leídos.
Introducción Abdelahad, Corina Natalia Abdelahad, Yanina Zoraida
Conceptos más avanzados de Programación Orientada a Objetos Programación 2005 Licenciatura de Lingüística y Nuevas Tecnologías.
Algoritmos y Estructura de Datos
Curso de Java Estructura del Lenguaje
Genéricos en Java Jaime Ramírez, Ángel Lucas González
1.2 Sintaxis del lenguaje Java.
Algoritmo y Estructura de Datos I
1 Cadenas de caracteres Es un objeto de la clase String Una cadena de caracteres es una matriz unidimensional de elementos de tipo Char New. Utilizado.
Vectores en java.
Manipulación de caracteres e hileras de texto
Archivos Contenido: Archivos de Texto Archivos de Acceso Aleatorio
Material Elaborado por: Lic. Saily González. CONTENIDO 2.1- Estructura de una Aplicación JAVA 2.2- Elementos básicos de la Programación JAVA Comentarios.
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Modificadores.
POO Java Módulo 3 Elementos de programas Identificadores
Java Orientado a Objetos CLASES,OBJETOS Y MÉTODOS
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Creación de Aplicaciones
Tema 6: Clases Antonio J. Sierra.
6. Herencia. Clases abstractas. Genericidad
Unidad I Java y C++ : Similitudes y diferencias
Public class MiClase { public static int tmp = 123; // miembro variable public static final double PI = ;// miembro constante public float.
Colecciones.
1 Streams en Java Agustín J. González ELO Generalidades Un Stream es simplemente una fuente o destino de bytes. Los streams más comunes son los.
SCJP Sun Certified Programmer for Java 6
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SEMANA TRES ASIGNACION.
El lenguaje de programación Java
JAVA J.A.C..
Tema 2: Los tipos de datos
Framework Class Library (FCL) Dr. Diego Lz. de Ipiña Gz. de Artaza
Java. Java nació el año 1991, por un par de ingenieros de la Sun Microsystems.
Prof. Mayra M. Méndez Anota.  Herramientas  Características  Convenciones  Estructura de una clase  Sintaxis de: métodos, atributos, constructores.
ESTRUCTURA DE DATOS EN JAVA
Tema 11: Excepciones Antonio J. Sierra.
Introducción a Java (2ª parte) - excepciones, colecciones, i/o, … -
Entrada y Salida Java. Clase File La clase File proporciona mucha informacion relacionada con archivos y con la obtencion de informacion basica sobre.
Curso Programación en Java
Entrada / Salida. Java adopta de Unix el concepto de stream Un stream es un flujo de datos (secuencia de bytes) que va de una fuente a un destino. Desde.
El lenguaje de programación Java
Un programa no es nada mas que una serie de instrucciones dadas al ordenador en un lenguaje entendido por el, para decirle exactamente lo que queremos.
PAQUETES Un paquete es un conjunto de clases, interfaces y subpaquetes relacionados. El paquete define un ámbito de visibilidad: los miembros que no tienen.
Programación orientada a objetos. Existen 3 niveles de visibilidad: ◦ public: significa que los atributos de una clase pueden ser accedidas desde fuera.
El Lenguaje Java Taller de Sistemas de Programas Sandra Zabala, Marilenis Olivera Ivette Martínez, Pedro García.
Programación avanzada en Java Miguel Ángel Corella 16 de Septiembre de 2005.
ELO3291 Estructuras fundamentales de la programación en Java ELO-329: Diseño y programación orientados a objetos Agustín J. González.
ELO3291 Estructuras fundamentales de la programación en Java ELO-329: Diseño y programación orientados a objetos Agustín J. González.
Las clases FileReader y BufferedReader brindan servicios para manejar archivos. Las instrucciones: Archivos FileReader fr = new FileReader (ruta); BufferedReader.
Ing. Esp. Ricardo Cujar.  Lenguaje de programación orientado a objetos.  Desarrollado por Sun MicroSystems.  Independiente del Sistema Operativo gracias.
Elementos básicos.  Fuertemente tipeado.  Sintaxis similar a C/C++.  Sin punteros: garbage collection.  Portable.  Integra librerías para objetos.
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 4 Versión Diseño de tipos Igualdad, representación, código,
Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Fundamentos de Programación Departamento.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Arrays, Cadenas y Vectores Tipos Genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 5 Versión
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Taller de Java Universidad de los Andes
Tema 14: java.lang Antonio J. Sierra.
Transcripción de la presentación:

Tema 14: java.lang Antonio J. Sierra

Índice 1. Introducción. 2. Gestión de cadenas. –String –StringBuffer 3. Clases para los tipos simples. –Number –Envolventes a los tipo de datos simples 4. Programación del sistema.

Introducción Contienen las clases para los objetos fundamentales de Java. Se incluye en todas las plataformas. Se importa automáticamente. Estructura: –Contiene más de 28 clases, 4 interfaces y 5 paquetes.

Introducción. Clases generales. Object Class System Thread y ThreadGroup Throwable Excepciones Error Math Process Runtime String StringBuffer Number Boolean Integer Character Long Double Float

Gestión de Cadenas Secuencias de caracteres (char). Un char:16 bits. Dos clases: –String –StringBuffer

La clase String Secuencias de caracteres (char de 16 bits). Longitud fija y no modificable.

String : Ejemplos I package Cadenas; public class Cadenas0 { public static void main(String args[]){ byte ascii[] = {65,66,67,68,69,70}; String s1 = null; try{ s1 = new String (ascii,"US-ASCII"); }catch(java.io.UnsupportedEncodingException e){ } System.out.println(s1); char data[] = {'a', 'b', 'c'}; String str = new String(data); String cde = new String(" cde "); cde = cde.trim(); System.out.println(str + cde); String c = "abc".substring(2,3); System.out.println( c ); String d = cde.substring(1, 2); System.out.println( d ); System.out.println("d.length() = " + d.length()); } /* C:\F_Telematica\Texto\Tema14>javac.\Cadenas\Cadenas0.java C:\F_Telematica\Texto\Tema14>java Cadenas.Cadenas0 ABCDEF abccde c d d.length() = 1 C:\F_Telematica\Texto\Tema14> */ Constructores String(byte[] bytes, String charsetName) String(char[] value) String(String original) Métodos String trim() String substring(int beginIndex) String substring(int beginIndex, int endIndex) int length()

String : Ejemplos II package Cadenas; public class Cadenas1 { public static void main(String args[]){ String str = "abcdefghijklmnopqrstuvxyz" +"ABCDEFGHIJKLMNOPQRSTUVWXZ" + "abcdefghijklmnopqrstuvxyz"; System.out.println(str ); System.out.println("str.compareTo(str)=" + str.compareTo(str)); System.out.println("str.compareTo(\"a\")=" + str.compareTo("a")); System.out.println("str.indexOf(a)="+str.indexOf('a') ); System.out.println("str.lastIndexOf(a)="+str.lastIndexOf('a') ); System.out.println(str ); System.out.println("str.indexOf(a,1)="+str.indexOf('a',1) ); System.out.println("str.lastIndexOf(a,49)="+str.lastIndexOf('a',49)); System.out.println("str.indexOf(a,1)="+str.indexOf('a',1) ); } C:\F_Telematica\Texto\Tema14>java Cadenas.Cadenas1 abcdefghijklmnopqrstuvxyzABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvxyz str.compareTo(str)=0 str.compareTo("a")=74 str.indexOf(a)=0 str.lastIndexOf(a)=50 abcdefghijklmnopqrstuvxyzABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvxyz str.indexOf(a,1)=50 str.lastIndexOf(a,49)=0 str.indexOf(a,1)=50 C:\F_Telematica\Texto\Tema14> Métodos int compareTo(Object o) int compareTo(String anotherString) int indexOf(int ch) int indexOf(int ch, int fromIndex) int indexOf(String str) int indexOf(String str, int fromIndex) int lastIndexOf(int ch) int lastIndexOf(int ch, int fromIndex) int lastIndexOf(String str) int lastIndexOf(String str, int fromIndex)

String : Ejemplos III package Cadenas; public class Cadenas2 { public static void main(String args[]){ String str1 = new String("abc"); String str2 = new String("abc"); String str3 = new String("ABC"); System.out.println("str1.equals(str1) = "+str1.equals(str1)); System.out.println("str1.equals(str2) = "+str1.equals(str2)); System.out.println("str1.equals(str3) = "+str1.equals(str3)); System.out.println("str1.equalsIgnoreCase(str3) = "+str1.equalsIgnoreCase(str3)); int comienzo = 0, fin = str1.length(); char buf[] = new char[fin]; str1.getChars(comienzo, fin, buf,0); System.out.println(buf); } C:\F_Telematica\Texto\Tema14>javac.\Cadenas\Cadenas2.java C:\F_Telematica\Texto\Tema14>java Cadenas.Cadenas2 str1.equals(str1) = true str1.equals(str2) = true str1.equals(str3) = false str1.equalsIgnoreCase(str3) = true abc C:\F_Telematica\Texto\Tema14> Métodos boolean equals(Object anObject) boolean equalsIgnoreCase(String anotherString) void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)

La clase StringBuffer Secuencias de caracteres (char de 16 bits). Longitud variable y modificable. Constructores: –StringBuffer() reserva 16 caracteres. –StringBuffer(int dim) reserva dim caracteres. –StringBuffer(String str) reserva el tamaño del String mas 16 caracteres

StringBuffer y append Los bufers de String el compilador los usa para implementar la concatenación de cadenas binarias con el operador +. Por ejemplo, el código: x = "a" "c" es compilado de forma equivalente a: x = new StringBuffer().append("a").append(4).append("c" ).toString(); que crea un nuevo buffer para la cadena (inicialmente vacía), añade las cadenas de representación de cada uno de los valores y los convierte a para el String. Evita la creación de muchas cadenas temporales.

StringBuffer : Ejemplos I package Cadenas; public class Cadenas4{ public static void main(String args[]){ StringBuffer ab = new StringBuffer("Hola"); char c; System.out.println(ab); System.out.println( ab.length()); System.out.println( ab.capacity()); c = ab.charAt(0); System.out.println(c); ab.setCharAt(0,'h'); System.out.println(ab); ab.setLength(3); System.out.println(ab); } C:\F_Telematica\Texto\Tema14>java Cadenas.Cadenas4 Hola 4 20 H hola hol C:\F_Telematica\Texto\Tema14> Métodos void setCharAt(int index, char ch) void setLength(int newLength) char charAt(int index)

StringBuffer : Ejemplos II package Cadenas; public class Cadenas5{ public static void main(String args[]){ StringBuffer ab = new StringBuffer("Hola Adios"); ab.insert(5,"y "); System.out.println(ab); ab.reverse(); System.out.println(ab); } C:\F_Telematica\Texto\Tema14>java Cadenas.Cadenas5 Hola y Adios soidA y aloH C:\F_Telematica\Texto\Tema14> Métodos StringBuffer reverse() StringBuffer insert(int offset, boolean b) StringBuffer insert(int offset, char c) StringBuffer insert(int offset, char[] str) StringBuffer insert(int index, char[] str, int offset, int len) StringBuffer insert(int offset, double d) StringBuffer insert(int offset, float f) StringBuffer insert(int offset, int i) StringBuffer insert(int offset, long l) StringBuffer insert(int offset, Object obj) StringBuffer insert(int offset, String str)

Number Es una clase abstracta. Superclase de las clases BigDecimal ( java.math ), BigInteger ( java.math ), Byte, Double, Float, Integer, Long, y Short. Métodos de Number : byte byteValue() abstract double doubleValue() abstract float floatValue() abstract int intValue() abstract long longValue() short shortValue()

Envolventes (wrap) a los tipos de datos simples Boolean Integer Character Long Double Float

Integer Atributos static int MAX_VALUE ( ) static int MIN_VALUE (-2 31 ) static Class TYPE (Instancia de Class representando a Integer ) Constructores Integer(int value) Integer(String s) Y métodos

Integer Ejemplo I class UnEntero{ public static void main(String args[]){ String s ="22"; Integer miEntero = new Integer(s); System.out.println("el valor el entero "+ miEntero); } /* el valor el entero 22 */

Character package Number; public class Character0{ public static void main(String args[]){ char a[] = {'a','b','5','?','A',' '}; for(int i = 0; i < a.length; i++){ if(Character.isDigit(a[i])) System.out.println(a[i]+" es un digito"); if(Character.isLetter(a[i])) System.out.println(a[i]+" es una letra"); if(Character.isWhitespace(a[i])) System.out.println(a[i]+" es un espacio"); if(Character.isUpperCase(a[i])) System.out.println(a[i]+" es un mayuscula"); if(Character.isLowerCase(a[i])) System.out.println(a[i]+" es un minuscula"); } C:\F_Telematica\Texto\Tema14>java Number.Character0 a es una letra a es un minuscula b es una letra b es un minuscula 5 es un digito A es una letra A es un mayuscula es un espacio C:\F_Telematica\Texto\Tema14> Métodos static boolean isLetter(char ch) static boolean isDigit(char ch) static boolean isWhitespace(char ch) static boolean isUpperCase(char ch) static char toLowerCase(char ch)

Programación del sistema Permite interactuar con el sistema operativo. Hay tres clases principales: 1.System 2.Runtime 3.Process

System Atributos –static PrintStream err : Flujo de salida de error estándar. –static InputStream in : El flujo de entrada estándar. –static PrintStream out : El flujo de salida estándar. Métodos estáticos para el manejo del sistema –static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) Copia un array desde un lugar a otro. –static long currentTimeMillis() Devuelve la hora actual en milisegundos. –static void exit(int status) Termina el hilo actual que se ejecuta en la Java Virtual Machine. –static void gc() Ejecuta el garbage collector.

Runtime Toda aplicación Java tiene una instancia de la clase Runtime que permite a la aplicación tener una interfaz con el entorno en el que se ejecuta. Métodos –long freeMemory()/long totalMemory() Devuelve la memoria libre/total de la Máquina Virtual de Java. –static Runtime getRuntime() Devuelve el objeto de ejecución asociado con la aplicación Java actual. –Process exec(String command) –Process exec(String[] cmdarray) –Process exec(String[] cmdarray, String[] envp) –Process exec(String[] cmdarray, String[] envp, File dir) –Process exec(String cmd, String[] envp) –Process exec(String command, String[] envp, File dir) –void exit(int status)

Ejemplo package Sistema; public class Sistema0{ public static void main(String args[]){ Runtime r = Runtime.getRuntime(); long mem1 = 0, mem2 = 0; long tiempo1 = 0L,tiempo2 = 0L; System.out.println( "Memoria disp. " + r.totalMemory()+" bytes"); mem1 = r.freeMemory(); System.out.println( "Mem. libre antes " + mem1 + " bytes"); tiempo1 = System.currentTimeMillis(); for(int i = 0; i < Integer.MAX_VALUE;i++){ new Integer(i); } tiempo2 = System.currentTimeMillis(); mem2 = r.freeMemory(); System.out.println( "Mem. libre desp. " + mem2 + " bytes"); System.out.println( "Milisegundos = " + (tiempo2 - tiempo1)); } C:\F_Telematica\Texto\Tema14>java Sistema.Sistema0 Memoria disp bytes Mem. libre antes bytes Mem. libre desp bytes Milisegundos = C:\F_Telematica\Texto\Tema14>

Process El método Runtime.exec crea un proceso nativo y devuelve una instancia de una subclase de Process que puede ser usado para controlar el proceso y obtener información. Métodos –abstract int waitFor() hace que el hilo actual espere, si fuera necesario, hasta que el proceso representado mediante este objeto Process se termine. –abstract void destroy() mata el subproceso. –abstract int exitValue() devuelve el valor de salida del subproceso. –Flujos del subproceso –abstract InputStream getErrorStream() de error. –abstract InputStream getInputStream() de entrada. –abstract OutputStream getOutputStream() de salida.

Ejemplo package Sistema; public class Sistema1{ public static void main(String args[]){ Runtime r = Runtime.getRuntime(); Process p = null; try{ p = r.exec("notepad"); p.waitFor(); }catch(Throwable e){ System.out.println(e); }