Metodos Java y Conceptos
Metodos Java y Conceptos
Metodos Java y Conceptos
A todo dato (constante, variable o expresión) le corresponde un tipo específico en Java. Un tipo de
dato determina los valores que pueden asignarse a un dato, el formato de representación
correspondiente y las operaciones que pueden realizarse con dicho dato.
Por otro lado, a partir de estos tipos primitivos de dato pueden construirse otros tipos de datos
compuestos, arrays, clases e interfaces. En la siguiente tabla se muestran los tipos de dato
primitivos de Java con el intervalo de representación de valores que puede tomar y el tamaño en
memoria correspondiente.
Los tipos nativos de Java, son los tipos de datos "fáciles de usar" es decir, no es necesario crear un
objeto de manera explícita para hacer uso de ellos. Los tipos primitivos como su nombre lo da a
entender, son los tipos de datos más básicos y simples del sistema de tipos de Java y por ello es
bastante fácil usarlos.
Java posee un total de ocho tipos primitivos, que cubren todo tipo de números (reales o decimales
y enteros) cada uno con una extensión o magnitud máxima, también cubre los valores lógicos
(falso y verdadero) e incluye caracteres.
Dado que Java es un lenguaje de programación orientado a objetos no nos debe sorprender el
hecho de que una gran cantidad de los tipos que conforman su sistema de tipos de datos sean
tipos complejos (objetos que provienen de clases). La librería estándar de Java está conformada
por cientos (quizás miles) de clases que representan en última instancia un tipo de dato particular.
Una de las principales clases que conforman estos tipos complejos es la clase String, los String no
son un tipo primitivo (son objetos), sin embargo está conformado por una serie (una cadena) de
chars (los cuales sí son primitivos), al ser una clase como tal, posee una serie de atributos y
métodos que podemos usar para manipular nuestra cadena de caracteres.
String: Con ésta podemos crear cadenas de caracteres con gran facilidad (Strings), La clase String
posee una serie de métodos que nos permiten realizar tareas como determinar el tamaño de la
cadena (el número de caracteres), determinar la posición de un carácter en especifico, reemplazar
ciertas secciones de la cadena por otras, y muchas más.
Scanner: facilita mucho la tarea de leer la entrada de datos por teclado, es decir recibir valores
escritos por el usuario por medio del teclado.
Arraylist: La clase ArrayList permite crear una "colección" de elementos al interior de sí misma, es
similar a un Vector o arreglo, y posee una gran variedad de métodos y atributos que nos permiten
por ejemplo, buscar un elemento cualquiera, insertar un nuevo elemento, eliminarlo, entre otras.
Es básicamente un arreglo pero con una enorme cantidad de facilidades para gestionar los datos
que este contiene.
Cada uno de ellos empieza por el tipo de dato, seguido del nombre
de la variable; el cual podemos utilizar el que deseemos.
//Declaración de la variable char;
char michar = 'a';//Los char se ponen entre comilla simple ' '
Existe una enorme variedad de tipos complejos en la librería estándar de Java, y la sintaxis para
crear cada uno de estos es similar pero en este casi no solo varía según la naturaleza del tipo (en
este caso complejo) sino que también varía según el tipo de dato como tal (ArrayList, Scanner,
etc.), es decir en última instancia depende el constructor del tipo complejo. La sintaxis es la
siguiente
//Declaración de la variable
TipoComplejo nombreVariable;
Indica que una variable, método o clase no se va a modificar, lo cuál puede ser útil para añadir más
semántica, por cuestiones de rendimiento, y para detectar errores.
– Si una variable se marca como final, no se podrá asignar un nuevo valor a la variable.
Sintaxis:
Por ejemplo :
final int unaConstante = 10;
Si tratamos de modificar el valor de una variable con el modificador final, el compilador indicará
un error. Una vez definido el valor no se puede modificar.
habríamos creado al ciudadano 'juan' y ya nunca más se le podrá asignar a 'juan' otra instancia de
Ciudadano. Sin embargo, es posible cambiar los datos internos de ese ciudadano:
juan.setApellido("Pérez");
La última línea no compilaría pues 'juan' fue declarado con final, así que no se le puede asignar
nada nuevo.
CLASES
-Definicion:
Las clases en Java son básicamente una plantilla que sirve para crear un objeto. Si imaginásemos
las clases en el mundo en el que vivimos, podríamos decir que la clase “persona” es una plantilla
sobre cómo debe ser un ser humano. Todos y cada uno de nosotros, los seres humanos, somos
objetos de la clase “persona“, ya que todos somos personas. La clase “persona” contiene la
definición de un ser humano, mientras que cada ser humano es una instancia u objeto de dicha
clase.
Vamos a empezar a construir la clase “persona”. Necesitamos establecer las propiedades de la
clase persona. Como personas, ¿qué propiedades poseemos?
Podríamos hablar de un nombre(s), apellido(s), una fecha en la que nacimos, nuestra edad y
género. Hay muchas otras propiedades que podríamos mencionar, pero por ahora solamente
tomaremos en cuenta las que hemos listado. Son simplemente características que posee todo ser
humano, al menos en la mayoría de los casos.
Objetos
Objeto: entidad existente en la memoria del ordenador que tiene unas propiedades (atributos o
datos sobre sí mismo almacenados por el objeto) y unas operaciones disponibles específicas
(métodos).
Nota: con la declaración Persona p1, se está reservando un espacio de memoria para almacenar
una referencia (dirección de memoria) a un objeto de la clase Persona. Al respecto, es importante
comprender que p1 no es un objeto, sino una variable que almacenará la referencia a un objeto
(de la clase Persona) que todavía no existe. Seguidamente, mediante la sentecia p1 = new
Persona(), el operador new creará un objeto de la clase Persona, reservando memoria para
guardar sus atributos (nombre y edad en este caso). Finalmente, con el operador de asignación (=),
la dirección de memoria donde esté creado el objeto, es asignada a p1.
-Manejo de excepciones:
Una excepción en Java (así como en otros muchos lenguajes de programación) es un error o
situación excepcional que se produce durante la ejecución de un programa. Algunos ejemplos de
errores y situaciones excepcionales son:
El lenguaje Java diferencia claramente entre tres tipos de excepciones: errores, comprobadas (en
adelante checked) y no comprobadas (en adelante unchecked). El gráfico que se muestra a
continuación muestra el árbol de herencia de las excepciones en Java (se omite el paquete de
todas las que aparecen, que es java.lang):
La clase principal de la cual heredan todas las excepciones Java es Throwable. De ella nacen dos
ramas: Error y Exception. La primera representa errores de una magnitud tal que una aplicación
nunca debería intentar realizar nada con ellos (como errores de la JVM, desbordamientos de
buffer, etc) y que por tanto no tienen cabida en este artículo. La segunda rama, encabezada por
Exception, representa aquellos errores que normalmente si solemos gestionar, y a los que
comunmente solemos llamar excepciones.
A pesar de que la diferencia entre las excepciones de tipo checked y unchecked es muy
importante, es también a menudo uno de los aspectos menos entendidos dentro del tratamiento
de excepciones