Title: Tema 14: java'lang
1Tema 14 java.lang
2Í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.
3Introducció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.
4Introducción. Clases generales.
- String
- StringBuffer
- Number
- Boolean
- Integer
- Character
- Long
- Double
- Float
- Object
- Class
- System
- Thread y ThreadGroup
- Throwable
- Excepciones
- Error
- Math
- Process
- Runtime
5Gestión de Cadenas
- Secuencias de caracteres (char).
- Un char16 bits.
- Dos clases
- String
- StringBuffer
6La clase String
- Secuencias de caracteres (char de 16 bits).
- Longitud fija y no modificable.
7String Ejemplos I
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()
- 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)
/ C\F_Telematica\Texto\Tema14gtjavac
.\Cadenas\Cadenas0.java C\F_Telematica\Texto\Tem
a14gtjava Cadenas.Cadenas0 ABCDEF abccde c d d.len
gth() 1 C\F_Telematica\Texto\Tema14gt /
8String 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.index
Of('a') ) - System.out.println("str.lastIndexOf(a)"str.l
astIndexOf('a') ) - System.out.println(str )
- System.out.println("str.indexOf(a,1)"str.ind
exOf('a',1) ) - System.out.println("str.lastIndexOf(a,49)"st
r.lastIndexOf('a',49)) - System.out.println("str.indexOf(a,1)"str.ind
exOf('a',1) ) - System.out.println("str.indexOf(a,1)"str.ind
exOf('a',1) ) -
C\F_Telematica\Texto\Tema14gtjava
Cadenas.Cadenas1 abcdefghijklmnopqrstuvxyzABCDEFGH
IJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvxyz str.com
pareTo(str)0 str.compareTo("a")74 str.indexOf(a)
0 str.lastIndexOf(a)50 abcdefghijklmnopqrstuvxyz
ABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvxyz
str.indexOf(a,1)50 str.lastIndexOf(a,49)0 str.i
ndexOf(a,1)50 str.indexOf(a,1)50 C\F_Telematic
a\Texto\Tema14gt
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)
9String 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 charfin
- str1.getChars(comienzo, fin, buf,0)
- System.out.println(buf)
-
C\F_Telematica\Texto\Tema14gtjavac
.\Cadenas\Cadenas2.java C\F_Telematica\Texto\Tema
14gtjava Cadenas.Cadenas2 str1.equals(str1)
true str1.equals(str2) true str1.equals(str3)
false str1.equalsIgnoreCase(str3)
true abc C\F_Telematica\Texto\Tema14gt
Métodos boolean equals(Object anObject) boolean
equalsIgnoreCase(String anotherString) void
getChars(int srcBegin, int srcEnd, char dst,
int dstBegin)
10La 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
11StringBuffer 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" 4 "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.
12StringBuffer Ejemplos I
- package Cadenas
- 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)
-
Métodos void setCharAt(int index, char ch) void
setLength(int newLength) char charAt(int index)
C\F_Telematica\Texto\Tema14gtjava
Cadenas.Cadenas4 Hola 4 20 H hola hol C\F_Telema
tica\Texto\Tema14gt
13StringBuffer 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)
-
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)
C\F_Telematica\Texto\Tema14gtjava
Cadenas.Cadenas5 Hola y Adios soidA y
aloH C\F_Telematica\Texto\Tema14gt
14Number
- 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()
15Envolventes (wrap) a los tipos de datos simples
- Boolean
- Integer
- Character
- Long
- Double
- Float
16Integer
- Atributos
- static int MAX_VALUE (231-1)
- static int MIN_VALUE (-231)
- static Class TYPE (Instancia de Class
representando a Integer) - Constructores
- Integer(int value)
- Integer(String s)
- Y métodos
17Integer 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
- /
18Character
- package Number
- public class Character0
- public static void main(String args)
- char a 'a','b','5','?','A',' '
- for(int i 0 i lt a.length i)
- if(Character.isDigit(ai))
- System.out.println(ai" es un digito")
- if(Character.isLetter(ai))
- System.out.println(ai" es una letra")
- if(Character.isWhitespace(ai))
- System.out.println(ai" es un
espacio") - if(Character.isUpperCase(ai))
- System.out.println(ai" es un
mayuscula") - if(Character.isLowerCase(ai))
- System.out.println(ai" es un
minuscula") -
C\F_Telematica\Texto\Tema14gtjava
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\Tema14gt
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)
19Programación del sistema
- Permite interactuar con el sistema operativo. Hay
tres clases principales - System
- Runtime
- Process
20System
- 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.
21Runtime
- 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)
22Ejemplo
- 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 lt Integer.MAX_VALUEi)
- new Integer(i)
-
- C\F_Telematica\Texto\Tema14gtjava
Sistema.Sistema0 - Memoria disp. 2031616 bytes
- Mem. libre antes 1870032 bytes
- Mem. libre desp. 1691224 bytes
- Milisegundos 32609
- C\F_Telematica\Texto\Tema14gt
23Process
- 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.
24Ejemplo
- 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)
-
-