Documente Academic
Documente Profesional
Documente Cultură
Los caracteres que pueden aparecer en un programa Java para formar las constantes,
variables, expresiones, etc., son:
Las letras mayúsculas y minúsculas de la A(a) a la Z(z) de los alfabetos
internacionales (la ñ y Ñ son válidas)
Dígitos (0, 1, 2, ...)
Los caracteres ' _ ' '$' y cualquier carácter unicode por encima del 00C0.
Los caracteres especiales y signos de puntuación siguientes:
+-*/=%&#!?^“‘~\|<>()[]{}:;.,
Espacios en blanco: en programación se llaman espacios en blanco no solo a los
caracteres generados por la barra espaciadora. Además de espacios, también se llaman
espacios en blanco a los siguientes caracteres: tabulador y salto de línea. Su labor es la
misma que la de un espacio en blanco, hacer de separadores entre los distintos
elementos de un programa.
Por ejemplo, podemos escribir el método main sin utilizar espacios en blanco, de la
forma:
SECUENCIAS DE ESCAPE
Una secuencia de escape esta formada por una barra inversa seguida de una letra o de
una combinación de dígitos.
Una secuencia de escape siempre representa un solo carácter aunque se escriba con dos
o más caracteres.
Se utilizan para realizar acciones como salto de línea o para usar caracteres no
imprimibles.
\b Retroceso
\t Tabulador horizontal
\r Ir al principio de la línea
\" Comillas
\\ Barra inversa
IDENTIFICADORES JAVA
Los identificadores son los nombres que el programador asigna a variables, constantes,
clases, métodos, paquetes, etc. de un programa.
Las palabras reservadas son identificadores predefinidos que tienen un significado para
el compilador y por tanto no pueden usarse como identificadores creados por el usuario
en los programas.
Comentarios en Java
Un comentario es un texto que se escribe dentro de un programa con el fin de facilitar
la comprensión del mismo.
Los comentarios se utilizan para explicar y documentar el código fuente.
COMENTARIO TRADICIONAL
/* linea comentario 1
/* linea comentario 2
linea comemtario 3
*/
linea comentario 4
linea comentario 5
*/
/**
*
* @author Enrique
* @version 1.0
*
*/
Estructuras de control
ESTRUCTURA CONDICIONAL, ALTERNATIVA O SELECTIVA
2.1 INSTRUCCION if
Condicional simple: if
Condicional doble: if ... else ...
Condicional múltiple: if .. else if ..
La condición a evaluar debe ser una expresión booleana es decir debe dar como
resultado un valor booleano (true ó false).
if(expresión_booleana){
instrucción 1
instrucción 2
.......
}
Si el bloque de instrucciones tiene una sola instrucción no es necesario escribir las llaves
{ } aunque para evitar confusiones se recomienda escribir las llaves siempre.
Ejemplo de programa Java con estructura condicional: Programa que pide por teclado
la nota obtenida por un alumno y muestra un mensaje si el alumno ha aprobado.
/*
* Programa que pide una nota por teclado y muestra un mensaje si la nota es
* mayor o igual que 5
*/
import java.util.*;
public class Ejemplo0If {
public static void main( String[] args ){
Scanner sc = new Scanner( System.in );
System.out.print("Nota: ");
int nota = sc.nextInt();
if (nota >= 5 ){
System.out.println("Enorabuena!!");
System.out.println("Has aprobado");
}
}
}
if(expresión booleana){
instrucciones 1
}
else{
instrucciones 2
}
Ejemplo de programa Java que contiene una estructura condicional doble: Programa
que lee la nota de un alumno y muestra si el alumno ha aprobado o no.
/*
* Programa que pide una nota por teclado y muestra si se ha aprobado o no
*/
import java.util.*;
public class Ejemplo0If {
public static void main( String[] args ){
Scanner sc = new Scanner( System.in );
System.out.print("Nota: ");
int nota = sc.nextInt();
if (nota >= 5 ){
System.out.println("Enorabuena!!");
System.out.println("Has aprobado");
}
else
System.out.println("Lo Siento, has suspendido");
}
}
switch (expresión){
case valor 1:
instrucciones;
break;
case valor 2:
instrucciones;
break;
···
default:
instrucciones;
}
La instrucción switch se puede usar con datos de tipo byte, short, char e int. También
con tipos enumerados y con las clases envolventes Character, Byte, Short e Integer. A
partir de Java 7 también pueden usarse datos de tipo String en un switch.
/*
* Programa que pide un número de mes y muestra el nombre correspondiente
*/
import java.util.*;
public class Ejemplo0Switch {
public static void main(String[] args) {
int mes;
Scanner sc = new Scanner(System.in);
System.out.print("Introduzca un numero de mes: ");
mes = sc.nextInt();
switch (mes)
{
case 1: System.out.println("ENERO");
break;
case 2: System.out.println("FEBRERO");
break;
case 3: System.out.println("MARZO");
break;
case 4: System.out.println("ABRIL");
break;
case 5: System.out.println("MAYO");
break;
case 6: System.out.println("JUNIO");
break;
case 7: System.out.println("JULIO");
break;
case 8: System.out.println("AGOSTO");
break;
case 9: System.out.println("SEPTIEMBRE");
break;
case 10: System.out.println("OCTUBRE");
break;
case 11: System.out.println("NOVIEMBRE");
break;
case 12: System.out.println("DICIEMBRE");
break;
default : System.out.println("Mes no válido");
}
}
}
ciclo while
ciclo do – while
ciclo for
/*
* Programa que obliga al usuario a introducir un número menor que 100
*/
import java.util.*;
public class Ejemplo1DoWhile {
public static void main(String[] args) {
int valor;
Scanner in = new Scanner( System.in );
do {
System.out.print("Escribe un entero < 100: ");
valor = in.nextInt();
}while (valor >= 100);
System.out.println("Ha introducido: " + valor);
}
}
3.3 CICLO FOR
Condición es una expresión booleana que hace que se ejecute la sentencia o bloque de
sentencias mientras que dicha expresión sea cierta. Generalmente en la condición se
compara la variable de control con un valor límite.
/*
* programa que muestra los números del 1 al 10
*/
public class Ejemplo0For {
public static void main(String[] args) {
int i;
for(i=1; i<=10;i++)
System.out.println(i + " ");
}
}
3.5 BUCLES ANIDADOS
Bucles anidados son aquellos que incluyen instrucciones for, while o do-while unas
dentro de otras.
Debemos tener en cuenta que las variables de control que utilicemos deben ser
distintas.
Los anidamientos de estructuras tienen que ser correctos, es decir, que una estructura
anidada dentro de otra lo debe estar totalmente.
/*
* Programa que dibuja un rectángulo sólido de asteriscos.
* El número de filas y columnas se pide por teclado
*/
import java.util.*;
public class Ejemplo1BuclesAnidados {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int filas, columnas;
//leer número de filas hasta que sea un número > 0
do{
System.out.print("Introduce número de filas: ");
filas = sc.nextInt();
}while(filas<1);
//leer número de columnas hasta que sea un número > 0
do{
System.out.print("Introduce número de columnas: ");
columnas = sc.nextInt();
}while(columnas<1);
for(int i = 1; i<=filas; i++){ //filas
for(int j = 1; j<=columnas; j++){ //columnas
System.out.print(" * ");
}
System.out.println();
}
}
}
La salida de este programa para filas = 6 y columnas = 10 es:
* * * * * * * * * * * *
* * * * * * * * * * * *
* * * * * * * * * * * *
* * * * * * * * * * * *
* * * * * * * * * * * *
* * * * * * * * * * * *
Ejemplo de programa Java con bucles anidados:
/*
* Programa que muestra una tabla con las potencias de x (x x2 x3 x4)
* para valores de x desde 1 hasta XMAX
*/
public class JavaApplication22 {
public static void main(String[] args) {
final int XMAX = 10;
int x, n;
//mostrar la cabecera de la tabla
System.out.printf("%10s%10s%10s%10s%n", "x","x^2","x^3","x^4");
for (x = 1; x <= XMAX; x++){ //filas
for (n = 1; n <= 4; n++){ //columnas
System.out.printf("%10.0f", Math.pow(x,n));
}
System.out.println();
}
}
}
Tabla del 7
--------------
7*1 = 7
7 * 2 = 14
7 * 3 = 21
7 * 4 = 28
7 * 5 = 35
7 * 6 = 42
7 * 7 = 49
7 * 8 = 56
7 * 9 = 63
7 * 10 = 70
import java.util.*;
/**
* Programa que lea un número entero N y muestre la tabla de multiplicar de ese
número.
* @author Enrique
*/
public class TablaMultiplicar {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n;
System.out.print("Introduce un número entero: ");
n = sc.nextInt();
System.out.println("Tabla del " + n);
for(int i = 1; i<=10; i++){
System.out.println(n + " * " + i + " = " + n*i);
}
}
}
Métodos en Java
Un método en Java es un conjunto de instrucciones definidas dentro de una clase, que
realizan una determinada tarea y a las que podemos invocar mediante un nombre.
Cuando se llama a un método, la ejecución del programa pasa al método y cuando éste
acaba, la ejecución continúa a partir del punto donde se produjo la llamada.
Utilizando métodos:
- Podemos construir programas modulares.
- Se consigue la reutilización de código. En lugar de escribir el mismo código repetido
cuando se necesite, por ejemplo para validar una fecha, se hace una llamada al
método que lo realiza.
En Java un método siempre pertenece a una clase.
Todo programa java tiene un método llamado main. Este método es el punto de entrada
al programa y también el punto de salida.
1. ESTRUCTURA GENERAL DE UN MÉTODO JAVA
La estructura general de un método Java es la siguiente:
[especificadores] tipoDevuelto nombreMetodo([lista parámetros]) [throws
listaExcepciones]
{
// instrucciones
[return valor;]
}
Los elementos que aparecen entre corchetes son opcionales.
tipoDevuelto: indica el tipo del valor que devuelve el método. En Java es imprescindible
que en la declaración de un método, se indique el tipo de dato que ha de devolver. El
dato se devuelve mediante la instrucción return. Si el método no devuelve ningún valor
este tipo será void.
nombreMetodo: es el nombre que se le da al método. Para crearlo hay que seguir las
mismas normas que para crear nombres de variables.
Lista de parámetros (opcional): después del nombre del método y siempre entre
paréntesis puede aparecer una lista de parámetros (también llamados argumentos)
separados por comas. Estos parámetros son los datos de entrada que recibe el método
para operar con ellos. Un método puede recibir cero o más argumentos. Se debe
especificar para cada argumento su tipo. Los paréntesis son obligatorios aunque estén
vacíos.
throws listaExcepciones (opcional): indica las excepciones que puede generar y
manipular el método.
return: se utiliza para devolver un valor. La palabra clave return va seguida de una
expresión que será evaluada para saber el valor de retorno. Esta expresión puede ser
compleja o puede ser simplemente el nombre de un objeto, una variable de tipo
primitivo o una constante.
El tipo del valor de retorno debe coincidir con el tipoDevuelto que se ha indicado en la
declaración del método.
Si el método no devuelve nada (tipoDevuelto = void) la instrucción return es opcional.
Un método puede devolver un tipo primitivo, un array, un String o un objeto.
Un método tiene un único punto de inicio, representado por la llave de inicio {. La
ejecución de un método termina cuando se llega a la llave final } o cuando se ejecuta la
instrucción return.
La instrucción return puede aparecer en cualquier lugar dentro del método, no tiene
que estar necesariamente al final.
2. IMPLEMENTACIÓN DE MÉTODOS EN JAVA
Pasos para implementar un método:
1. Describir lo que el método debe hacer
2. Determinar las entradas del método
3. Determinar los tipos de las entradas
4. Determinar el tipo del valor retornado
5. Escribir las instrucciones que forman el cuerpo del método
6. Prueba del método: diseñar distintos casos de prueba
Ejemplo de método: método que suma dos números enteros.
import java.util.*;
public class Metodos1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int numero1, numero2, resultado;
System.out.print("Introduce primer número: ");
numero1 = sc.nextInt();
System.out.print("Introduce segundo número: ");
numero2 = sc.nextInt();
resultado = sumar(numero1, numero2);
System.out.println("Suma: " + resultado);
}
public static int sumar(int a, int b){
int c;
c = a + b;
return c;
}
}
package bisiesto;
import java.util.*;
public class Bisiesto {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int año;
System.out.print("Introduce año: ");
año = sc.nextInt();
if(esBisiesto(año)) //llamada al método
System.out.println("Bisiesto");
else
System.out.println("No es bisiesto");
}
/**
* método que calcula si un año es o no bisiesto
*/
public static boolean esBisiesto(int a){
if(a%4==0 && a%100!=0 || a%400==0)
return true;
else
return false;
}
}
Array notas:
8.50 6.35 5.75 8.50 ··· 3.75 6.00 7.40
Si se intenta acceder a un elemento que está fuera de los límites del array (un elemento
con índice negativo o con un índice mayor que el que corresponde al último elemento
del array) el compilador no avisa del error. El error se producirá durante la ejecución. En
ese caso se lanza una excepción java.lang.ArrayIndexOutOfBoundsException.
Se puede saber el número de elementos del array mediante el atributo length.
Podemos utilizar length para comprobar el rango del array y evitar errores de acceso.
Por ejemplo, para asignar un valor a un elemento del array que se lee por teclado:
Scanner sc = new Scanner(System.in);
int i, valor;
int [] a = new int[10];
System.out.print("Posición: ");
i = sc.nextInt();
System.out.print("Valor: ");
valor = sc.nextInt();
if (i>=0 && i < a.length) {
a[i] = valor;
}
for(double t: temperatura){
System.out.print(t + " ");
}
System.out.println();
}
}
a e i o u
System.out.println(vocales);
Mostrará:
aeiou
El atributo length de un array de caracteres contiene el tamaño del array
independientemente de que sean caracteres nulos u otros caracteres.
Por ejemplo:
char [] cadena = new char[8];
Matrices en Java
Un array en Java puede tener más de una dimensión. El caso más general son los arrays
bidimensionales también llamados matrices o tablas.
La dimensión de un array la determina el número de índices necesarios para acceder a
sus elementos.
Los vectores que hemos visto en otra entrada anterior son arrays unidimensionales
porque solo utilizan un índice para acceder a cada elemento.
Una matriz necesita dos índices para acceder a sus elementos. Gráficamente podemos
representar una matriz como una tabla de n filas y m columnas cuyos elementos son
todos del mismo tipo.
La siguiente figura representa un array M de 3 filas y 5 columnas:
Pero en realidad una matriz en Java es un array de arrays.
Gráficamente podemos representar la disposición real en memoria del array anterior
así:
RECORRER MATRICES
Para recorrer una matriz se anidan dos bucles for. En general para recorrer un array
multidimensional se anidan tantas instrucciones for como dimensiones tenga el array.
Ejemplo de recorrido de una matriz en Java:
Programa que lee por teclado números enteros y los guarda en una matriz de 5 filas y 4
columnas. A continuación muestra los valores leídos, el mayor y el menor y las
posiciones que ocupan.
import java.util.*;
public class Bidimensional2 {
public static void main(String[] args) {
final int FILAS = 5, COLUMNAS = 4;
Scanner sc = new Scanner(System.in);
int i, j, mayor, menor;
int filaMayor, filaMenor, colMayor, colMenor;
int[][] A = new int[FILAS][COLUMNAS];
System.out.println("Lectura de elementos de la matriz: ");
for (i = 0; i < FILAS; i++) {
for (j = 0; j < COLUMNAS; j++) {
System.out.print("A[" + i + "][" + j + "]= ");
A[i][j] = sc.nextInt();
}
}
System.out.println("valores introducidos:");
for (i = 0; i < A.length; i++) {
for (j = 0; j < A[i].length; j++) {
System.out.print(A[i][j] + " ");
}
System.out.println();
}
mayor = menor = A[0][0];//se toma el primero como mayor y menor
filaMayor = filaMenor = colMayor = colMenor = 0;
Formularios en NetBeans
1. Abrir NetBeans y crear un "New Project"--"java"--"Java Class Library".
(Dar el nombre que uno quiera no influye en nuestro objetivo).
En este ejemplo pediremos los siguientes datos (Nombre, apellidos, RUT, email,
telefono)
seran obligatorios todos los datos (El rut es para los chilenos asique su codigo lo
enseñare al final de este pequeño tutorial).
uno para cada Dato, excepto para el rut que necesita 2, con el siguiente nombre de
varible por ejemplo: para el Nombre se llamara "txtNombre" para el Apellido se llamara
"txtApellidos", (RUT; txtRut .... txtValidador).
Le hará clic secundario "Edit Text" y le borramos el contenido sin ningun espacio luego
agrandamos el textfield en caso de achicarse este.
5. Ahora crearemos botones "Button". crearemos 3 uno para "Guardar" uno para
"Limpiar" y uno para "Salir" en los cuales al igual que en los jlabel y textfield vamos a
ponerle nombre de variable.