Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tipos De Datos
Java define 8 tipos de datos básicos(llamados tipos primitivos o simples)
Para números:
byte
short
Enteros
int
long
float
double Reales
williamyanez@hotmail.com
Página 1 de 8
Apuntes Básicos de Java
una clase tiene métodos asociados para las operaciones más comunes. Esto lo
explicaré en la próxima sección.
Operadores
Lógicos y relacionales Aritméticos
! not +, -, *
&& and ++, --
|| or +=, - =, * =, /=
^ xor % (residuo igual al MOD pascal)
!= distinto
= = comparación = (asignación)
<, >, >=, <=
double n=15/2;
System.out.println(n);
Al ejecutar este código vemos con sorpresa que se imprime: 7.000000 y no
7.5 como esperábamos, esto se debe a que los operandos (15 y 2) son de tipo
Entero (por defecto las constantes sin decimales Java las toma como int y las
que tienen decimales como double) y entonces 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.
El otro criterio es que si los operandos son de distinto tipo, el resultado es
convertido al tipo mas grande en la expresión, tomando en cuenta los tamaños
presentados en la sección anterior.
Ahora bien, ¿como escribimos la expresión anterior (n=15/2) ? hay dos
soluciones:
1. Escribir n=15/2.0 (el 1er operando es int y el 2do double por lo que el
resultado es double).
2. Utilizar el operador de cast ó moldeo (que consiste en colocar el tipo
entre paréntesis al que queremos convertir la expresión):
n=(double) 15/2;
El 2do caso es el mas recomendado debido a que no siempre podemos hacer lo
del 1er caso (si la expresión es A/B ¿como hacemos?) y también se debe usar
cuando se presente lo siguiente:
williamyanez@hotmail.com
Página 2 de 8
Apuntes Básicos de Java
En una asignación el operando del lado izquierdo del = debe ser mas
grande que el del lado derecho, sino hay que usar cast.
Ejemplo:
int x=2.5; //Esto no compila x es int y 2,5 es double y double>int
lo correcto es int x=(int)2.5;
La Clase String
Como ya mencione anteriormente 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 del string.
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.
Java también tiene una clase llamada StringBuffer que es útil para strings
que cambian frecuentemente, ya que cuando usamos String ocurre lo
siguiente:
Importante: Este método lo tienen todas las clases de java (inclusive las que
hacemos nosotros) por que lo heredan de la clase Object, (la madre de todas
las clases) así como equals( ) para comparar dos objetos del mismo tipo.
williamyanez@hotmail.com
Página 3 de 8
Apuntes Básicos de Java
charAt(int pos)->char: igual que string
length( )-> int: igual que string
setCharAt(int pos, char c): cambia el contenido en la posición pos y coloca c.
Clase: Integer
Para Convertir de String a Numero:
Integer.parseInt(String)->int convierte un String a int.
Integer.parseInt(String,base) -> int convierte un String a int, pero
podemos especificar la base en la cual esta el String.
Ejemplo: int valor=Integer.parseInt(“A1”,16)
Convierte el String “A1” (En Hexadecimal, base 16) a int dando como
resultado 17.
Clase: Double
Para Convertir de String a Numero:
Double.parseDouble(String)->double convierte un String a double.
williamyanez@hotmail.com
Página 4 de 8
Apuntes Básicos de Java
Arreglos en Java
Declaración: tipo nombre[]; donde tipo puede ser un tipo simple ó una
clase
Creación: nombre = new tipo [numElementos];
Acceso: nombre[i] (0...numElemento-1)
La Clase Vector
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”.
Métodos
addElement (Object o) 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.
elementAt(int posicion)->Object: me devuelve el elemento en esa
posicion del vector.
isEmpty()->boolean : me indica si el vector está ó no vacío.
williamyanez@hotmail.com
Página 5 de 8
Apuntes Básicos de Java
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.
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.
removeElementAt(int posi): 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.
removeAllElement(): me permite eliminar todos los elementos del
vector
La Clase Hashtable
Así mismo Java tiene una estructura llamada Hashtable (java.util) que permite
manejar un “arreglo dinámico” pero que en vez de ubicar las valores por una
posición numérica los ubica de acuerdo a una clave (osea, que guarda parejas
clave-valor).
Ejemplo:
Hashtable ht=();
ht.put(“William”, newInteger(32)); Esto es una Hashtable
22 28 32
Clave Valor debe ser un objeto Mildred Liliana William
ht.put(“Mildred”, newInteger(22));
ht.put(“Liliana”, newInteger(28));
La Clase Stack
Así mismo tenemos la clase Stack (hereda de vector) para manejar pilas
definida en java.util:
Métodos:
empty() me indica si la pila está vacía ó no.
pop() saca el elemento del tope de la pila y lo devuelve como un Object
push(valor) mete el elemento en el tope en el tope de la pila. Debe
ser un Object
peek() permite consultar el valor del tope sin eliminarlo
search(valor) busca un valor en la pila y devuelve en que posición
está
williamyanez@hotmail.com
Página 6 de 8
Apuntes Básicos de Java
Así mismo, Java2 dispone de la API Collection que amplia la cantidad de
estructuras de datos disponibles (Listas, Mapas, Conjuntos, etc...).
Hay una clase BitSet (java.util) para manejar arreglos de bits (0 y 1).
Ejemplo:
try{
FileReader archEntrada = new FileReader (“entrada.in”);
BufferReader entrada = new BufferedReader (archEntrada);
String Linea;
while((Linea=entrada.readLine())!=null){
salida.println(Linea); // Escribimos lo que leemos del
archivo de entrada en el de salida.
}//while
Todo esto debemos hacerlo
salida.close(); en un try...catch
entrada.close(); (IOException e) para
} controlar los posibles
catch(IOException e){ errores de I/O que puedan
System.out.println(e.toString());
}
williamyanez@hotmail.com
Página 7 de 8
Apuntes Básicos de Java
while (st.hasMoretokens()){
String token = st.nextToken();
v.addElement(token);
}
Varios
Java tiene una clase Math (definida en java.lang) que tiene una serie de
métodos estaticos (definidos con la palabra reservada static y se
invocan con el nombre de la clase) para las Funciones Matemáticas
(incluyendo trigonometricas) mas comunes.
Ejemplo de ellos son: abs(),cos(),sin(),tan(),log(), max(),min(), pow()
(potencia), sqrt() (raiz cuadrada), y las de redondeo: round(),rint(),floor() y
ceil()
williamyanez@hotmail.com
Página 8 de 8