viernes, 29 de mayo de 2015

Principales Características de JAVA.

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
Sun describe al lenguaje Java de la siguiente manera:
  • 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(
“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
-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*/
}
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)
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
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
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