Java es un lenguaje de programación de
propósito general orientado a objetos desarrollado por Sun Microsystems.
También se puede decir que Java es una tecnología que no sólo se reduce al
lenguaje sino que además provee de una máquina virtual Java que permite
ejecutar código compilado Java, sea cual sea la plataforma que exista por
debajo; plataforma tanto hardware, como software (el sistema operativo que
soporte ese hardware). El apoyo a esta tecnología viene dado por la gran
cantidad de fabricantes que apoyan esta especificación de máquina virtual.
Aprender el lenguaje de programación Java
requiere tiempo y esfuerzo, pero en este curso trataremos de sentar las bases
para el conocimiento general del lenguaje. El lenguaje se inspira en otros
lenguajes:
- sentencias
comunes de C y C++ (sintaxis parecida a dichos lenguajes)
- concurrencia
parecida a la de Mesa (un lenguaje de investigación de Xerox)
- interrupciones
parecidas a las de Modula-3
- tratamiento
de enlace dinámico de código nuevo parecido al de Lisp
- definiciones
de interfaces parecidas a las de Objective C
- gestión
de almacenamiento automático parecida a la de Lisp
- Simple
- Orientado
a Objetos
- Tipado
estáticamente
- Distribuido
- Interpretado
- Robusto
- Seguro
- de
Arquitectura Neutral
- Multihilo
- con
Recolector de basura (Garbage Collector)
- Portable
- de
Alto Rendimiento: sobre todo con la aparición de hardware especializado y
mejor software
- Dinámico
Sun admite que lo dicho anteriormente son un
montón de halagos por su parte, pero el hecho es que todas esas caraterísticas
pueden servir para describir el lenguaje. Todas ellas son importantes, sin
embargo cabe destacar tres, que son las que han propocionado tanto interés por
el lenguaje: la portabilidad, el hecho de que sea de arquitectura neutral y su
simplicidad. Java ofrece toda la funcionalidad de los lenguajes potentes, pero
sin las características menos usadas y más confusas de éstos.
Java elimina muchas de las características de
otros lenguajes como C++, para mantener reducidas especificaciones del lenguaje
y añadir características muy útiles como el recolector de basura. No es
necesario preocuparse de liberar memoria, el recolector se encarga de eliminar
la memoria asignada. Gracias al recolector, sólo te tienes que preocupar de
crear los objetos relevantes de tu sistema ya que él se encarga de destruirlos
en caso de no ser reutilizados.
Java reduce en un 50% los errores más comunes
de programación con lenguajes como C y C++. Entre las características más
"indeseables" de C++ que se han evitado en el diseño de Java
destacan: ficheros de cabecera, aritmética de punteros, sobrecarga de
operadores, estructuras, uniones, conversión implícita de tipos, clases base
virtuales, pre-procesador, etc.
Sintaxis de Java
Primeramente explicare unas simples
reglas que debes seguir al escribir en Java y seguir una sintaxis correcta sin
cometer errores y escribir de la manera correcta.
-Todas las instrucciones(OJO una instrucción no es lo mismo que una linea, ya que en Java puedes dejar espacios entre lineas y no haber terminado la instrucción) de codigo en Java deben terminar con un signo punto y coma ” ; “
ej:
System.out.println(
-Todas las instrucciones(OJO una instrucción no es lo mismo que una linea, ya que en Java puedes dejar espacios entre lineas y no haber terminado la instrucción) de codigo en Java deben terminar con un signo punto y coma ” ; “
ej:
System.out.println(
“Hola mundo”
); //notese que la
isntruccion se divide en dos lineas pero al terminar se utiliza “;”
-Todas las variables al igual que en
otros lenguajes deben iniciar con una letra mas no con un numero o caracter
especial, pueden iniciar con una letra y posteriormente usar numeros para
nombrarlas.
ej:
String hola; //correcto
Integer Numero1; //correcto
Double 23numero; //incorrecto
ej:
String hola; //correcto
Integer Numero1; //correcto
Double 23numero; //incorrecto
-Otra regla importante es que para
llevar una estructura correcta, todo programa en Java debe tener minimo una
clase, las cuales deben tener metodos, las clases se crean de la siguiente
manera:
public class
Nombredeclase /*aqui se declara una clase, notese que
comienza con mayusculas la cual es la forma correcta de nombrar una clase*/
{
public static void main(String args[ ]){}/* este es el metodo principal de la clase, dentro de este se escriben instrucciones*/
}
{
public static void main(String args[ ]){}/* este es el metodo principal de la clase, dentro de este se escriben instrucciones*/
}
Comprender la estructura de un
programa en Java puede ser dificil si no se tiene mucha experiencia, pero la
mejor manera de comprender como funciona es programando, puedes utilizar
programas ya hechos , ejecutarlos y asi mismo estudiar su codigo fuente para
que comprendas su funcionamiento.
Operadores numericos:
Continuemos con los operadores numericos, los operadores numericos basicos son los siguientes:
* multiplicación
+ suma
- resta
/ division
% modulo o residuo(regresa el residuo de una division)
Continuemos con los operadores numericos, los operadores numericos basicos son los siguientes:
* multiplicación
+ suma
- resta
/ division
% modulo o residuo(regresa el residuo de una division)
Operadores condicionales
> mayor que
< menor que
>= mayor o igual
<= menor o igual
== igual //para comparar igualdad se puede utilizar el metodo .equals() para comparar objetos, asi como cadenas String y otras clases de objetos
! diferente
!= diferente de
> mayor que
< menor que
>= mayor o igual
<= menor o igual
== igual //para comparar igualdad se puede utilizar el metodo .equals() para comparar objetos, asi como cadenas String y otras clases de objetos
! diferente
!= diferente de
Asignación
= el simbolo ” = ” igual se utiliza para asignar un valor a una variable, es por esto que no debe ser utilizado como condición.
Ej:
Variablenumerica = 25; //uso correcto ya que se asigna un valor numerico a un numero
if(variable1=variable2) //uso incorrecto
= el simbolo ” = ” igual se utiliza para asignar un valor a una variable, es por esto que no debe ser utilizado como condición.
Ej:
Variablenumerica = 25; //uso correcto ya que se asigna un valor numerico a un numero
if(variable1=variable2) //uso incorrecto
Tipos de datos de java
TIPOS DE DATOS
(VARIABLES) EN JAVA.
Los primeros
lenguajes de programación no usaban objetos, solo variables. Una variable
podríamos decir que es un espacio de la memoria del ordenador a la que
asignamos un contenido que puede ser un valor numérico (sólo números,
con su valor de cálculo) o de tipo carácter o cadena de caracteres (valor
alfanumérico que constará sólo de texto o de texto mezclado con números).
Como ejemplo
podemos definir una variable a que contenga 32 y esto lo escribimos como a =
32. Posteriormente podemos cambiar el valor de a y hacer a = 78. O hacer “a”
equivalente al valor de otra variable “b” así: a = b.
Dado que antes
hemos dicho que un objeto también ocupa un espacio de memoria: ¿en qué
se parecen y en qué se diferencia un objeto de una variable? Consideraremos
que las variables son entidades elementales: un número, un carácter, un valor
verdadero o falso… mientras que los objetos son entidades complejas que pueden
estar formadas por la agrupación de muchas variables y métodos. Pero ambas
cosas ocupan lo mismo: un espacio de memoria (que puede ser más o menos
grande).
En los programas en
Java puede ser necesario tanto el uso de datos elementales como de datos
complejos. Por eso en Java se usa el término “Tipos de datos” para englobar a
cualquier cosa que ocupa un espacio de memoria y que puede ir tomando distintos
valores o características durante la ejecución del programa. Es decir, en vez
de hablar de tipos de variables o de tipos de objetos, hablaremos simplemente
de tipos de datos. Sin embargo, a veces “coloquialmente” no se utiliza la
terminología de forma estricta: puedes encontrarte textos o páginas web donde
se habla de una variable en alusión a un objeto.
En Java
diferenciamos dos tipos de datos: por un lado, los tipos primitivos, que se
corresponden con los tipos de variables en lenguajes como C y que son los datos
elementales que hemos citado. Por otro lado, los tipos objeto (que normalmente
incluyen métodos).
Veamos los tipos de
datos en Java sobre un esquema de síntesis:
OPERADORES
ARITMÉTICOS EN JAVA. EL OPERADOR % (MOD) O RESTO DE DIVISIÓN.
En Java disponemos
de los operadores aritméticos habituales en lenguajes de programación como
son suma, resta, multiplicación, división y operador que devuelve el resto de
una división entre enteros (en otros lenguajes denominado operador mod o módulo
de una división):
OPERADOR
|
DESCRIPCIÓN
|
+
|
Suma
|
–
|
Resta
|
*
|
Multiplicación
|
/
|
División
|
%
|
Resto de una división entre enteros (en otros lenguajes denominado
mod)
|
Variables
y constantes
Uno de los conceptos fundamentales en
programación es el de variable. Una variable
es una zona de memoria donde se almacena un valor dado, asignándole un nombre
para su posterior referencia.
Hablando llanamente: para poder guardar
ciertos valores en un ordenador necesitamos un espacio en memoria para ellos.
Posteriormente, necesitamos acceder a dichos datos pero, ¿cómo? Dándole un
nombre a la zona de memoria que contiene nuestros valores. Por lo tanto,
estamos relacionando un par clave-valor, siendo la clave el nombre de la
variable y el valor los datos a guardar.
Vamos a ver un ejemplo bien sencillo.
Queremos calcular el área y el perímetro de un círculo de radio 1,298373
m. Sabemos que la fórmula del área es πr² y el perímetro es 2πr. Entonces, para
calcular dichos valores en un ordenador introduciríamos lo siguiente (en el siguiente
tema veremos como se hace esto en Java, específicamente):
1
2
|
3.14159265359 * 1,298373^2 2 *
3.14159265359 *
1,298373 |
Como podemos ver algunos de los datos
los hemos tenido que reutilizar y, por lo tanto, reescribirlos con todos sus
decimales detrás. Para no tener dicho problema podemos utilizar las variables:
1
2
3
4
|
r = 1,298373 pi = 3.14159265359 pi * r^2 2 * pi * r |
Ahora la letra r designa el radio del
círculo y el nombre pi el valor de la constante matemática pi. Por lo tanto, al escribir pi en cualquier parte de
nuestro programa, a la hora de hacer cálculos dicha variables se interpretará
como un 3.14159265359. Pero, y ¿cómo “nos acordamos” de los resultados?
Volviendo a utilizar las variables:
1
2
|
area = pi * r^2 perimetro = 2 * pi * r |
El dar un valor a una variable se llama asignación.
Al asignar un valor a una variable, se reserva un espacio en memoria, se
almacena el valor en él y se crea la asociación entre el nombre de la variable
y la dirección de memoria de dicha zona. A una variable se le pueden asignar
valores las veces que queramos. Lo único que tendremos que tener en cuenta es
que, en la zona de memoria correspondiente a la variable, sólo se guardará el
último valor asignado a ésta.
Por ejemplo, si queremos modificar el valor
del radio del circulo en nuestro programa, lo único que tenemos que hacer es
reescribir el valor de r. En el mismo programa,
borramos el 1,298373 y escribimos un nuevo valor, por ejemplo 2,8374683.
1
2
3
4
|
r = 2,8374683 pi =
3.14159265359 area = pi * r^2 perímetro = 2 * pi * r |
Ahora, r valdrá 2,8374683 en todo el resto del programa, empezando
desde la nueva asignación.
Hay algunas cosas a tener en cuenta en
cuanto a las variables en Java:
·
El nombre debe ser único en el contexto del programa (no pueden
haber dos variables con el mismo nombre)
·
No debe ser una palabra reservada del lenguaje (una palabra que
signifique algo en el lenguaje Java) o un literal booleano (true o false –
tipos de datos que veremos más adelante)
·
Puede contener cualquier carácter Unicode, pero no debe comenzar
con un número
·
No debe contener los símbolos que se utilicen como operadores (
+ , – , ?, etc )
Para poder utilizar una variable, se ha de declarar.
Esto es, indicar su nombre y su tipo de datos. Un tipo de datos es un atributo
del dato que indica al ordenador (y/o al programador) algo sobre la clase de
datos sobre los que se va a procesar. Básicamente, indica
las restricciones que tiene dicha variable: las operaciones que se le
pueden aplicar (sumar, restar, concatenar,… ) y qué datos puede guardar
(cadenas, número,… ). En el ejemplo de arriba, declararíamos las variable con
algo así:
1
2
3
4
|
numero r = 2,8374683 numero pi = 3.14159265359 numero area = pi * r^2 numero perimetro = 2 * pi * r |
Donde número, sería una palabra reservada
del lenguaje indicando el tipo de datos de las variables. Éste, por supuesto,
es un tipo de datos de un lenguaje inventado, ya que como sobre el tipo de
datos de Java hay bastante que decir, se estudiará en el próximo tema. Lo que
sí se ha de tener en cuenta es que, en Java, es obligatorio declarar las variables antes de usarlas.
Otra forma de utilizar la declaración de
variables en Java es mediante las constantes.
Una constante es una variable a la que no se le puede modificar el valor
después de su declaración. Para declarar una constante en Java se utiliza la
palabra final delante de la declaración de la variable.
Siguiendo con nuestro ejemplo:
1
|
final numero pi
= 3.14159265359 |
Ahora, pi apunta a una dirección que
contiene el número 3.14159265359 y que no se podrá cambiar en el curso del programa. Si se
intenta asignar otro valor a la constante, el compilador de Java nos dará un
error.
Expresión,
declaraciones y bloques de java.
¿Qué
es una declaración o sentencia? (Statements) Sabemos que un lenguaje es
considerado de alto nivel si su abstracción y elementos que lo componen se
relacionan directamente con elementos del lenguaje del natural. Es así como en
Java se definen las declaraciones o sentencias, no son más que instrucciones equivalentes
a oraciones del lenguaje natural. Una declaración o sentencia forma una unidad
de ejecución, es decir es una oración que se ejecuta. Las declaraciones pueden
ser una o más líneas que terminan con el carácter “;”. Un ejemplo de una
declaración puede ser System.out.println(“Mi mensaje … ”);
Una expresión que use
el operador de asignación “=”, ó “++”, ó “—“, ó la invocación de un método, ó
la expresión para crear un objeto; puede ser una declaración, la condición es
que termine con el carácter punto y coma ( ; ) y se conocen como declaración o
sentencias de expresión.
No hay comentarios:
Publicar un comentario