JAVA- CONCEPTOS BASICOS
LENGUAJE DE PROGAMACIÓN JAVA ASPECTOS
BASICOS:
ING. OSWALDO E. DEDE MENDOZA
ESPECIALISTA EN INFORMÁTICA Y
TELEMÁTICA
Barranquilla, Colombia, año 2013.
INTRODUCCIÓN
Nota: Como
lectura previa al presente artículo, recomendamos nuestros artículos titulados DISEÑO
Y DESARROLLO DE SOFTWARE- ALGORITMOS, ALGORITMOS-BLOQUES LÓGICOS y
ALGORITMOS-BLOQUES CÍCLICOS.
El lenguaje de
programación Java, nace como un proyecto de investigación que buscaba el diseño
y desarrollo de software para su aplicación en una gran variedad de
dispositivos con sistemas embebidos, es decir controlados por el mismo tipo de
hardware que tienen los computadores electrónicos, esto debido a la amplia
difusión en el uso de este tipo de artefactos y a la necesidad de generar
programación para los mismos, en ese entonces el lenguaje de programación mas
usual era C++, sin embargo debido a que este es un lenguaje difícil de aplicar,
debido a que requiere de un conocimiento de la máquina en muchos casos, la
investigación derivó en la creación de una plataforma de programación
completamente nueva, la cual trató de aplicar lo mejor de diversos lenguajes,
en especial de lenguajes orientados a objetos, cumpliendo al final con muchos
de los objetivos del equipo investigador, es decir ideal para la elaboración de
programas seguros, distribuidos y aptos para ser usados en una amplia variedad
de dispositivos y uso en redes.
Java es una de
las herramientas mas poderosas para el desarrollo de software y una de las mas
extendidas en el mundo, ya que posee características únicas que le otorgan
ventaja frente a muchas otras como son:
1.
Es un lenguaje de propósito general y orientado a
objetos, lo cual lo hace adecuado para la solución de infinidad de problemas.
2.
Sintaxis de fácil comprensión al ser basada en la sintaxis
del lenguaje C.
3.
Es multiplataforma, es decir los programas se pueden
ejecutar sin variación alguna en equipos que tengan sistema operativo WINDOWS,
UNIX, MAC, ANDROID, SYMBIAN etc. Esto se puede lograr debido a que el
COMPILADOR de java genera un código
intermedio llamado BYTECODE, el cual es entregado a otro software denominado
JVM(Java-virtual machine) o máquina virtual de Java , el cual actúa como
intperprete, generando el código máquina o ejecutable, el cual si depende de la
plataforma o sistema operativo. Existen entonces tantas máquinas virtuales como
sistemas operativos requieran ejecutar código Java.
4.
Es gratuito, ya que forma parte de la filosofía de
Software Gratuito.
DINÁMICA DE PROGRAMACIÓN EN JAVA
Al ser un lenguaje de progamación orientado
a objetos, es necesario aclarar que este tipo de programación aplica una lógica
en la cual dentro del software aparecen objetos, los cuales poseen
características o atributos y métodos que pueden aplicarse a los objetos; Por
ejemplo, si tenemos el objeto BICICLETA, en este objeto podemos observar
atributos tales como COLOR, MANUBRIO, PEDALES, FRENO, CADENA Y RUEDAS, y
podemos tener por ejemplo los siguientes métodos, PEDALEAR, GIRAR Y FRENAR, de
tal manera que dentro del programa puedo referirme a ellos de una forma
natural, estos objetos se definen en Clases, existen librerías de Clases
predefinidas, además el programador puede definir las Clases que desee. los
objetos en java se utilizan haciendo referencia a la definición de la clase dentro de un programa
en Java.
Existen dos tipos de programas en java,
uno de ellos es denominado Aplicación, el cual puede utilizar dos tipos de
interfaz aplicada, esto es en MODO TEXTO o en MODO GRÁFICO (clase Frame). El segundo tipo de programas se denominan
Applets (Clase Applet), esta última presenta la limitación que solamente puede
ejecutarse desde un navegador de internet, posee interfáz gráfica y no puede
hacer referencia a archivos.
Teniendo instalado el compilador Java y
el JRE en nuestro computador, la dinámica para ejecutar un programa es la
siguiente:
INSTALACIÓN
DE LA HERRAMIENTA DE PROGRAMACIÓN:
Si se desea que las aplicaciones o
applets puedan funcionar en un computador, este debe tener instalada la máquina
virtual de java, la cual viene con el producto JRE (Java Runtime Environment), frecuentemente ya lo tienen
instalados aquellos computadores que se utilizan para aceder sitos web, debido
a que su uso es un requerimiento para un buen desempeño de estos sitios, muchos
exigen que se descargue JRE y facilitan esto a sus usuarios.
Sin embargo si desea desarrollar
software java tales como aplicaciones o applets, se requiere el JDK (Java
Development Kit), el cual incluye el JRE.
Cabe anotar que existe diversidad de
herramientas de desarrollo tanto comerciales como gratuitas que ofrecen el
paquete completo incluyendo editores de texto que efectúan una prevalidación de
la sintaxis del código java, tales como
JCREATOR,
NETBEANS (Oracle) y Eclipse.
Tanto el JRE, el JDK y la herramienta
de programación especializada NETBEANS, pueden descargarse gratuitamente de la
página de ORACLE, debe tenerse en cuenta el tipo de sistema operativo que se va
a utilizar, para descargar la versión mas adecuada de los mismos.
Mas información en la pagina de Oracle.
PROCESO
PARA LA ELABORACIÓN Y EJECUCIÓN DE PROGRAMAS JAVA:
Si tiene instalado solamente JDK en su
computador, Supongamos que tenemos un programa en java o clase java, el cual
inicia como un archivo de texto que contiene instrucciones en lenguaje de
programación Java, digamos llamado programa1.java
Debe entonces pasar por el
Compilador, un programa denominado JAVAC, el comando que se debe entregar es el
siguiente:
JAVAC programa1.java
Si no existen problemas de sintaxis
se genera un BYTECODE (código intermedio) en este caso se denominaría
programa1. class
Para que este sea ejecutado por la
máquina real, debe pasar a ser interpretado por la máquina virtual de Java,
mediante el comando.
JAVA programa1.class
Si tiene una aplicación o programa
especializado para el diseño y desarrollo de software en Java como NetBeans,
probablemente el programador no deberá efectuar estos pasos para generar
BYTECODE y ejecutarlo, ya que estas aplicaciones lo hacen automáticamente.
CODIFICACIÓN
DE PROGRAMAS EN JAVA
Para la codificación de programas en
java, se hace necesario conocer el léxico o palabras reservadas del lenguaje y
la sintaxis del mismo.
Como principio general, el lenguaje
java utiliza un carácter de control, que permite dividir las líneas de
instrucciones o comandos, el cual es el punto y coma (;), el cual es
obligatorio al finalizar una línea de código, salvo las excepciones indicadas
en la sintaxis, un par de barras inclinadas // se colocan al finál de cada
línea de código con el fín de colocar comentarios que complementan el programa,
pero que no forman parte de el, de tal manera que el compilador los ignora. El
compilador Java es sensible a las letras mayúsculas y minúsculas, por lo tanto
las diferencia; además todas las palabras reservadas del lenguaje deben ir en
minúsculas como veremos más adealnte.
DECLARACION DE VARIABLES:
Recordemos que los computadores son
máquinas algebraicas, debido a lo cual el elemento de trabajo usual son las
variables, pero a diferencia que en el álgebra básica, donde las variables
pueden ser reemplazadas por valores numéricos, los computadores pueden utilizar
variables de diferentes tipos ( a estos tipos les denominamos tipos de datos).
La programación estructurada exige que antes de ser utilizadas las variables
dentro del proceso estas sean declaradas, es decir se especifique que tipo de
datos estas van a almacenar, cada variable debe tener asignado un tipo de datos
específico.
Los
tipos de datos existentes en Java son los siguientes:
Tipos Primitivos
Referencias a objetos (clases)
Arreglos.
Las dos últimos corresponden a
objetos que serán tratados más adelante, mientras que trataremos de los
tipos primitivos a continuación.
boolean: Lógicos( true
o false. )
byte: Enteros de 8-bits. (-128 y 127.
)
short: Enteros de 16-bits. (-32768 y
32767)
int: Enteros de 32-bits. (-2147483648
y 2147483647 )
long: Enteros. Tamaño 64-bits. Entre
-9223372036854775808 y 9223372036854775807.
float: Reales(coma flotante). de
32-bits.
double: Reales de
64-bits.
char: Caracteres.
Para declara las variables en Java, se indica el nombre de la variable y el tipo
al que corresponda
tipo_variable nombre ;
Veamos algunos ejemplos:
char x;
boolean sw;
boolean sw;
int j;
En este caso la variable x es
declarada de tipo carácter, la variable SW de tipo booleano y la variable i de
tipo entero.
ASIGNACIÓN
Para asignar valores a una variable
dentro de un programa se utiliza el símbolo de igualdad (=)
Ejemplos:
j = 8;
x = 'd';
sw = true;
x = 'd';
sw = true;
La
declaración de una variable y la asignación de valores se pueden hacerse en la misma línea
int j = 10;En este caso se declara la variable j como tipo entero e inmediatamente se inicializa con el valor de 10.
OPERACIONES
Los operadores aritméticos usuales en Java son los siguientes:
+ para la
adición, - para la sustracción, * para la multiplicación, / para la división real, % para el residuo de la división
entera.
Aunque el
símbolo de la igualdad = es el operador de asignación más
usado, en Java existen formas de asignar y efectuar operaciones al mismo
tiempo en una línea de código como se muestra a continuación:
La expresión x+=y equivale a x=x+y
La expresión x-=y equivale
a x=x-y
La expresión x*=y equivale
a x=x*y
La expresión x/=y equivale
a x=x/y
La expresión x%=y equivale
a x=x%y
se pueden aplicar los operadores aritméticos unarios que
se muestran a continuación, aplicables solamente a variables de tipo entero:
++ y --
Donde
w++ ó ++w equivale a w = w+1 mientras tanto w-- ó --w es equivalente a w = w-1
Donde
w++ ó ++w equivale a w = w+1 mientras tanto w-- ó --w es equivalente a w = w-1
Se colocan previos o posteriores a la
variable, como ya lo observamos, la dinámica implica que si se colocan
previamente, el procesador efectúa la operación y luego se aplica el valor
incrementado en la evaluación de la expresión algebraica donde aparece la
variable. Pero si se colocan posteriores o después de la variable, la expresión
se evaluará con el valor original de la variable, posteriormente se efectuará
el incremento o el decremento solicitado.
Por ejemplo, supongamos que la
variable x=2 y la variable y=3;
Al evaluar la expresión w = x * y++;
a la variable w se le asigna el valor de 6 y la variable c termina con valor 4
Mientras que al hacerlo en
w = x * ++y; w queda igual a 8 y c termina con valor de 4
Las
prioridades de las operaciones obedecen a las normas de la matemática, donde
los signos de agrupación mas internos
tienen prioridad en el caso de Java, los signos de agrupación son los
paréntesis, en caso contrario las operaciones de multiplicación y división
tienen prelación sobre las de adición y sustracción; otros operadores pueden
variar este orden, como los unarios que acabamos de observar.
Otras
constantes, operadores y funciones matemáticas necesarias pueden ser usadas
dentro de los programas en Java, estos pueden tomarse como métodos provenientes de la clase Math, que se incluye en el
paquete java.lang, que viene instalado en el JDK, para usarlos se debe incluir
la siguiente instrucción al inicio de la aplicación.
import java.lang.Math;
he aquí una lista de algunos de los métodos que se pueden
incluir:
MÉTODO RETORNA
public final static double e el
número e.
public final static double PI el número pi.
public static int abs(int a) el valor absoluto de un número entero.
public static long abs(float
a) el
valor absoluto de un numero real.
public static double cos(double a) el coseno de un valor real.
public static double exp(double a) el valor de ea
public static double pow(double a, double b) el valor de ab para a y b reales.
public static double sqrt(double
a) el valor de
la raíz cuadrada de un real.
Segmento de
código de Ejemplo:
double x, y;
// declaración de dos variables reales de doble precisión
x = 100.0;
// asigna a la variable x el valor de 100
y = Math.sqrt(x); // el método
sqrt recibe el valor de 100 como parámetro y regresa el valor de 10.
BLOQUES
CONDICIONALES
Bloque
if-end if (Si-FinSi)
if ( condición ) {
conjunto de instrucciones que se deben ejecutar si la condición es verdadera;
}
conjunto de instrucciones que se deben ejecutar si la condición es verdadera;
}
Bloque
if-else -end if (Si-Sino-FinSi)
if ( condición ) {
conjunto de instrucciones que se deben ejecutar si la condición es verdadera;
}
conjunto de instrucciones que se deben ejecutar si la condición es verdadera;
}
else {
conjunto de instrucciones que se deben ejecutar si la condición es falsa;
}
conjunto de instrucciones que se deben ejecutar si la condición es falsa;
}
La
condición que evalúan los bloques lógicos corresponden a una expresión
algebraica lógica que al evaluarse se obtiene un valor de verdadero (true) o
falso (false). Estas pueden ser simples,
es decir una comparación de dos expresiones algebraicas mediante los operadores
relacionales ==(igual
a); != (diferente de); > (mayor que);
< (menor que); <= (menor o igual) y >= (mayor o igual). O pueden ser condiciones compuestas por
comparaciones unidas o enlazadas mediante conectores u operadores los
operadores lógicos: || (operador O); && (operador Y); ! (operador es negado que). Por
ejemplo las siguientes instrucciones.
if (x >0 && y>0)
System.out.println (" punto en el primer cuadrante");
else
System.out.println ("punto en otro cuadrante");
System.out.println (" punto en el primer cuadrante");
else
System.out.println ("punto en otro cuadrante");
Bloque Switch (Dependiendo de)
switch ( variable) la variable es de tipo entero o carácter
{
case valor1 : Instrucción1; break;
case valor2 : Instrucción2; break;
.
.
case valor n : InstrucciónN; break;
default: InstrucciónDefault;
} ;
Las instrucciones de 1 a N se ejecutan acorde el valor
de la variable, si este va del valor 1 a N, en caso contrario se ejecuta la
InstrucciónDefault.
BLOQUES CÍCLICOS
Bloque
while(Mientras que)
while (
condición )
{
conjunto de instrucciones que se repetirán;
}
{
conjunto de instrucciones que se repetirán;
}
Bloque
do .. while(Haga – hasta)
do
{
conjunto de instrucciones que se repetirán;
}
{
conjunto de instrucciones que se repetirán;
}
while ( condición );
Bloque for (Bloque Para-Fin Para)
Para repetir una instrucción dentro del bloque la estructura es:
for (inicialización ; condición ; acción )
instrucción
que se va a repetir;
Para repetir un grupo de
instrucciones se deben utilizar llaves para indicar el inicio y el fin del
bloque.
for (inicialización
; condición ; acción )
{
Conjunto de instrucciones que se van a repetir;
}
}
El bloque se
ejecuta de la siguiente forma:
En primer
lugar se ejecuta la instrucción de inicialización,
Luego se
evalúa la condición
Si esta es
verdadera se ejecuta el grupo o la instrucción que contiene el bloque.
Al finalizar
la ejcución se regresa al inicio del bloque, ejecutando la acción indicada.
UNA APLICACIÓN DE EJEMPLO EN MODO TEXTO.
Este ejemplo imprime la
sucesión de los primeros N números naturales-
Ejemplo clase Naturales1.java
import
java.io.*;
public class Naturales1{
public static void main(String[] args) throws
IOException {
int n; //
declara la variable n como tipo entero
BufferedReader in = new BufferedReader(new
InputStreamReader(System.in));
System.out.println(" Cantidad de números que se mostrarán: ");
n = Integer.parseInt(in.readLine());
for (int i=1; i<=n; i++){
System.out.println( i );
}
}
Comentarios
Publicar un comentario