Beruflich Dokumente
Kultur Dokumente
Qu es Java?
El lenguaje de programacin Java fue originalmente desarrollado por James Gosling de Sun Microsystems (la cual fue adquirida por la compaa
Oracle) y publicado en 1995 como un componente fundamental de la plataforma Java de Sun Microsystems. Su sintaxis deriva mucho de C y C++,
pero tiene menos facilidades de bajo nivel que cualquiera de ellos. Las aplicaciones de Java son generalmente compiladas a bytecode (clase Java)
que puede ejecutarse en cualquier mquina virtual Java (JVM) sin importar la arquitectura de la computadora subyacente. Es un lenguaje de
programacin de propsito general, concurrente, orientado a objetos y basado en clases que fue diseado especficamente para tener tan pocas
dependencias de implementacin como fuera posible. Su intencin es permitir que los desarrolladores de aplicaciones escriban el programa una
vez y lo ejecuten en cualquier dispositivo (conocido en ingls como WORA, o write once, run anywhere), lo que quiere decir que el cdigo que es
ejecutado en una plataforma no tiene que ser recompilado para correr en otra.
Tipos de Java
Podemos encontrar tres tipos de ediciones de Java:
Java SE o Standard Edition: es una coleccin de APIs del lenguaje de programacin Java tiles para muchos programas de la Plataforma
Java.
Java EE o Enterprise Edition: es una plataforma de programacin para desarrollar y ejecutar software de aplicaciones en el lenguaje de
programacin Java que permite utilizar arquitecturas de N capas distribuidas y se apoya ampliamente en componentes de software
modulares ejecutndose sobre un servidor de aplicaciones.
Java ME o Micro Edition: es una especificacin de un subconjunto de la plataforma Java orientada a proveer una coleccin certificada de
APIs de desarrollo de software para dispositivos con recursos restringidos. Est orientado a productos de consumo como PDAs, telfonos
mviles o electrodomsticos.
Es orientado a objetos.
Es simple de usar como lenguaje de programacin.
Es portable, corre en cualquier plataforma, independientemente de cual sea.
Es seguro.
Es robusto, ya que enfatiza los errores en el proceso de compilacin.
Es multi-hilo, es decir, ejecuta varios procesos a la vez en un solo programa.
Posee un alto desempeo y capacidad..
Esta diseado para ser usado como sistemas distribuidos.
Es dinmico, ya que esta diseado para adaptarse a cualquier ambiente de desarrollo.
Eclipse.
Netbeans.
BlueJ.
JCreator.
IntelliJ.
EJEMPLO
public class HolaMundo {
/* This is my first java program.
* This will print 'Hello World' as the output
*/
public static void main(String []args) {
Sintaxis bsica
Cuando desarrollamos un programa en Java es muy importante tener en cuenta los siguientes puntos:
Sensibilidad a maysculas Java es sensible a maysculas, lo que significa que si poseemos un identificador llamadoHola y hola tendran
valores diferente.
Nombres de las clases Para todos los nombres de clases la primera letra debe estar en maysculas. Si quieres usar varias palabras para
formar un nombre, la primera letra de cada palabra interior debe estar en maysculas.
1 class miPrimeraClase
Nombres de los mtodos Todos los nombres de los mtodos deben comenzar con una letra minscula. Si se quieres usar varias palabras para
formar el nombre de un mtodo, la primera letra de cada palabra interior debe estar en maysculas .
1 public void miPrimerMetodo()
Nombre de archivo del programa El nombre del archivo de programa debe coincidir exactamente con el nombre de la clase.
Al guardar un archivo, debemos guardarlo con el nombre de clase (Recuerda que Java distingue entre maysculas y minsculas) y aadir .java al
final del nombre (si el nombre del archivo y el nombre de clase no coinciden el programa no compilar).
Ejemplo: Supongamos que MiPrimerPrograma es el nombre de la clase. Luego el archivo debe ser guardado como MiPrimerPrograma.java
public static void main(String args[]) la ejecucin de un programa en Java se inicia desde el mtodo main( ), por lo cual es una parte
obligatoria del desarrollo.
Identificadores
Todos los componentes en Java requieren nombres. Los nombres usados para las clases, variables y mtodos se denominan identificadores.
Existen varios puntos que debemos recordar acerca de los identificadores:
Todos los identificadores deben comenzar con una letra (A a Z o de la a a z), el carcter de moneda ($) o un guin bajo (_).
Una palabra clave no se puede utilizar como un identificador .
Los identificadores distinguen entre maysculas y minsculas.
Ejemplos de identificadores legales: edad, $salario, _valor, __1_valor.
Ejemplos de identificadores ilegales : 123abc , -salario.
Modificadores
Al igual que otros lenguajes de programacin, en Java es posible modificar las clases, mtodos, etc, mediante el uso de modificadores. Existen
dos categoras de modificadores:
Tranquilo si estas un poco perdido mas adelante vamos a ver estos puntos a mayor detalle.
Variables
En Java existen los siguientes tipos de variables:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Variables locales.
Variables de clase (variables estticas).
Variables de instancia (variables no estticas).
class Jugo {
enum JugoTamano { PEQUENO, MEDIANO, GRANDE }
JugoTamano tamano;
}
public class JugoPrueba {
public static void main(String args[]){
Jugo jugo = new Jugo();
jugo.tamano = Jugo.JugoTamano.MEDIANO ;
System.out.println("Tamao del jugo: " + jugo.tamano);
}
}
Tamao del jugo: MEDIANO
Clases
Una clase es una plantilla de la que se crean los objetos individuales.
A continuacin vamos a ver un ejemplo de una clase en Java:
public class Carro{
String marca;
int kilometraje;
String color;
void encender(){
}
void acelerar(){
}
void apagar(){
}
}
Variables locales: Las variables definidas dentro de los mtodos, los constructores o los bloques se denominan variables locales. Se
declara la variable y se inicializa en el mtodo y la variable ser destruida cuando el mtodo se ha completado.
Variables de instancia: Las variables de instancia son variables dentro de una clase, pero fuera de cualquier mtodo. Estas variables se
crean instancias cuando se carga la clase. Las variables de instancia se puede acceder desde el interior de cualquier mtodo, constructor o
bloques de esa clase en particular.
Variables de clase: Las variables de clase son variables declaradas dentro una clase y fuera de cualquier mtodo. En el ejemplo
anterior marca, kilometraje y color son variables de clase Carro.
Una clase en Java puede tener cualquier nmero de mtodos para acceder o modificar el comportamiento de dicha clase. En el ejemplo
anterior encender, acelerar y apagar son mtodos de clase Carro.
Una vez que tenemos una idea general de que es una clase en Java y cuales son sus caractersticas es importante revisar los siguientes aspectos:
Constructores
Cuando se discute acerca de las clases, uno de los temas ms importantes tpicos serian los constructores. Cada clase tiene un constructor. Si no
escribimos explcitamente un constructor para una clase el compilador de Java genera un constructor predeterminado para esa clase.
Cada vez que se crea un nuevo objeto, se invocar al menos un constructor. La regla principal de los constructores es que ellos deben tener el
mismo nombre que la clase. Como dato importante una clase puede tener ms de un constructor.
Vemos un ejemplo:
/* Ahora llamamos a la
1 variable de la clase de la
siguiente manera */
Objeto.nombreDeLaVariable;
int kilometraje;
El kilometraje es : 2000
Byte
Ejemplo: byte
Short
Int
Long
En Java, todas las variables deben ser declaradas antes de que puedan ser utilizados. La forma bsica de una declaracin de variable es la
siguiente:
1 type identificador [ = valor][, identificador [= valor] ...] ;
2 int d = 3, e, f = 5; // declaramos dos variables de tipos int d y f, pero esta vez la instanciamos. A 'd' le asignamos 3 y a 'f' le asignamos 5.
3 double pi = 3.14159; // declaramos un double denominado pi.
4 char x = 'x';
Variables Locales
Veamos un ejemplo:
1
2
3
int kilometraje = 0;
kilometraje = kilometraje + 7;
8
9
10
11
12
curso.kilometrajeCarro();
}
13 }
Aqu, el kilometraje es una variable local. Esta definida dentro kilometrajeCarro() y su mbito se limita slo a este
mtodo.
Variables de instancia
Las variables de instancia se declaran en una clase, pero fuera de un mtodo, constructor o cualquier bloque.
Se crean cuando se crea un objeto con el uso de la palabra new y se destruye cuando se destruye el objeto.
import java.io.*;
1 Nombre : Carlos
2 Peso :80.0
import java.io.*;
OPERADORES
Java proporciona un conjunto de operadores para manipular variables. Hoy vamos a ver los operadores mas importantes:
Operadores aritmticos.
Operadores relacionales.
Operadores lgicos.
Operadores de asignacin.
Operadores aritmticos
Los operadores aritmticos se utilizan en expresiones matemticas de la misma manera que se utilizan en el lgebra. En la siguiente tabla se
muestran los operadores aritmticos:
Veamos un ejemplo:
public class Curso {
System.out.println("b % a = " + (b % a) );
System.out.println("c % a = " + (c % a) );
System.out.println("a++ = " + (a++) );
System.out.println("b-- = " + (a--) );
// Mira la diferencia entre d++ and ++d
System.out.println("d++ = " + (d++) );
System.out.println("++d = " + (++d) );
}
}
Operadores relacionales
En Java existen las siguientes operadores relacionales:
Veamos un ejemplo:
public class Curso {
public static void main(String args[]) {
int a = 10;
int b = 20;
System.out.println("a == b = " + (a == b) );
System.out.println("a != b = " + (a != b) );
System.out.println("a > b = " + (a > b) );
System.out.println("a < b = " + (a < b) );
System.out.println("b >= a = " + (b >= a) );
System.out.println("b <= a = " + (b <= a) );
}
}
Operadores lgicos
Veamos un ejemplo:
public class Curso {
public static void main(String args[]) {
boolean a = true;
boolean b = false;
System.out.println("a && b = " + (a&&b));
System.out.println("a || b = " + (a||b) );
System.out.println("!(a && b) = " + !(a && b));
}
}
Operadores de asignacin
En Java existen las siguientes operadores de asignacin:
Veamos un ejemplo:
public class Curso {
public static void main(String args[]) {
int a = 10;
int b = 20;
int c = 0;
c = a + b;
System.out.println("c = a + b = " + c );
c += a;
System.out.println("c += a = " + c );
c -= a;
System.out.println("c -= a = " + c );
c *= a;
System.out.println("c *= a = " + c );
a = 10;
c = 15;
c /= a ;
System.out.println("c /= a = " + c );
a = 10;
c = 15;
c %= a;
System.out.println("c %= a = " + c );
}
}
c = a + b = 30
c += a = 40
c -= a = 30
c *= a = 300
c /= a = 1
c %= a = 5
Sentencias If y Switch
Hoy vamos a ver que existen dos tipos de sentencias de decisiones en Java. Veamos cuales son:
La sentencia if.
La sentencia switch.
La sentencia if
Una sentencia if consiste en una expresin booleana seguida de una o ms sentencias. Veamos la sintaxis:
1 if(expresion_Booleana)
2 {
3
4 }
Si la expresin booleana es verdadera, entonces el bloque de cdigo dentro del if se ejecuta. Si no se ejecutar el primer grupo
de cdigo despus del final de la instruccin if.
Veamos un ejemplo:
1
2
3
int x = 15;
5
6
if( x < 30 ){
10 }
La sentencia if..else
Una sentencia if puede ser seguido por una sentencia else, que se ejecuta cuando la expresin booleana es falsa.
Veamos la sintaxis:
1 if(expresion_Booleana)
2
3 } else {
4
5 }
Veamos un ejemplo:
public class Curso {
if( x < 10 ){
System.out.print("Esto es una sentencia if");
}else{
System.out.print("Esto es una sentencia else");
}
}
Veamos un ejemplo:
public class Curso {
if( x == 15 ){
System.out.print(El valor de X es15");
}else if( x == 30 ){
System.out.print("El valor de X es 30");
}else if( x == 45 ){
System.out.print("El valor de X es 45");
}else{
System.out.print(X no cumple ninguna de las condiciones anteriores");
}
}
}
if( x == 40 ){
if( y == 5 ){
System.out.print("X = 30 y Y = 5");
}
}
}
}
X = 40 y Y = 5
switch (expresion) {
case valor1:
/ / Declaraciones
break; / / opcional
case valor2:
/ / Declaraciones
break; / / opcional
/ / Usted puede tener cualquier nmero de sentencias case.
default: / / Opcional
/ / Declaraciones que cumplir si la variable no entra en ningn caso.
}
public class Curso {
switch(departamento)
{
case 'A' :
System.out.println("Desarrollo");
break;
case 'B' :
System.out.println(Recursos Humanos");
break;
case 'C' :
System.out.println("Finanzas");
break;
case 'D' :
System.out.println("Mercadeo");
default :
System.out.println(Departamento invalido");
}
System.out.println(Cdigo para el departamento es " + departamento);
}
}
1 Recursos Humanos
2 Cdigo para el departamento es B
Bucles
El bucle while.
El bucle dowhile.
El bucle for.
El bucle for mejorado.
El bucle while
Un bucle while es una estructura de control que le permite repetir una tarea un nmero determinado de veces. Veamos su sintaxis:
1 while(expresion_booleana)
2 {
//Bloque de cdigo
4 }
Cuando se ejecuta, si el resultado expresion_booleana es cierto, entonces se ejecutarn las acciones dentro del
bucle. Esto continuar siempre y cuando el resultado de la expresin es verdadera. Cuando la expresin se prueba y el
resultado es falso, el cuerpo del bucle se omitir y la primera sentencia despus del bucle while se ejecutar.
Veamos un ejemplo:
1
2
3
int x = 20;
5
6
while( x < 30 ) {
System.out.print(valor de x : " + x );
x++;
System.out.print("\n");
10
11
12 }
valor de x : 20
valor de x : 21
valor de x : 22
valor de x : 23
valor de x : 24
valor de x : 25
valor de x : 26
valor de x : 27
valor de x : 28
10 valor de x : 29
El bucle dowhile
Un bucle dowhile es similar a un bucle while, excepto que este est garantizando ejecutar al menos una vez el bloque de cdigo. Veamos su
sintaxis:
1 do
2 {
3
//Bloque de cdigo
4 } while(expresion_booleana)
Observe que la expresion_booleana aparece al final del bucle, por lo que las instrucciones del bucle ejecutar una
vez antes de que el booleano es probado. Si la expresin booleana es verdadera, el flujo de control vuelve al do, y las
instrucciones del bucle se vuelve a ejecutar. Este proceso se repite hasta que la expresin booleana es falsa.
Veamos un ejemplo:
1
2
3
int x = 20;
5
6
do{
System.out.print("valor de x : " + x );
x++;
System.out.print("\n");
10
}while( x < 30 );
11
12 }
valor de x : 20
valor de x : 21
valor de x : 22
valor de x : 23
valor de x : 24
valor de x : 25
valor de x : 26
valor de x : 27
valor de x : 28
10 valor de x : 29
El bucle for
Un bucle for es una estructura de control de repeticin que permite escribir de manera eficiente un bucle que es necesario ejecutar un nmero
determinado de veces. Un bucle for es til cuando se sabe cuntas veces una tarea se va a repetir. Veamos su sintaxis:
for(inicializacion;
1 expresion_booleana;
2 actualizacion)
3 {
4
//Bloque de cdigo
}
2
3
4
5
System.out.print("valor de x : " + x );
System.out.print("\n");
10
valor de x : 20
valor de x : 21
valor de x : 22
valor de x : 23
valor de x : 24
valor de x : 25
valor de x : 26
valor de x : 27
valor de x : 28
10
valor de x : 29
1 for(declaracion : expresion)
2 {
3
//Bloque de cdigo
4 }
1
2
3
4
5
System.out.print(nombre);
System.out.print(",");
10
11
}
Carlos,Oscar,Jony,Alberto,Ramses
1
,
String
Qu es un String?
Los Strings son una secuencia de caracteres. En el lenguaje de programacin Java, las cadenas de caracteres son objetos y la plataforma
proporciona la clase String para crear y manipular dichas cadenas.
Cada vez que se encuentra con una cadena de caracteres en el cdigo, el compilador crea un objeto
System.out.println(nombre);
8 }
La clase String es inmutable, por lo que una vez que se crea un objeto String no se puede cambiar. Si hay una necesidad de
hacer una gran cantidad de modificaciones a las cadenas de caracteres, entonces debes usar las siguientes clases String
Buffer y String Builder.
No te preocupes si no manejas bien los constructores. Estos los vamos a estar explicando mas adelante en la serie.
Ahora veamos los mtodos mas usados del da a da dentro de la clase String en Java:
Length
Length o longitud es uno de los mtodos mas usados dentro de la clase String y sirve para conocer el nmero de caracteres que contiene un
objeto String.
Los mtodos son funciones usadas dentro del lenguaje de Java para obtener informacin sobre un objeto.
public class Ejemplo{
1
2
public static void main(String args[]) {
3
4
int longitud = frase.length();
5
6
" + longitud );
7
}
8
}
1 La longitud de la frase es: 10
1 cadena_caracteres_1.concat(cadena_caracteres_2);
1 "Hola .concat("Mundo");
1 Hola Mundo
1 public class Ejemplo {
2
3
System.out.println(frase + a Codehero);
5
6
7 }
1 Bienvenido a Codehero
1
2
3
4
5
int variableInt = 2;
8
9
10
11
12
1 El valor de la variable tipo float es 12.2, el valor de la variable de tipo integer es 2, y el valor del string es frase
Archivos (E/S)
Paquete java.io
El paquete java.io contiene casi todas las clases que podamos necesitar para llevar a cabo la entrada y salida (I/O) en Java. En especial, vamos a
hacer uso de los llamados streams para poder leer y escribir datos en los archivos.Un stream puede ser definido como una secuencia de datos. El
InputStream se utiliza para leer datos de una fuente y el OutputStream se utiliza para escribir datos en un destino.
Primero, imaginemos que queremos leer un texto de un archivo.
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
7
8
9
10
11
12
13
14
try {
15
16
17
18
19
20
21
22
23
24
25
26
try {
27
archivo.close();
28
} catch (IOException e) {
29
e.printStackTrace();
30
31
32
33
return texto;
34
35 }
Podemos observar que en el cdigo declaramos una clase ejemplo llamada ArchivoMuestra y un mtodo leerTextoArchivoel cual nos va ayudar
a extraer el texto del archivo. El mtodo se ayuda de la clase FileReader de Java para acceder a el archivo y de un buffer de lectura
(BufferedReader) para poder extraer los datos del texto.
archivo = new
FileReader(nombreArchivo), segundo genera un buffer de lectura en el cual se va a ir cargando el texto extrado del
archivo con ayuda del BufferedReader lector. Y por ultimo va a ir recorriendo con un loop el archivo linea por linea y al
almacenando el contenido de dicha linea en el buffer lector para que una vez que se finalice la lectura y se cierre el archivo
con archivo.close() sea retornado el valor del texto.
Simplemente lo que realiza a manera de flujo este mtodo, es la apertura del archivo con ayuda del
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
7
8
9
10
11
12
try {
13
14
15
escritor.write(texto);
16
} catch (IOException e) {
17
e.printStackTrace();
18
} finally {
19
if (salida != null) {
20
try {
21
salida.close();
22
} catch (IOException e) {
23
e.printStackTrace();
24
25
26
27
28
29
4 ArchivoMuestra();
5
String entrada =
6 archivo.leerTextoArchivo("Prueba.txt");
System.out.println(entrada);
archivo.escribirTextoArchivo("PruebaCopia.txt"
, entrada);
}
}
Ejercicio 1:
Programa que lea una cantidad de grados centgrados y la pase a grados
Fahrenheit.
La frmula correspondiente para pasar de grados centgrados a fahrenheit es:
F = 32 + ( 9 * C / 5)
import java.util.*;
public class Main {
Ejercicio 2. Programa que lee por teclado el valor del radio de una circunferencia y
calcula y muestra por pantalla la longitud y el rea de la circunferencia.
Longitud de la circunferencia = 2*PI*Radio, Area de la circunferencia = PI*Radio^2
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double radio, longitud, area;
System.out.println("Introduce radio de la circunferencia:");
radio = sc.nextDouble();
longitud = 2 * Math.PI * radio;
area = Math.PI * Math.pow(radio, 2);
System.out.println("Longitud de la circunferencia -> " + longitud);
System.out.println("Area de la circunferencia -> " + area);
}
}
Ejercicio 6. Programa que pase una velocidad en Km/h a m/s. La velocidad se lee por teclado.
import java.util.*;
public class Main {
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double cateto1, cateto2;
System.out.print("Introduzca longitud del primer cateto: ");
cateto1 = sc.nextDouble();
System.out.print("Introduzca longitud del segundo cateto: ");
cateto2 = sc.nextDouble();
System.out.println("Hipotenusa -> " + Math.sqrt(Math.pow(cateto1,2)+ Math.pow(cateto2, 2)));
}
}