Baixe Programación con Java e outras Resumos em PDF para Vestibulares, somente na Docsity!
Estructuras principales
Anatomía de un programa Java
public class PrimerEjemplo {
public static void main(String args[]){
System.out.println(“Hola alumnos”);
Java es un lenguaje de programación case sensitive , quiere decir que distingue
entre mayúsculas y minúsculas. Ejemplo: si la palabra main, del código anterior,
la hubiésemos escrito Main , el programa daría un error.
La palabra public es un modificador de acceso (lo veremos más adelante).
Class: nos indica que el código está dentro de una clase (termino que veremos
más adelante), todos los programas Java deben de estar dentro de al menos una
clase, pudiendo estar compuestos por varias clases.
Las llaves “ {} ”: delimitan bloques de códigos. Las llaves llevan un orden, toda
llave que se abre debe de ser cerrada.
Tipos de datos en Java
(Tipos primitivos)
Enteros
Int: usa 4 bytes para guardar los datos. Desde - 2.147.483.648 hasta
Ejemplos: 7, 700 ó 7.000.000 podrían ser Int
Short: 2 bytes de espacio para almacenamiento. Desde - 32.768 hasta
Ejemplos: 7 ó 700 podrían ser Short, pero el 7.000.000 no cabría.
Long: 8 bytes de espacio para almacenamiento. Una barbaridad de
números. Sufijo L.
Ejemplo: Todos los anteriores incluso 7.000.000.000L, la L para indicar
que es un dato del tipo Long.
Byte: 1 byte de espacio para almacenamiento. Desde - 128 hasta 127.
Ejemplo: 7, pero 700 se sale de rango
byte < short < int < long
Coma flotante (Decimales)
Float: 4 bytes de espacio para almacenamiento. Aproximadamente de 6 a
7 cifras decimales significativas. Sufijo F.
Ejemplo: 3.25F
Double: 8 bytes de espacio para almacenamiento. Aproximadamente 15
cifras decimales significativas.
Ejemplo: 5.1 5489632458
(Dependiendo del dato a manejar y de la precisión que queramos usaremos
uno u otro)
Char: para representar caracteres.
Ejemplo: ‘a’ (los datos de tipo char tienen que ir representados siempre ente
comillas simples).
Boolean: solamente pueden tener dos valores True o False, se suelen utilizar para
evaluar condiciones.
Variables en Java
¿Qué es una variable? Espacio en la memoria del ordenador donde se
almacenará un valor que podrá cambiar durante la ejecución del programa.
¿Por qué hay que utilizar variables? Porque a la hora de crear un programa
surge la necesidad de guardar datos temporalmente que necesitarás utilizar en el
futuro en ese mismo programa.
¿Cómo se crea una variable en Java? Especificando el tipo de dato que
almacenará en su interior + el nombre de la variable. Ejemplo: Int salario; el tipo
de dato que almacenará esa variable va a ser un dato de tipo entero (Int) y de
nombre “salario”. Así reservamos un espacio de la memoria para un valor.
¿Qué es iniciar una variable? Es darle un valor. Nombre_variable=valor.
Ejemplo: salario=2000; Iniciar una variable es meter un valor al espacio que se
reservó anteriormente al crear la variable. Java no permite utilizar variables que
no se hayan iniciado.
Lógicos, relacionales y booleanos:
> : mayor que
< : menor que
<> : mayor o menor que
!= : distinto que
== : igual que
&& : y lógico
|| : o lógico
Incremento y decremento:
++ : incremento, incrementa en 1 el valor al que se le aplique.
-- : decremento, resta en 1 al valor al que se le aplique.
+=nº : Incremento, incrementa en nº al valor que se le aplique.
- =nº : Decremento, resta en nº al valor que se le aplique.
Concatenación (Unen valores):
+ : une o concatena
Dependiendo del contexto o de la sintaxis el programa lo entenderá el + como suma o
como concatenación.
Clases en Java
Todo programa Java debe de estar compuesto al menos de una clase. Las clases en Java
pueden ser de dos tipos:
Clases Propias: que son las que nosotros creamos.
Clases Predefinidas: son clases que ya están construidas dentro del lenguaje de
programación Java para que las podamos utilizar dentro de nuestros programas en
caso de necesitarlas, estos son algunos ejemplos:
String: sirve para manejar cadenas de caracteres o cadenas de texto
Math: nos permite hacer cálculos matemáticos, raíces cuadradas,
potencias, redondeos, etc.
Array: nos permite manipular matrices.
Thread: permite la programación concurrente^2.
En Java existe una biblioteca de clases, también denominado API JAVA, es una biblioteca
donde vienen todas las clases del lenguaje Java y que todo programador deberá comprobar
con frecuencia, ya que ahí vienen todos los métodos de las clases, los cuales son imposible
de memorizar todos (https://docs.oracle.com/javase/8/docs/api/).
2 Que permite desarrollar software que ejecuta eventos o circunstancias que están
sucediendo o existen al mismo tiempo.
Clase Math
La clase Math contienen un muestrario de métodos que nos permitirán realizar cálculos
matemáticos.
Math.sqrt(n): raíz cuadrada de un número.
Math.pow(base, exponente): potencia de un número. Base y exponente son
doubles.
Math.round(decimal): redondeo de un número.
Math.PI: constante de clase con el número PI.
Clase String
String no es un tipo primitivo.
¿Cómo almacenar una cadena de caracteres?
String mi_nombre=“Juan”; donde mi_nombre es un objeto (instancia,
ejemplar) de la clase String.
Métodos (más usados) de la clase String para manipulación de cadenas de
texto:
.length() .- devuelve un entero del nº de caracteres del String.
String ejemplo = "Almonte"; int longitud = ejemplo.length(); System. out .println(ejemplo); System. out .println(longitud);
Length()-1: devuelve la posición del ultimo carácter.
ejemplo.length()- 1 = 6
(A=0, l=1, m=2, o=3, n=4, t=5, e=6)
.charAt(n) .- este método necesita un parámetro “n”, donde “n” es la posición del carácter
dentro de la cadena. Devuelve la posición de un carácter dentro de una cadena. (Las
posiciones empiezan a contar de 0).
ejemplo.charAt(2) = m;
(A=0, l=1, m=2, o=3, n=4, t=5, e=6)
String ejemplo = "Almonte"; char caracter = ejemplo.charAt( 2 ); System. out .println(ejemplo); System. out .println(caracter);
.compareTo() .- devuelve un número, mayúsculas y minúsculas alteran el resultado, para ello
hay que usar .compareToIgnoreCase().
Nº > 0 → s1 > s2.
Nº = 0 → s1 = s2.
Nº < 0 → s1
Condicionales en Java
Condicional if:
Estructura:
If(condición){
Código a ejecutar si la condición es verdad (true);
If puede acompañarse de else , pero no es obligatoria.
Condicional switch :
Estructura:
Switch (valor a evaluar){
Case valor1:
Código a ejecutar;
Break;
Case valor2:
Código a ejecutar;
Break;
Switch puede acompañarse de default pero no es obligatoria.
Bucles Java
Bucles indeterminados:
While
While (condición){
Línea
Línea
Línea
Do – while
Bucles determinados
For
For – each
Para ver el valor de una determinada posición en la consola:
Para ver el conjunto de valores enteros se puede ahorrar tiempo usando un
bucle for:
Otra forma para verlo y más corta sería:
for(int elemento:miArray) System.out.println(elemento);
Se podría traducir como: por cada elemento int del Array “miArray” haz un
System.out.println de elemento
Arrays Bidimensionales
Estructura que contiene un Array dentro de otro.
Sirven para representar dos dimensiones, ancho y alto o los ejes x e y por ejemplo.
Sintaxis:
Declaración:
int[][] miArray=new int[5][3];
Se añaden dos pares de
corchetes para indicar
que es bidimensional
Indicamos cuantos elementos
almacenaría la Array en la 1ª
dimensión y cuantos en las 2ª
El 1º valor corresponde a las
columnas y el 2º a las filas
This : hace referencia al campo de la clase y/o método y lo diferencia del nombre del
parámetro en caso de que ambos sean iguales, por lo que en realidad, no es obligatorio
su uso, solo cuando hay conflicto de nombres. Ejemplo:
› Puedes hacer:
Donde an en el parámetro y Ancho el atributo.
› O puedes hacer:
Donde this.ancho en el atributo de la clase y ancho es el parámetro del método.
ArrayList: ArrayList listaEmpleados = new ArrayList<>(); listaEmpleados.add(new Empleado("Fran", 1500 , 2026 , 3 , 3 )); listaEmpleados.add(new Empleado("Ana", 1500 , 2022 , 12 , 5 )); listaEmpleados.add(new Empleado("Cipri", 1500 , 2025 , 18 , 6 )); listaEmpleados.add(new Empleado("Jorge", 1000 , 2025 , 18 , 6 )); listaEmpleados.add(new Empleado("Dani", 1500 , 2025 , 18 , 6 )); listaEmpleados.add(new Empleado("Carmen", 1300 , 2025 , 18 , 6 )); listaEmpleados.add(new Empleado("Fran", 1500 , 2026 , 3 , 3 )); listaEmpleados.add(new Empleado("Ana", 1500 , 2022 , 12 , 5 )); listaEmpleados.add(new Empleado("Cipri", 1500 , 2025 , 18 , 6 )); listaEmpleados.add(new Empleado("Jorge", 1000 , 2025 , 18 , 6 )); listaEmpleados.add(new Empleado("Dani", 1500 , 2025 , 18 , 6 )); listaEmpleados.add(new Empleado("Carmen", 1300 , 2025 , 18 , 6 )); System. out .println(listaEmpleados.size()); for(Empleado e: listaEmpleados) { System. out .println("Nombre " + e.getNombre() + ", sueldo " + e.getSueldo() + ", fecha de alta " + e.getAltaContrato()); }
HERENCIA
Extends: Permite que una clase herede de otra, así la nueva clase puede utilizar las
propiedades y métodos public de la clase padre. De esta forma Furgoneta hereda de Coche
y puede usar sus atributos y métodos públicos:
public class Furgoneta extends coche.Coche { }
Abstract: Se utiliza cuando existe herencia, pero en la clase padre hay una característica
(método) que todas las clases hijas deben tener, aunque cada una la implemente de forma
distinta. Para ello se declara el método como abstract, lo que significa que no tiene
implementación en la clase padre y obliga a las clases hijas a sobrescribirlo.
Clase padre:
public abstract class Persona{ // Metodo ABSTRACTO public abstract String getDescripcion(); } Y en las clases hijas hacemos: public class Empleado extends persona.Persona{ //Sobreescribimos el metodo Abstracto @Override public String getDescripcion() { return " el id de este empleado es: " + id; } } public class Alumno extends persona.Persona{ //Sobreescribimos el metodo Abstracto @Override public String getDescripcion() { return " este alumno es de: " + curso; } }