lunes, 4 de julio de 2016

"JAVA"

JAVA

Java es un lenguaje de programación de propósito general, concurrente, orientado a objetos que fue diseñado específicamente para tener tan pocas dependencias de implementación como fuera posible. Su intención es permitir que los desarrolladores de aplicaciones escriban el programa una vez y lo ejecuten en cualquier dispositivo (conocido en inglés como WORA, o "write once, run anywhere"), lo que quiere decir que el código que es ejecutado en una plataforma no tiene que ser recompilado para correr en otra. Java es, a partir de 2012, uno de los lenguajes de programación más populares en uso, particularmente para aplicaciones de cliente-servidor de web, con unos 10 millones de usuarios reportados.1 2

El lenguaje de programación Java fue originalmente desarrollado por James Gosling de Sun Microsystems (la cual fue adquirida por la compañía Oracle) y publicado en 1995 como un componente fundamental de la plataforma Java de Sun Microsystems. Su sintaxis deriva en gran medida de C y C++, pero tiene menos utilidades de bajo nivel que cualquiera de ellos. Las aplicaciones de Java son generalmente compiladas a bytecode (clase Java) que puede ejecutarse en cualquier máquina virtual Java (JVM) sin importar la arquitectura de la computadora subyacente.

La compañía Sun desarrolló la implementación de referencia original para los compiladores de Java, máquinas virtuales, y librerías de clases en 1991 y las publicó por primera vez en 1995. A partir de mayo de 2007, en cumplimiento con las especificaciones ɖel Proceso de la Comunidad Java, Sun volvió a licenciar la mayoría de sus tecnologías de Java bajo la Licencia Pública General de GNU. Otros también han desarrollado implementaciones alternas a estas tecnologías de Sun, tales como el Compilador de Java de GNU y el GNU Classpath.
Programación
Expresiones
Las expresiones son un conjunto de elementos o tokens junto con literales que son evaluados para devolver un resultado. Los tokens son elemento más pequeño de un programa que es significativo, e interpretado o entendido por el compilador, en java los tokens se dividen en cinco categorías que son:

Identificadores: Son las representaciones que se les da a los nombres que se asignan a las variables, clases, paquetes, métodos y constantes en el código de java para que el compilador los identifique y el programador pueda entenderlos. En java los identificadores pueden diferenciar entre mayúsculas o minúsculas por ser case sensitive, por lo que la variable cuyo nombre sea “Mivariable”, no es igual a “mivariable”, ya que java identifica estas como variables diferentes por el case sensitive, también se puede utilizar números, o el signo “_” para asignar un identificador.

Palabras claves: Son los identificadores reservados por java para cumplir con un objetivo específico en el código y el compilador, se usan de forma limitada y en casos específicos. Las palabras claves que usa java son las siguientes:

abstract          boolean           break   byte     case
catch   char     class    continue          default
do        double else     extends           false
final     finally  float    for       if
implements    import instanceof       int        interface
long     native  new     null      package
private            protected        public  return  short
static   super   switch  syncronized     this
throw  throws transient         true     try
void     volatile            while   var       rest
byvalue           cast     const   future  generic
goto     inner   operator         outer  
Las palabras que se encuentran en negrilla, son palabras claves para java aunque actualmente no se utilicen en la versión de java, pero se pretenden integrar en las siguientes versiones de java.

Literales y constantes:

 Los literales son sintaxis para asignar valores a una variable, es decir el valor que puede tomar una variable, también es un valor constante que puede ser de tipo numérico. Las constantes son variables que tienen un valor fijo y no puede ser modificado en el trascurso de la ejecución del código, estas se declaran por medio de los modificadores final y static.

final static double pi= 3.1416;
Operadores: Son los que nos indican una evaluación que se aplica a un objeto o un dato, sobre un identificador o constante. Un ejemplo de operadores puede ser la suma, resta o multiplicación.

Separadores:

Se utilizan para indicarle al compilador de java donde se ubican los elementos del código, los separadores que admite java son: { },:;

También el compilador de java identifica y elimina los comentarios, retornos de carros espacios vacíos y de tabulación a la hora de compilar por lo que no son considerados parte de un token.

Las expresiones pueden ser una combinación en secuencia de variables, operadores y métodos. Las expresiones son utilizadas para realizar cálculos, para asignar valores a variables, o para controlar la ejecución del flujo del programa.

Operadores

Los operadores son aquellos que tras realizar una operación devuelven un resultado, estos se puede caracterizar por el número de operadores, el tipo de operandos, y el resultado que generan.

Número de operandos. Pueden ser de dos tipos unarios, y binarios. Los unarios son aquellos que solo necesitan de un operando para devolver un valor, mientras que los binarios necesitan de dos o más operandos.

 Operadores unarios.


Operador        Descripción
-           Cambio de signo
 !          Operador NOT
~          Complemento a 1
Operadores binarios.

Operadores    Descripción
+ - * / %          Operadores aritméticos
== != < > <= >=           Operadores relacionales
&& || ^           Operadores booleanos
^ << >> >>>     Operadores a nivel de bit
+          Concatenación de cadenas
Operadores a nivel de bit[editar]
Los operadores a nivel de bit nos permiten realizar operaciones sobre números binarios.

~ Complemento a 1, este operador invierte los dígitos, cambiando los 0 por 1 y los 1 por 0, un ejemplo puede ser:

  11001011
~ 11001011 resultado 00110100
Como se puede ver se cambian los valores de 0 a 1 y de 1 a 0.

& AND a nivel de bit, este operador realiza una operación AND o suma entre dos números de bit, en donde si dos bit son igual a 1 el resultado será 1, de lo contrario será 0, un ejemplo puede ser:

 situacion
   01001101
 & 10011011
______________
   00001001
| Or a nivel de bit, este operador realiza una operación OR en donde si alguno de los dos números es 1 el resultado será 1, un ejemplo puede ser:

   11001101
 | 01011101
______________
   11011101
^ XOR a nivel de bit, este operador realiza la operación XOR en donde si los dos números son iguales el resultado será 0 de lo contrario será 1, un ejemplo puede ser:


   00101001
 ^ 01101101
______________
   01000100
<< Desplazamiento a la izquierda, este operador desplaza n cantidad de espacios a la izquierda un bit, un ejemplo puede ser;

01101110
01101110 << 1 = 11011100
Como se puede ver al realizar el desplazamiento se realiza una inserción de un dígito 0 a la derecha

Precedencia de operadores[editar]
Los operadores son una parte principal en las expresiones, el tipo y forma de uso es fundamental a la hora de programas, pero para su uso se tiene que tener en cuenta una serie de normas, como lo son la precedencia de los operadores.

Los operadores son ejecutados según su precedencia, si cuentan con una precedencia mayor serán evaluados primero que los de precedencia menor, si por casualidad se llegase a presentar operadores con el mismo nivel de precedencia, estos se evaluaran de derecha a izquierda, si son operadores binarios (menos los operadores de asignación) se evaluaran de izquierda a derecha. A Java se le puede indicar qué operadores debe evaluar primero sin importar su precedencia por medio de paréntesis ( ), de esta forma el compilador de java interpreta que primero ejecutara las operaciones que se encuentran dentro de los paréntesis, y luego continuara con los demás operadores. La siguiente tabla indicara en nivel de precedencia de los operadores utilizados en java, teniendo en cuenta que el nivel de precedencia está indicado de arriba a abajo, siendo arriba el nivel más alto.

 Precedencia de los operadores en Java.


Tipo de operadores    Operadores
Operadores posfijos   [ ] . ( parámetros) expr++ expr--
Operadores unarios   ++expr –expr +expr -expr ~ !
Creación o conversión           New (tipo) expr
Multiplicación            * / %
Suma   + -
Desplazamiento         << >> >>>
Comparación  < > <= >= instanceof
Igualdad          == !=
AND a nivel bit           &
OR a nivel bit  |
XOR a nivel bit           ^
AND lógico      &&
OR lógico        ||
Condicional     ? :
Asignación      = += -= *= /= %= &= ^= |= <<= >>= >>>=
Un ejemplo de la precedencia de los operadores en java podría ser el siguiente, en donde tenemos un código que se encargará de realizar una serie de operaciones aritméticas.

int numero1 = 3;
int numero2 = 4;
int resultado;
resultado = numero1 + numero2 * 3;
System.out.println (resultado); //esto imprime el valor de 15
según la precedencia de los operadores la multiplicación * tiene mayor prioridad que la suma +, por lo que primero se ejecuta la multiplicación y luego se realiza la suma.

int numero1 = 3;
int numero2 = 4;
int resultado;
resultado = (numero1 + numero2) * 3;
System.out.println (resultado); //esto imprime el valor de 21
En este caso el resultado cambia ya que primero se evalúan los parámetros que están dentro del paréntesis y luego se evalúa el resto de parámetros. Una de las recomendaciones que da Java para el desarrollo es el uso de los paréntesis en las operaciones con más de 3 operandos, así de esta forma el código se hace más legible y se evitan errores al momento de compilar.

Sentencias

Las sentencias son una representación de una secuencia de acciones que se realizan en java, la clave fundamental de las sentencias es su punto final que indica que ha finalizado la sentencia y puede continuar con la siguiente, el indicador utilizado es el signo de punto y coma (;). Contamos en java con sentencias que pueden ir desde sentencias de asignación, de bucles, condicionales, y de salto. Las sentencias se conforman comúnmente por una instancia, y un operador, un ejemplo es la sentencia de asignación que se conforma por una instancia de una variable, el signo de asignación y una expresión, un ejemplo es:

int variable = 12+2;

Las sentencias de asignación son aquellas en las que se asigna un valor a una variable o constante. Las sentencias condicionales son las que expresan una condición para definir el flujo de ejecución del programa, entre ellas tenemos if-else y switch. Las sentencias de bucles se encargar de realizar una acción cierta cantidad de tiempo dado, o hasta que se cumpla con una condición, entre ellas tenemos el while, do-while, y for. Las sentencias de salto llevan al compilador a un punto específico del programa o hacia la siguiente sentencia de ejecución, entre ellas tenemos break, continue, y return.

Conversión de tipos

En algunos casos suele ser necesario convertir un tipo de dato a otro, esto se le conoce como conversión de tipos, modelado, o tipado, así de esta forma poder realizar las operaciones necesarias sobre el valor que se desea convertir. Se debe tener en cuenta el tipo de dato que se va a convertir, ya que si se convierte un dato que tenga una cantidad menor de bit al anterior este tendrá perdida de información, un ejemplo de tipado puede ser un número long que se desea convertir a int, el compilador eliminara los primeros 32bit del long para ajustarlo al int ya que el int es de 32bit y el long de 64. Si la conversión se realiza a un tipo de datos de menos bit a un tipo de datos con mayor bit, la conversión se realiza automáticamente llamada conversión implícita, pero si se realiza de un tipo de datos con mayor bit a menor bit se tiene que realizar una conversión explícita, la cual se realiza con un casting, al usar este método se obliga a realizar la conversión por lo cual puede haber perdida de datos en la conversión. Para realizar una conversión explícita se tiene que poner el tipo de dato que se desea realizar la conversión entre paréntesis, luego el valor o la variable que se desea convertir. Un ejemplo de conversión de tipo explícito puede ser:

Int numero1 = 32;
byte numero2;
numero2 = (byte) numero1;

Un ejemplo de una conversión de tipo implícita puede ser:


int numero1 = 32;
long numero2;
numero2 = numero1;
Las siguiente tabla muestra la los tipos de datos que se pueden realizar una conversión implícita desde el dato origen, hasta el dato destino que es el dato en el que se va a convertir.

Tipo origen     Tipo destino

byte     double, float, long, int, char, short
short    double, float, long, int
char     double, float, long, int
int        double, float, long
long     double, float
float    double
Los tipos de datos booleanos no pueden ser convertidos a otro tipo de datos, por ningún método mencionado anteriormente. Otro tipo de conversión que no se encuentre en esta tabla desde el origen al destino, tiene que realizarse por medio de una conversión explícita por casting. Cuando se desea realizar una conversión de un tipo string como origen a otro tipo, es necesario utilizar una función que se encarga de convertir el tipo de dato, la función necesaria se compone de la variable que va almacenar el resultado, y dependiendo de la variable se usa el parámetro que inicia con el tipo de dato a convertir, Integer, Byte, Short, o Long, seguida de punto “. “, el cual indica que se cargarán los atributos del parámetro, en donde cargaremos el parseInt si queremos convertir a interger o parseByte si queremos convertir a byte, o dependiendo del tipo de dato, seguido de paréntesis en donde se agregara el valor de string a convertir. Algunos ejemplos puede ser:

int numero1;
long numero2;
byte numero3;
String texto= “2013”;
numero1 = Integer.parseInt ( texto );
numero2 = Long.parseLong ( texto);
numero3 = Byte.parseByte ( texto );

esto suele ser usado para realizar una conversión de texto cuando se ingresan valores numéricos por una entrada a java, la cual los detecta como string, así de esta forma puede convertir el texto que se ingresa a un número para realizar operaciones, como una calculadora.

"TUTORIAL"





No hay comentarios.:

Publicar un comentario