Está en la página 1de 17

Fundamentos de

Programación en Java

2da Parte
wyanez@gmail.com
Actualizado a Diciembre 2020
Agenda
 Conversiones de Tipos (Cast)
 Paquetes de Java
 Clases Esenciales:
 java.lang (Básicas)
 java.util (Utilidades)
 java.io (Entrada y Salida)
Conversiones de Tipos
double n=15/2;
System.out.println(n);
Resultado: 7.0000 !!! No 7.5 ¿por que?
Regla:
 si los operandos son todos del mismo tipo el
resultado es del mismo tipo de los operandos y ese
es el criterio que se aplica en este caso.
 si los operandos son de distinto tipo, el resultado es

convertido al tipo mas grande en la expresión


Solución:
 Hay que utilizar cast: double n=(double)15/2;
Paquetes Básicos de Java
 java.lang: Clases fundamentales del lenguaje
 java.util : Utilidades. Estructuras de Datos
 java.awt : Interfaces Graficas de Usuario (GUI)
 javax.swing: GUI’s mejoradas y mas sofisticadas
 java.sql : Acceso a BD desde Java (JDBC)
 java.time : manejo de fechas y horas
 java.text : formato de fechas y Números
 java.io : Entrada y Salida
 java.net :Programación en Red
(Cliente/Servidor)
java.lang : Clases Básicas
 Object: La Clase Madre de todas las Clases.
 String y StringBuffer/StringBuilder
 System
 Thread: Hilos. Concurrencia
 Math : Operaciones Matematicas
 Clases “Wrappers” (Envolturas): Integer,
Double, Float, Boolean, Character, Byte, Short,
Long
 Throwable, Exception y sus Subclases
Java.util: Utilidades
 Date: Fechas y Horas
 Vector: Arreglos Dinámicos
 HashTable: Tablas Hash
 Random
 Timer y TimerTask
 Colecciones: API Collection: List/ArrayList,
Map/HashMap, Set/HashSet, TreeSet
La Clase String (java.lang)
 Java maneja los Strings como objetos, esto
permite tener una variedad de métodos a nuestra
disposición para manipular los Strings, algunos de
estos métodos son:
 charAt (int posición(0...n-1))-> char: devuelve el
char que esta en la posición indicad
 equals(String otro)-> boolean: compara dos
strings.
 indexOf (char letra)->int: me devuelve la
posición en que esta un char.
 length ( )->int: me devuelve la longitud.
La Clase String (java.lang)
 substring(int posini, int posfin)-> String:
devuelve un substring desde posini hasta
posfin-1.
 trim( )-> String: elimina los espacios en
blanco al principìo y final de un string.
 toUpperCase( )->String: convierte a
mayúsculas.
 toLowerCase() ->String: convierte a
minúsculas.
StringBuilder (java.lang)
 Es útil para Strings que cambian
frecuentemente, ya que cuando usamos
String ocurre lo siguiente:
  String s=”hola”; //se crea un objeto de tipo string
referenciado o apuntado por s
 s = + “mundo” //se crea un nuevo objeto cuyo
contenido es “hola mundo” y pasa a ser apuntado por s. El
otro objeto (el que tiene “hola”) es marcado para ser
eliminado de memoria cuando se active el recolector de
basura.
StringBuilder (java.lang)
 Con StringBuilder sería así:
StringBuilder s = new StringBuilder(“hola”);
s.append(“mundo”);
s.append(“!”);
//ahora el mismo objeto referenciado por s contiene
“hola mundo!”
  Tiene un método toString( ) que
convierte el objeto a String.
Clases “Wrappers”
(Envolturas)
 Java tiene 8 clases equivalentes a los
tipos primitivos, definidas en java.lang y
que sirven para en un momento dado
manipular variables de tipos primitivos
como si fueran objetos. Esto es necesario
cuando vamos a almacenarlos en una
estructura de datos como Vector y List/
ArrayList que trabajan solo con objetos.
Clases “Wrappers”
(Envolturas)
Clase Tipo Entre sus métodos
Primitivo tienen métodos
Integer int (parseXXX, donde
XXX corresponde al
Double double
nombre de la clase)
Float float útiles para
Byte byte convertir de String
a número y de
Short short número a String, lo
Long long hacemos con el
Boolean boolean método toString()

Character char
Clases “Wrappers”
(Envolturas)
 Java tiene un mecanismo llamado
Autoboxing y AutoUnboxing que
permite convertir de un tipo primitivo a
su clase equivalente:
Ejemplo:
Integer objInt = new Integer(100);
int i = objInt //Conversión automática!
Equivale a:
int i = objInt.intValue();
La Clase Vector (java.util)
 Cuando no tenemos idea del número de elementos
que puede contener un arreglo tenemos a
disposición la clave Vector (definida en java.util), la
cual me permite manejar “arreglos dinámicos”.
 Un Vector puede tener elementos de distinto tipo
(Ej: Vector v) si se desea indicar el tipo de los
elementos podemos hacerlo asi:
Vector<String> v = new Vector<>();
v.add(“William”);
v.add(“Yanez”);
La Clase Vector (java.util)
 Métodos
 add (Object element) ->boolean agrega un elemento al
final del vector. Lo que agrego en el vector debe ser un
“Objeto” es decir una variable cuyo tipo es una clase.
 add (int position, Object element) inserta un elemento en
la posición indicada del vector.
 elementAt(int posicion)->Object: me devuelve el
elemento en esa posicion del vector.
 isEmpty()->boolean : me indica si el vector está ó no vacío.
 size()->int: me devuelve el número de elementos del vector
 setElementAt(Object nuevo valor, int posi): me permite
cambiar el contenido de la posición posi del Vector.    
La Clase Vector (java.util)
 contains (Object valor)->boolean: me indica si el
vector contiene ó no a un elemento indicado por valor.
 indexOf (Object valor)->int: me indica la Posición
del elemento valor dentro del Vector.
 remove(int posi) → Object: me permite eliminar del
vector al elemento que esta en la posición posi. Todos
los elementos por encima de posi son movidos una
posición antes.

clear() / removeAllElements(): me permite
eliminar todos los elementos del vector
Entrada y Salida (java.io)
 Basada en flujos (Stream)
 Hay 2 grupos de clases, para manejo de
Bytes (Stream) y para manejos de char
(Reader y Writer).
 Usualmente utilizaremos 2 de ellas:
 BufferedReader (para leer) tiene un metodo
readLine()
 PrintWriter (para escribir) tiene metodos
print() y println()

También podría gustarte