JAVA
ESCUELA
PROFESIONAL DE: Ing. Sistemas y Telemática
JAVA
|
ÁREA : Desarrollo de Software I.
DOCENTE : Ing. Marco Aurelio Porro Chulli.
ESTUDIANTES :
ü
Ocaña Bueno Lisbeth.
ü
Herrera Silva Carlos Jhonatan.
CICLO : V
GRUPO : “A”
Bagua Grande,
Septiembre del 2016.
JAVA:
Definición:
Java es un lenguaje de programación orientado a objetos que se
popularizó a partir del lanzamiento de su primera versión comercial de amplia
difusión, la JDK 1.0 en 1996. Actualmente es uno de los lenguajes más usados
para la programación en todo el mundo.
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.
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 abytecode (clase Java) que puede
ejecutarse en cualquier máquina
virtual Java (JVM)
sin importar la arquitectura
de la computadora subyacente.
Java es un lenguaje útil para casi todo tipo de
problemas. Podemos citar como funcionalidades de Java lo siguiente:
1. Aplicaciones “cliente”: son las que se
ejecutan en un solo ordenador (por ejemplo, el portátil de tu casa) sin
necesidad de conectarse a otra máquina. Pueden servirte por ejemplo para
realizar cálculos o gestionar datos.
2. Aplicaciones “cliente/servidor”: son
programas que necesitan conectarse a otra máquina (por ejemplo, un servidor de
datos) para pedirle algún servicio de forma más o menos continua, como podría
ser el uso de una base de datos. Pueden servir por ejemplo para el teletrabajo:
trabajar desde casa, pero conectados a un ordenador de una empresa.
3. Podemos hablar también de “aplicaciones
web”, que son programas Java que se ejecutan en un servidor de páginas web.
Estas aplicaciones reciben “solicitudes” desde un ordenador y envían al
navegador (Internet Explorer, Firefox, Safari, etc.) que actúa como su cliente
páginas de respuesta en HTML.
Éstos son sólo algunos ejemplos de todo el
potencial que hay detrás de Java como lenguaje para aprender y obtener muchos
beneficios con su uso. Obviamente por determinados términos empleados (cliente,
cliente/servidor, base de datos, HTML…), el lenguaje Java tiene mucha
potencialidad, pero también de que su conocimiento a fondo requeriría mucho
tiempo.
Java se incorporó al ámbito de la informática
en los años noventa. La idea de Java es que pueda realizarse programas con la
posibilidad de ejecutarse en cualquier contexto, en cualquier ambiente, siendo
así su portabilidad uno de sus principales logros. En la actualidad puede
utilizarse de modo gratuito, pudiéndose conseguir sin problemas un paquete para
desarrolladores que oriente la actividad de programar en este lenguaje. Puede
ser modificado por cualquiera, circunstancia que lo convierte en lo que
comúnmente se denomina “código abierto”.
Cuando se programa con un lenguaje, se utiliza un tipo de código que la máquina es incapaz de reconocer. Es por ello que se requiere de un proceso de compilación, esto es, de “traducir” el lenguaje utilizado para que la máquina sea capaz de reconocerlo y procesarlo. Cada vez que un código requiere ser ejecutado en un ambiente distinto, deberá compilarse nuevamente. Con el desarrollo de Java se intentó evitar este tipo de circunstancia, haciendo que el código corriera en cualquier ambiente. El modo en que se logró este objetivo es desarrollando una máquina virtual que ejecutase el código compilado; esto significa que la “traducción” ya no se hace para que sea comprendida por un determinado sistema operativo; se hace para que la interprete la “máquina virtual”, que puede correr en cualquier sistema operativo. De esta manera, solo es necesario realizar una compilación, que podrá ser utilizada en cualquier entorno que tenga instalada la máquina virtual java.
Como en cualquier lenguaje de estas características, existen diversos entornos de desarrollo que tienen como función facilitar el proceso de programar con Java. Algunos ejemplos al respecto pueden ser Eclipse, JCreator, NetBeans, Jbuilder, etc. Estos ofrecen un lugar para escritura de código, señalización de errores, compilación, etc. Son gratuitos, por los que pueden obtenerse en la red con facilidad.
En la actualidad, este lenguaje de programación ha ganado una enorme popularidad como consecuencias de su portabilidad, su simpleza y sus grandes posibilidades de utilización. Está especialmente extendido su uso en dispositivos móviles, circunstancia que se profundizará en el futuro. No obstante, el lenguaje también tiene sus detractores; por ejemplo, una crítica recurrente se relaciona con un rendimiento deficiente. Futuras innovaciones al respecto, no obstante, pueden solucionar el problema de forma definitiva. En defensa del lenguaje puede decirse que ha logrado la mayoría de los objetivos para los que se desarrolló.
Cuando se programa con un lenguaje, se utiliza un tipo de código que la máquina es incapaz de reconocer. Es por ello que se requiere de un proceso de compilación, esto es, de “traducir” el lenguaje utilizado para que la máquina sea capaz de reconocerlo y procesarlo. Cada vez que un código requiere ser ejecutado en un ambiente distinto, deberá compilarse nuevamente. Con el desarrollo de Java se intentó evitar este tipo de circunstancia, haciendo que el código corriera en cualquier ambiente. El modo en que se logró este objetivo es desarrollando una máquina virtual que ejecutase el código compilado; esto significa que la “traducción” ya no se hace para que sea comprendida por un determinado sistema operativo; se hace para que la interprete la “máquina virtual”, que puede correr en cualquier sistema operativo. De esta manera, solo es necesario realizar una compilación, que podrá ser utilizada en cualquier entorno que tenga instalada la máquina virtual java.
Como en cualquier lenguaje de estas características, existen diversos entornos de desarrollo que tienen como función facilitar el proceso de programar con Java. Algunos ejemplos al respecto pueden ser Eclipse, JCreator, NetBeans, Jbuilder, etc. Estos ofrecen un lugar para escritura de código, señalización de errores, compilación, etc. Son gratuitos, por los que pueden obtenerse en la red con facilidad.
En la actualidad, este lenguaje de programación ha ganado una enorme popularidad como consecuencias de su portabilidad, su simpleza y sus grandes posibilidades de utilización. Está especialmente extendido su uso en dispositivos móviles, circunstancia que se profundizará en el futuro. No obstante, el lenguaje también tiene sus detractores; por ejemplo, una crítica recurrente se relaciona con un rendimiento deficiente. Futuras innovaciones al respecto, no obstante, pueden solucionar el problema de forma definitiva. En defensa del lenguaje puede decirse que ha logrado la mayoría de los objetivos para los que se desarrolló.
Java es un lenguaje de programación con el que podemos realizar
cualquier tipo de programa. En la actualidad es un lenguaje muy extendido y
cada vez cobra más importancia tanto en el ámbito de Internet como en la
informática en general. Está desarrollado por la compañía Sun Microsystems con
gran dedicación y siempre enfocado a cubrir las necesidades tecnológicas más
punteras.
Una de las principales características por las que Java se ha hecho muy
famoso es que es un lenguaje independiente de la plataforma. Eso quiere decir
que si hacemos un programa en Java podrá funcionar en cualquier ordenador del
mercado. Es una ventaja significativa para los desarrolladores de software,
pues antes tenían que hacer un programa para cada sistema operativo, por ejemplo,
Windows, Linux, Apple, etc. Esto lo consigue porque se ha creado una Máquina de
Java para cada sistema que hace de puente entre el sistema operativo y el
programa de Java y posibilita que este último se entienda perfectamente.
La
independencia de plataforma es una de las razones por las que Java es
interesante para Internet, ya que muchas personas deben tener acceso con
ordenadores distintos. Pero no se queda ahí, Java está desarrollándose incluso
para distintos tipos de dispositivos además del ordenador como móviles, agendas
y en general para cualquier cosa que se le ocurra a la industria.
Pasado y presente:
Java fue pensado originalmente para utilizarse en
cualquier tipo de electrodoméstico, pero la idea fracasó. Uno de los fundadores
de Sun rescató la idea para utilizarla en el ámbito de Internet y convirtieron
a Java en un lenguaje potente, seguro y universal gracias a que lo puede
utilizar todo el mundo y es gratuito. Una de los primeros triunfos de Java fue
que se integró en el navegador Netscape y permitía ejecutar programas dentro de
una página web, hasta entonces impensable con el HTML.
Actualmente Java se utiliza en un amplio abanico de
posibilidades y casi cualquier cosa que se puede hacer en cualquier lenguaje se
puede hacer también en Java y muchas veces con grandes ventajas. Para lo que
nos interesa a nosotros, con Java podemos programar páginas web dinámicas, con
accesos a bases de datos, utilizando XML, con cualquier tipo de conexión de red
entre cualquier sistema. En general, cualquier aplicación que deseemos hacer
con acceso a través web se puede hacer utilizando Java.
Características:
Sun describe al lenguaje
Java de la siguiente manera:
- Simple
- Orientado a Objetos
- Tipado estáticamente
- Distribuido
- Interpretado
- Sólido
- Seguro
- Arquitectura Neutral
- Multihilo
- Portable
- Alto Rendimiento:
- Dinámico
1. Simple: Basado en el lenguaje C++
pero donde se eliminan muchas de las características OOP que se utilizan
esporádicamente y que creaban frecuentes problemas a los programadores. Esta
eliminación de causas de error y problemas de mantenimiento facilita y reduce
el coste del desarrollo de software.
o Java no da soporte
a struct, union y pointer
o Java no ofrece
typedef ni #define
o No permite la
sobrecarga de operadores.
o No ofrece herencia
múltiple.
o Maneja los
comandos en línea de diferente manera que C++
o Java tienen una
clase String, que permite un mejor manejo que los arrays de terminación nula
del C y C++.
o Java tiene un
sistema automático de asignación y liberación de memoria (recolector de basura)
que mejora mucho los sistemas del C++.
2. Orientado al
objeto: Java
da buen soporte a las técnicas de desarrollo OOP y en resumen a la
reutilización de componentes de software.
3. Distribuido: Java se ha
diseñado para trabajar en ambiente de redes y contienen una gran biblioteca de
clases para la utilización del protocolo TCP/IP, incluyendo HTTP y FTP. El
código Java se puede manipular a través de recursos URL con la misma facilidad
que C y C++ utilizan recursos locales (archivos).
4. Interpretado: El compilador
Java traduce cada fichero fuente de clases a código de bytes (Bytecode), que
puede ser interpretado por todas las máquinas que den soporte a un visualizador
de que funcione con Java. Este Bytecode no es especifico de una máquina
determinada, por lo que no se compila y enlaza como en el ciclo clásico, sino
que se interpreta.
5. Sólido: El código Java no
se quiebra fácilmente ante errores de programación. Así el relaje que existe en
la declaración y manejo de tipos en C y C++ se torna en restricciones en Java,
donde no es posible la conversión forzada (cast) de enteros en punteros y no
ofrece soporte a los punteros que permitan saltarse reglas de manejo de tipos.
Así en Java no es posible escribir en áreas arbitrarias de memoria ni realizar
operaciones que corrompan el código. En resumen, se eliminan muchas de las
posibilidades de "trucos" que ofrecía el C y C++.
6. Seguro: Como Java suele
funcionar en ambiente de redes el tema de seguridad debe interesar en
sobremanera. Las mismas características antes descritas que evitan la
corrupción de código evitan su manipulación. Actualmente se esta trabajando en encriptar
el código.
7. Arquitectura
neutral:
El compilador crea códigos de byte (Bytecode) que se envía al visualizador
solicitado y se interpreta en la máquina que posee un intérprete de Java o
dispone de un visualizador que funciona con Java.
8. Portable: Al ser de
arquitectura neutral es altamente portable, pero esta característica puede
verse de otra manera: Los tipos estándares (int, float ...) están igualmente
implementados en todas las máquinas por lo que las operaciones aritméticas
funcionaran igual en todas las máquinas.
9. Alto rendimiento: Sobre todo con la aparición de hardware especializado y mejor software, al ser código
interpretado, la ejecución no es tan rápida como el código compilado para una
plataforma particular. El compilador Java suele ofrecer la posibilidad de
compilar Bytecode en código máquina de determinadas plataformas, y según Sun
este código resultar de una eficacia similar a compilaciones de C y C++.
10. Multihilos Java puede
aplicarse a la realización de aplicaciones en las que ocurra más de una cosa a
la vez. Java, apoyándose en un sistema de gestión de eventos basado en el
paradigma de condición y monitores C.A.R. permite apoyar la conducta en tiempo
real e interactiva en programas
11. Dinámico: Al contrario que
C++ que exige se compile de nuevo la aplicación al cambiar una clase madre Java
utiliza un sistema de interfaces que permite aligerar esta dependencia. Como
resultado, los programas Java pueden permitir nuevos métodos y variables en un
objeto de biblioteca sin afectar a los objetos dependientes.
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.
TIPOS DE
DATOS:
Un dato siempre lleva asociado un
tipo de dato, que determina el conjunto de valores que puede tomar.
En Java toda la información que
maneja un programa está representada por dos tipos principales de datos:
a) Datos
de tipo básico o primitivo.
b) Referencias
a objetos.
Los tipos de datos básicos o
primitivos no son objetos y se pueden utilizar directamente en un programa sin
necesidad de crear objetos de este tipo. La biblioteca Java proporciona clases
asociadas a estos tipos que proporcionan métodos que facilitan su manejo.
Los tipos de datos primitivos que
soporta Java son:
Tipo de dato
|
Representación
|
Tamaño (Bytes)
|
Rango de Valores
|
Valor por defecto
|
Clase Asociada
|
byte
|
Numérico Entero con signo
|
1
|
-128 a 127
|
0
|
Byte
|
short
|
Numérico Entero con signo
|
2
|
-32768 a 32767
|
0
|
Short
|
int
|
Numérico Entero con signo
|
4
|
-2147483648 a 2147483647
|
0
|
Integer
|
long
|
Numérico Entero con signo
|
8
|
-9223372036854775808 a
9223372036854775807
|
0
|
Long
|
float
|
Numérico en Coma flotante de
precisión simple Norma IEEE 754
|
4
|
± 3.4x10-38 a ± 3.4x1038
|
0.0
|
Float
|
double
|
Numérico en Coma flotante de
precisión doble Norma IEEE 754
|
8
|
± 1.8x10-308 a ± 1.8x10308
|
0.0
|
Double
|
char
|
Carácter Unicode
|
2
|
\u0000 a \uFFFF
|
\u0000
|
Character
|
boolean
|
Dato lógico
|
-
|
true ó false
|
false
|
Boolean
|
void
|
-
|
-
|
-
|
-
|
Void
|
DATOS NUMÉRICOS ENTEROS
En Java los representan los tipos: byte,
short, int, long.
El tipo de dato numérico entero es un
subconjunto finito de los números enteros del mundo real. Pueden ser positivos
o negativos.
Ejemplo de declaración de variables
enteras:
int
a;
byte
n1, n2;
short x;
DATOS NUMÉRICOS REALES
En Java los representan los tipos:
float, double.
El tipo de dato numérico real es un
subconjunto finito de los números reales. Siempre llevan un punto decimal y
también pueden ser positivos o negativos. Los números reales tienen una parte
entera y una parte decimal.
Por ejemplo: 0.08 -54.0001
Ejemplo de declaración de variables
reales:
float
peso;
double
longitud;
float
altura = 2.5F;
double
area = 1.7E4; // equivale a 1.7 * 104
double z = .123; //si la parte entera es
0 se puede omitir
DATOS DE TIPO CARÁCTER
En Java se representa con el tipo char.
Un dato de tipo carácter se utiliza para
representar un carácter dentro del rango \u0000 a \uFFFF (números desde 0 hasta
65535) en Unicode.
En realidad un dato de tipo char contiene un número entero dentro del rango anterior que
representa un carácter.
En Java se utiliza el código Unicode
para la representación de caracteres. Este código actualmente representa los
caracteres de la mayoría de idiomas escritos en todo el mundo.
Los 127 primeros caracteres de Unicode
corresponden al código ASCII.
El Código
ASCII (American Standard
Code for Information Interchange o
Código Estándar Americano para el Intercambio de Información) asigna valores
numéricos a las letras, números, signos de puntuación y algunos otros
caracteres especiales.
ASCII incluye 256 códigos divididos en dos conjuntos, estándar y
extendido, de 128 cada uno. El conjunto ASCII
básico, o estándar, utiliza 7
bits para cada código, lo que
da como resultado 128 códigos de caracteres desde 0 hasta 127.
El conjunto ASCII extendido utiliza 8 bits para cada código, dando como resultado
128 códigos adicionales, numerados desde el 128
hasta el 255.
En el conjunto de caracteres ASCII
básico, los primeros 32 valores están asignados a los códigos de control de
comunicaciones y de impresora (caracteres no imprimibles) empleados para
controlar la forma en que la información es transferida desde una computadora a
otra o desde una computadora a una impresora. En este grupo están los códigos
correspondientes a la barra
espaciadora (SP por space), la tecla ENTER de retorno de carro a un nuevo
renglón (CR por carry return), etc. También
existen caracteres de control usados en teleprocesamiento, como ser ACK
(Acknowledge - aviso de mensaje recibido), BEL (bell - aviso por señal sonora),
ETX (end of text – fin de texto), STX (start of text – comienzo de texto), etc.
Los 96 códigos restantes del código
básico corresponden a los caracteres imprimibles y se asignan a los signos de
puntuación corrientes, a los dígitos del 0 al 9 y a las letras mayúsculas y
minúsculas del alfabeto latino.
Los códigos correspondientes al ASCII
extendido, del 128 al 255, se asignan a aquellos caracteres que no pertenecen
al alfabeto anglosajón, por ejemplo, las vocales con tilde, la ñ, y en general
todos los caracteres especiales que utilizan los distintos lenguajes.
Debido a lo limitado de su tamaño, el
código ASCII no es suficiente para representar caracteres de alfabetos como el
Japonés, Chino o árabe. La solución a este problema ha sido crear un código más
grande con el que poder representar cualquier carácter de cualquier idioma: el
código Unicode.
El código UNICODE proporciona una única representación
numérica para cada símbolo, independientemente del ordenador, el programa o el
lenguaje de programación que se use.
La codificación Unicode se
ha transformado en un estándar adoptado por las principales empresas de hardware y software. Java utiliza la codificación
Unicode.
La descripción completa del estándar y
las tablas de caracteres están disponibles en la página web oficial de Unicode http://www.unicode.org/. La referencia completa se publica,
además, en forma de libro impreso cada vez que se libera una nueva versión
principal. La versión digital de este libro está disponible de forma gratuita.
Ejemplo de declaración de variables de
tipo carácter:
char car;
char letra1 = 'z';
char letra = '\u0061'; //código unicode
del carácter ‘a’
DATOS DE TIPO LÓGICO
Se representan con el tipo boolean.
Los datos de este tipo sólo pueden
contener dos valores: true (verdadero) ó false (falso).
Ejemplo de declaración de variables lógicas:
boolean primero;
boolean par = false;
Los tipos de datos lógicos son también
conocidos como booleanos en honor del matemático inglés George
Bool, que desarrolló la teoría conocida como álgebra de bool que fue la base
para la representación de los circuitos lógicos.
OPERADORES LÓGICOS:
En Java
disponemos de los operadores lógicos habituales en lenguajes de
programación como son “es igual”, “es distinto”, menor, menor o igual, mayor,
mayor o igual, and (y), or (o) y not (no). La sintaxis se basa en símbolos como
veremos a continuación y cabe destacar que hay que prestar atención a no
confundir == con = porque implican distintas cosas.
OPERADOR
|
DESCRIPCIÓN
|
==
|
Es
igual
|
!=
|
Es
distinto
|
<,
<=, >, >=
|
Menor,
menor o igual, mayor, mayor o igual
|
&&
|
Operador
and (y)
|
||
|
Operador
or (o)
|
!
|
Operador
not (no)
|
Los operadores && y || se llaman operadores
en cortocircuito porque si no se cumple la condición de un término no
se evalúa el resto de la operación. Por ejemplo: (a == b && c != d
&& h >= k) tiene tres evaluaciones: la primera comprueba si la
variable a es igual a b. Si no se cumple esta condición, el resultado de la
expresión es falso y no se evalúan las otras dos condiciones posteriores.
En un caso como ( a < b || c != d || h <= k)
se evalúa si a es menor que b. Si se cumple esta condición el resultado de la
expresión es verdadero y no se evalúan las otras dos condiciones posteriores.
El operador ! recomendamos no usarlo hasta que se
tenga una cierta destreza en programación. Una expresión como (!esVisible)
devuelve false si (esVisible == true), o true si (esVisible == false). En
general existen expresiones equivalentes que permiten evitar el uso de este
operador cuando se desea.
ORDEN DE PRIORIDAD, PRELACIÓN O
PRECEDENCIA
Los operadores lógicos y matemáticos tienen un
orden de prioridad o precedencia. Este es un esquema general que indica el
orden en que deben evaluarse en la mayoría de los lenguajes de programación:
Una expresión como A+B == 8 && A-B == 1 siendo A = 3 y B = 5
supondrá que se evalúa primero A+B que vale 8, luego se evalúa A-B que vale -2.
Luego se evalúa si se cumple que la primera operación es cierta y luego si la
segunda también es cierta, resultando que no, por lo que la expresión es falsa.
- Operadores
Los operadores son símbolos especiales que por lo
común se utilizan en expresiones.
La tabla siguiente muestra los distintos tipos de operadores que utiliza
Java.
Operador
|
Significado
|
Ejemplo
|
Operadores aritméticos
|
||
+
|
Suma
|
a + b
|
-
|
Resta
|
a - b
|
*
|
Multiplicación
|
a * b
|
/
|
División
|
a / b
|
%
|
Módulo
|
a % b
|
Operadores de asignación
|
||
=
|
Asignación
|
a = b
|
+=
|
Suma y
asignación
|
a += b
(a=a + b)
|
-=
|
Resta y
asignación
|
a -= b
(a=a - b)
|
*=
|
Multiplicación
y asignación
|
a *= b
(a=a * b)
|
/=
|
División
y asignación
|
a / b
(a=a / b)
|
%=
|
Módulo
y asignación
|
a % b
(a=a % b)
|
Operadores relacionales
|
||
==
|
Igualdad
|
a == b
|
!=
|
Distinto
|
a != b
|
<
|
Menor
que
|
a <
b
|
>
|
Mayor
que
|
a >
b
|
<=
|
Menor o
igual que
|
a <=
b
|
>=
|
Mayor o
igual que
|
a >=
b
|
Operadores especiales
|
||
++
|
Incremento
|
a++ (postincremento)
++a (preincremento) |
--
|
Decremento
|
a--
(postdecremento)
--a (predecremento) |
(tipo)expr
|
Cast
|
a =
(int) b
|
+
|
Concatenación
de cadenas
|
a =
"cad1" + "cad2"
|
.
|
Acceso
a variables y métodos
|
a =
obj.var1
|
( )
|
Agrupación
de expresiones
|
a = (a +
b) * c
|
La tabla siguiente muestra la precedencia asignada a los operadores, éstos son listados en orden de precedencia.
Los operadores en la misma fila tienen igual precedencia
Operador
|
Notas
|
.
[] ()
|
Los
corchetes se utilizan para los arreglos
|
++
-- ! ~
|
! es el
NOT lógico y ~ es el complemento de bits
|
new
(tipo)expr
|
new se
utiliza para crear instancias de clases
|
*
/ %
|
Multiplicativos
|
+ -
|
Aditivos
|
<<
>> >>>
|
Corrimiento
de bits
|
<
> <= >=
|
Relacionales
|
==
!=
|
Igualdad
|
&
|
AND
(entre bits)
|
^
|
OR
exclusivo (entre bits)
|
|
|
OR
inclusivo (entre bits)
|
&&
|
AND
lógico
|
||
|
OR
lógico
|
? :
|
Condicional
|
=
+= -= *= /= %= &= ^=
|= <<= >>= >>>=
|
Asignación
|
Todos los
operadores binarios que tienen la misma prioridad (excepto los operadores de
asignación) son evaluados de izquierda a derecha.
Los operadores de asignación son evaluados de derecha a izquierda.
Los operadores de asignación son evaluados de derecha a izquierda.
Variables
y tipos de datos (1 de 3): Las
variables son localidades de memoria en las que pueden almacenarse datos. Cada
una tiene un nombre, un tipo y valor. Java tiene tres tipos de variables: de
instancia, de clase y locales.
- Variables de instancia: Se utilizan para definir los atributos de un
objeto.
- Variables de clase: Son similares a las variables de instancia,
con la excepción de que sus valores son los mismos para todas las
instancias de la clase.
- Variables locales: Se declaran y se utilizan dentro de las
definiciones de los métodos.
* A diferencia de otros lenguajes,
Java no tiene variables globales, es decir , variables que son vistas en
cualquier parte del programa
Se juntaron el operador de suma con el de asignación. Este atajo se
puede realizar para otras operaciones además de la suma. Es útil cuando la
operación contiene como primer operando al valor de la misma variable en la que
se almacena el resultado.
Operadores
de asignación
|
|||
Operación
|
Operador
|
Utilización
|
Operación equivalente
|
Suma
|
+=
|
A += B
|
A = A + B
|
Resta
|
-=
|
A -= B
|
A = A - B
|
Multiplicación
|
*=
|
A *= B
|
A = A * B
|
División
|
/=
|
A /= B
|
A = A / B
|
Resto de división
|
%=
|
A %= B
|
A = A % B
|
Desplazamiento a la izquierda
|
<<=
|
A <<= B
|
A = A << B
|
Desplazamiento a la derecha
|
>>=
|
A >>= B
|
A = A >> B
|
Desplazamiento a la derecha sin signo
|
>>>=
|
A >>>= B
|
A = A >>> B
|
AND de bits
|
&=
|
A &= B
|
A = A & B
|
OR de bits
|
|=
|
A |= B
|
A = A | B
|
XOR de bits
|
^=
|
A ^= B
|
A = A ^ B
|
Los operadores del enguaje Java son los
mismos que los de los demás lenguajes, además cada nuevo tipo tendrá su proprio
método que incluyen nuevos operadores, como vimos en el ejemplo de la clse Complejos.
Analizamos los operadores de acceso a las clases y a los objetos, es decir, simplemente el punto. Si queremos entrar en el campo X del objeto x, simplemente tendremos que escribir x.X, aunque x tenga un método Y(ent valor), nosostros entramos o, mejor en este caso, lo solicitamos escribiendo x.Y(39); Tenemos los operadores aritméticos de siempre: +,-,*,/ y %.
Hay que tener en cuenta también las operaciones son tipadas, es decir, si sumo dos enteros el resultado es un valor entero y así para todas las operaciones, de forma que si tenemos una expresión siempre es posible establecer el tipo de resultado.
Java ejerce un fuerte control sobre los tipos. De hecho, no es posible asignar un carácter e un entero, lo que es posible en el lenguaje C, y además es imposible asignar un double a un float sin un casting explícito. El casting obliga a un valor de un tipo a tener un tipo distinto. Si escribo 5, me refiero a un entero, mientras que si hago un cast a float me refiero a la versión de 5 real y para hacerlo tendré que escribir(float) 5.
Analizamos los operadores de acceso a las clases y a los objetos, es decir, simplemente el punto. Si queremos entrar en el campo X del objeto x, simplemente tendremos que escribir x.X, aunque x tenga un método Y(ent valor), nosostros entramos o, mejor en este caso, lo solicitamos escribiendo x.Y(39); Tenemos los operadores aritméticos de siempre: +,-,*,/ y %.
Hay que tener en cuenta también las operaciones son tipadas, es decir, si sumo dos enteros el resultado es un valor entero y así para todas las operaciones, de forma que si tenemos una expresión siempre es posible establecer el tipo de resultado.
Java ejerce un fuerte control sobre los tipos. De hecho, no es posible asignar un carácter e un entero, lo que es posible en el lenguaje C, y además es imposible asignar un double a un float sin un casting explícito. El casting obliga a un valor de un tipo a tener un tipo distinto. Si escribo 5, me refiero a un entero, mientras que si hago un cast a float me refiero a la versión de 5 real y para hacerlo tendré que escribir(float) 5.
LINKOGRAFÍA:
http://www.alegsa.com.ar/Diccionario/C/20734.php
Trabajo bien elaborado.Ilustrar el trabajo. Proponga un foro de discusión sobre el tema.Defina bien las recomendaciones y conclusiones. Muchas gracias por su investigación. Gracias. Saludos
ResponderBorrar