Curso de Java-Maven-modulo1
Curso de Java-Maven-modulo1
Orden
del Concepto
concepto
Módulo 1
1.0 Introducción a Java
2.0 Instalación del Software necesario
3.0 Interfaces Graficas - GUI
4.0 Variables y comentarios en Java
5.0 Cuadros de Diálogo con JOptionPane de Swing
6.0 Operadores en Java
6.1 Operadores Matematicos
6.2 Operadores de Incremento y Decremento
6.3 Operadores Relacionales
6.4 Operadores Logicos
7.0 Sentencias de control
7.1 Sentencia de control : if-else
7.2 Sentencia de control : Switch
7.3 Sentencia de control : Bucles
8.0 Metodos, Funciones y procedimientos
9.0 Funciones Básicas con Cadenas
10.0 Arreglos en Java
11.0 Listas en Java
12.0 Programación Orientada a Objetos (P.O.O)
Creación de clases, instancias, propiedades y métodos de
12.1
objetos
12.2 (P.O.O) Herencias
12.3 (P.O.O) Modificadores de acceso
12.4 (P.O.O) Variables y Métodos estáticos
12.5 (P.O.O) Arrays
13.0 Operaciones con MySql
13.1 BBDD MySql
13.2 Creando y eliminando tablas en MySql
13.3 Modificando tablas en MySql
13.4 Conectando la Web con la BBDD
13.5 Obteniendo registros de la BBDD
13.6 Importaciones de tablas-Búsqueda de filtros
13.7 Página de búsqueda
13.8 Insertando registros en BBDD
13.9 Eliminando registros en BBDD
13.10 Actualizando registros en BBDD
14 Inyecciones SQL
14.1 Inyección SQL
14.2 Consultas preparadas evitando inyección SQL
14.3 Consultas preparadas insertar registros en MySql
http://www.manualweb.net/java/literales-java/
http://www.manualweb.net/java/operadores-asignacion-aritmeticos-java/
http://www.utn.edu.ec/reduca/programacion/estructuras/anlisis2.html
1.-Introduccion a Java
Entornos de funcionamiento
En dispositivos móviles y sistemas embebidos
En el navegador web
En sistemas de servidor
En aplicaciones de escritorio
En plataformas soportadas
Agregando un Menu
En la paleta principal nos ubicamos en “Swing Menus” y arrastramos la opción “Menu” a la parte superior donde
se encuentra la Barra Menu de nuestro formulario.
Agregando un SubMenu
En la paleta principal nos ubicamos en “Swing Menus” y arrastramos la opción “Menu Item” a la parte superior
de nuestro formulario y buscamos al menú en donde será agregado
Si deseamos realizar algún cambio dentro de este submenú damos clic derecho sobre el :
Acciones agregadas a un SubMenu
Nos ubicamos sobre el submenu y damos clic derecho -> Events->Action-> actionPerformed: y pulsamos enter y
accederemos al codigo de ese submenu creado.
if (resultado == JOptionPane.YES_OPTION){
System.exit(0);
Tipos de variables
class Triangulo {
private long base;
private long altura;
}
class Triangulo {
static long lados = 3;
}
class Matematicas {
final static long PI = 3.14159;
}
byte
short
int
long
float
double
boolean
char
Asignacion de enteros
Los enteros que podemos utilizar serán byte, short, int y long. Los literales que
les asignemos siempre será un número entero.
Comentarios en Java
Comentarios de varias líneas.
Los comentarios de varias líneas se incluyen entre los símbolos /* y */.
/*
Este es un ejemplo de
un comentario de varias
líneas.
*/
Comentarios de una sola línea.
Para comentariar una sola línea se utiliza la doble diagonal //. El comentario se
inicia cuando se encuentra la doble diagonal y continua hasta el final de la línea.
Elementos de un JOptionPane:
ParentComponent o ventana padre: que es el primer parámetro y
representa a la ventana padre. Por el momento la pondremos a null y nos
funcionará sin problema (null o component que puede ser un JFrame).
Message o mensaje: contiene el texto a mostrar (String).
Title o título: nos permite introducir un título a la ventana (String).
Icon o icono: nos permite introducir un icono a la ventana (Ejemplo
JOptionPane.INFORMATION_MESSAGE).
messageType: nos permite introducir un número (ver segunda imagen.
Escribimos un número. Por ejemplo: 0).
6.-Operadores en Java
6.1-Operadores Aritméticos
Los operadores aritméticos en Java son los operadores que nos permiten realizar
operaciones matemáticas: suma, resta, multiplicación, división y resto.
Operador Descripción
+ Operador de Suma. Concatena cadenas para la suma de
String
- Operador de Resta
* Operador de Multiplicación
/ Operador de División
% Operador de Resto
6.2-Operadores de asignación
Sentencias de decisión
Sentencias de bucle
Sentencias de ramificación
Sentencias de Decisión
Son sentencias que nos permiten tomar una decisión para poder ejecutar un bloque
de sentencias u otro.
Mediante if-else podremos evaluar una decisión y elegir por un bloque u otro.
if (expresion) {
// Bloque si la condición es verdadera
} else {
// Bloque si la condición es falsa
}
Mientras que con switch podremos evaluar múltiples decisiones y ejecutar un bloque
asociado a cada una de ellas.
switch (expresion) {
case valor1:
bloque1;
break;
case valor2:
bloque2;
break;
case valor3:
bloque3;
break;
…
default:
bloque_por_defecto;
}
Sentencias de Bucle
Las sentencias de bucle nos van a permitir ejecutar un bloque de sentencias tantas
veces como queramos, o tantas veces como se cumpla una condición.
En el momento que se cumpla esta condición será cuando salgamos del bucle.
while (expresion) {
bloque_sentencias;
}
Por otro lado, si utilizamos do-while, lo que vamos a conseguir es que el bloque de
sentencias se ejecute, al menos, una vez.
do {
bloque_sentencias;
} while (expresion)
La sentencia for nos permite escribir toda la estructura del bucle de una forma más
acotada. Si bien, su cometido es el mismo.
for (sentencias_inicio;expresion;incremento) {
bloque_sentencias;
}
Sentencias de ramificación
Las sentencias de ramificación son aquellas que nos permiten romper con la
ejecución lineal de un programa.
En el caso de break nos sirve para salir de bloque de sentencias, mientras que
continue sirve para ir directamente al siguiente bloque.
if (expresion) {
// Bloque en verdadero
} else {
// Bloque en falso
}
Las sentencias if-else pueden estar anidadas y así nos encontraríamos con una
sentencia if-then-elseif, la cual tendría la siguiente estructura:
if (expresion) {
// Bloque en verdadero
} else if (expresion) {
// Bloque en falso
} else if (expresion) {
// Bloque en falso
} else if (expresion) {
// Bloque en falso
} ...
Ejercicio:
La normativa indica que debe obtenerse un total de 14 puntos entre la nota final del
primer y segundo Quimestre para aprobar. Si las notas son 11, 12, 13 debera rendir un
examen supletorio; y si obtiene una nota inferior no aprobará la asignatura. El promedio
para aprobar en cualquier caso es 7.
switch (expresion) {
case valor1:
bloque1;
break;
case valor2:
bloque2;
break;
case valor3:
bloque3;
break;
...
default:
bloque_por_defecto;
}
switch (expresion) {
case valor1: case valor2: case valor3:
bloque1;
break;
case valor4: case valor5: case valor6:
bloque2;
break;
...
default:
bloque_por_defecto;
}
While
La estructura repetitiva while realiza una primera evaluación antes de ejecutar el
bloque. Si la expresión es true pasa a ejecutar de forma repetida el bloque de
sentencias.
while (expresion) {
bloque_sentencias;
}
Do-while
En el caso de la estructura repetitiva do-while, primero se ejecuta el bloque de
sentencias y luego se evalua la expresión. Por lo tanto siempre se ejecutará, al menos
una vez, el bloque de sentencias.
do {
bloque_sentencias;
} while (expresión)
do {
dato=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese un dato:"));
For
La sentencia for tiene la característica de que tiene bien definido el inicio del bloque,
la evaluación de la expresión, el incremento de valor y el bloque de sentencias.
for (sentencias_inicio;expresion;incremento) {
bloque_sentencias;
}
Métodos:
Los métodos y las funciones en Java están en capacidad de realizar las mismas
tareas.Básicamente un método es una función que pertenece a un objeto o clase,
mientras que una función existe por sí sola, sin necesidad de un objeto para ser
usada.
Procedimientos:
[acceso] [modificador] tipo nombreFuncion([tipo nombreArgumento,[tipo nombreArgumento].
..])
{
/*
* Bloque de instrucciones
*/
return valor;
}
Ejemplos de métodos
int metodoEntero()//Función sin parámetros
{
int suma = 5+5;
return suma; //Acá termina la ejecución del método
//return 5+5;//Este return nunca se ejecutará
//Intenta intercambiar la línea 3 con la 5
//int x = 10; //Esta línea nunca se ejecutará
}
public String metodoString(int n)//método con un parámetro
{
if(n == 0)//Usamos el parámetro en la función
{
return "a"; //Si n es cero retorna a
//Notar que de aquí para abajo no se ejecuta nada más
}
return "x";//Este return sólo se ejecuta cuando n NO es cero
}
static boolean metodoBoolean(boolean n, String mensaje)
//Esta si es una funcion pues usa “static” y posee dos parámetros
{
if(n)//Usamos el parámetro en la funcion
{
System.out.println(mensaje);//Mostramos el mensaje
}
return n; //Usamos el parámetro como valor a retornar
}
void procedimiento(int n, String nombre) //La gran diferencia es el void
{
if(n > 0 && !nombre.equals(""))//usamos los dos parámetros
{
System.out.println("hola " + nombre);
return; //Si no ponemos este return se mostraría hola y luego adiós
}
//También podríamos usar un else en vez del return
System.out.println("adios");
}
nombreFuncion([valor,[valor]...]);
public class Ejemplos
{
public static void main(String args[])//Siempre necesitamos un main
{
Ejemplos ejemplo = new Ejemplos(); //Cuando no es estático, debe usarse un método
//Llamando a un método sin argumentos, usando el objeto
ejemplo.metodoEntero();
//Asignando el valor retornado a una variable
boolean respuesta = metodoBoolean(true, "hola");
// El procedimiento no es static, así que debe llamarse desde el objeto.
ejemplo.procedimiento(0, "Juan");//Invocando el procedimiento
//Usando una función como parámetro
ejemplo.procedimiento(metodoBoolean(1, "hola"), "Juan");
//Lo que retorne metodoBoolean (en este caso 1) se envía al procedimiento
}
}
Comparación de Cadenas
Los métodos de comparación nos sirven para comparar si dos cadenas de texto
son iguales o no. Dentro de los métodos de comparación tenemos los siguientes:
Búsqueda de caracteres
Tenemos un conjunto de métodos que nos permiten buscar caracteres dentro de
cadenas de texto. Todas estas funciones nos devuelven un entero:
.lastIndexOf(int ch) Nos indica cual es la última posición que ocupa un carácter
dentro de una cadena. Si el carácter no está en la cadena devuelve un -1.
.lastIndexOf(int ch, int desdeIndice) Nos indica cual es la última posición que
ocupa un carácter dentro de una cadena, pero a partir de una posición indicada
como argumento.
Búsqueda de subcadenas
Nos permiten buscar cadenas dentro de cadenas, así como saber la posición donde
se encuentran en la cadena origen para poder acceder a la subcadena. Todas
estas funciones nos devuelven un entero:
El método…
s.substring(7);
El método…
s.substring(6,11);
Manejo de caracteres
Otro conjunto de métodos que nos permite jugar con los caracteres de la cadena
de texto. Para ponerles en mayúsculas, minúsculas, quitarles los espacios en
blanco, reemplazar caracteres,….
String.valueOf(boolean b);
String.valueOf(int i);
String.valueOf(long l);
String.valueOf(float f);
String.valueOf(double d);
String.valueOf(Object objeto);
10.0.-Arrays Java
Un array en Java es una estructura de datos que nos permite almacenar una lista
de informacion de un mismo tipo. El tamaño de los arrays se declara en un primer
momento y no puede cambiar en tiempo de ejecución como puede producirse en
otros lenguajes. La declaración de un array en Java y su inicialización se realiza de
la siguiente manera:
tipo_dato nombre_array[];
nombre_array = new tipo_dato[dimension];
char arregloCaracteres[];
arregloCaracteres = new char[10];
Los arrays Java se numeran desde el elemento cero, que sería el primer elemento,
hasta dimension-1 que sería el último elemento. Es decir, si tenemos un array de
diez elementos, el primer elemento sería el cero y el último elemento sería el
nueve. Para acceder a un elemento especifico utilizaremos los corchetes de la
siguiente forma. Entendemos por acceso, tanto el intentar leer el elemento, como
asignarle un valor.
arregloCaracteres[numero_elemento]
Por ejemplo, para acceder al tercer elemento lo haríamos de la siguiente forma:
// Lectura de su valor.
char x = arregloCaracteres[2];
arregloCaracteres[2] = 'b';
char arreglo[];
arreglo = new char[10];
for (int x=0;x<arreglo.length;x++)
System.out.printnln(array[x]);
tipo_dato nombre_array[][];
De esta forma podemos declarar una matriz Java de 2x2 de la siguiente forma:
int matriz[][];
matriz = new int[2][2];
int x = matriz[1][1]; // Para leer el contenido de un elemento
matriz[1][1] = x; // Para asignar un valor.
Hay que tener en cuenta que para mostrar su contenido tendremos que utilizar
dos bucles. Para saber el número de columnas lo haremos igual que antes
mediante la variable .length, pero para saber el numero de filas que contiene cada
columna lo tendremos que realizar de la siguiente manera:
matriz[numero_elemento].lenght;
int matriz[][];
matriz = new int[4][4];
for (int x=0; x < matrix.length; x++) {
for (int y=0; y < matriz[x].length; y++) {
System.out.println (matriz[x][y]);
}
}
Así, por ejemplo, podríamos inicializar un array Java o una matriz Java:
// Tenemos un array de 5 elementos.
char array[] = {'a','b','c','d','e'};
// Tenemos un array de 4x4 elementos.
int array[][] = { {1,2,3,4}, {5,6,7,8}};
11.0.-List en Java
Las listas en Java son variables que permiten almacenar grandes cantidades de
datos. Son similares a los Array o a las Matrices. Las listas son sumamente
versátiles y mucho más fáciles de manejar que otros tipos de variables de
agrupación de datos.
List<Tipo_dato> nombre_Lista = new ArrayList<Tipo_dato>();
Entonces para declarar una lista donde guardaremos datos tipo String, hacemos
lo siguiente:
List<String> ejemploLista = new ArrayList<String>();
Supongamos que queremos agregar los siguientes nombres: Juan, Pedro, José,
María, Sofía.
Hacemos lo siguiente:
ejemploLista.add("Juan");
ejemploLista.add("Pedro");
ejemploLista.add("José");
ejemploLista.add("María");
ejemploLista.add("Sofía");
ejemploLista.size();
ejemploLista.get(0);
ejemploLista.remove(0);
System.out.println(ejemploLista);
También podemos imprimir todos los elementos de la lista de forma individual con
la ayuda de un ciclo for.
for (int i = 0; i <= ejemploLista.size() - 1; i++) {
System.out.println(ejemploLista.get(i));
}
ejemploLista.clear();
ejemploLista.isEmpty();
Esto nos devolverá un true o un false. En caso de que contenga algún elemento
podemos verificar si entre esos elementos tenemos alguno en específico. Por
ejemplo si queremos saber si en nuestra lista está escrito el nombre de José,
utilizamos:
ejemploLista.contains("José");
Esto también nos devolverá un true o un false.
ejemploLista.subList(0, 2)
habremos creado una sublista que contendrá los elementos con índice 0,1,2 :
System.out.println(ejemploLista.subList(0,2));
int numEntero = 4;
String numCadena= String.valueOf(numEntero);