Buscar este blog

martes, 7 de junio de 2016

Lectura 3 características de java

CARACTERES DE JAVA




Los caracteres de Java pueden agruparse en letras, dígitos, espacios en blanco, caracteres especiales, signos de puntuación y secuencias de escape.


Letras, dígitos y otros

Estos caracteres son utilizados para formar las constantes, los identificadores y las palabras clave de Java. Son los siguientes:
• Letras mayúsculas de los alfabetos internacionales:
A - Z (son válidas las letras acentuadas y la Ñ)
• Letras minúsculas de los alfabetos internacionales:
a - z (son válidas las letras acentuadas y la~)
• Dígitos de los alfabetos internacionales, entre los que se encuentran:
o 1 2 3 4 5 6 7 8 9
• Caracteres:"_","$" y cualquier carácter Unicode por encima de OOCO.
El compilador Java trata las letras mayúsculas y minúsculas como caracteres diferentes. Por ejemplo los identificadores Año y año son diferentes.
Espacios en blanco
Los caracteres espacio en blanco (ASCll SP), tabulador horizontal (ASCll HT), avance de página (ASCll FF), nueva línea (ASCll LF), retomo de carro (ASCll CR) o CR LF (estos dos caracteres son considerados como uno solo: \n), son caracteres denominados espacios en blanco, porque la labor que desempeñan es la misma que la del espacio en blanco: actuar como separadores entre los elementos de un programa, lo cual permite escribir programas más legibles. Por ejemplo, el siguiente código:
public static void main (String(J args) l System.out.print("Hola, qué tal esHis.\n"); 1
puede escribirse de una forma más legible así:

public static void main CString[J args)
{
System.out.print("Hola. qué tal est~is.\n");

Los espacios en blanco en exceso son ignorados por el compilador.
Caracteres especiales y signos de puntuación. Este grupo de caracteres se utiliza de diferentes formas; por ejemplo, para indicar que un identificador es una función o un array; para especificar una determinada operación aritmética, lógica o de relación, etc. Son los siguientes:
. . ; : ? . • ( ) [ J 1 1 < ! 1 1 \ - + % & ft * - = >

Secuencias de escape

Cualquier carácter de los anteriores puede también ser representado por una secuencia de escape. Una secuencia de escape está fonnada por el carácter\ seguido de una letra o de una combinación de dígitos. Son utilizadas para acciones como nueva línea. tabular y para hacer referencia a caracteres no imprimibles.
A continuación hay una lista de secuencias de escape:
\n -----> Nueva Linea.
\t -----> Tabulador.
\r -----> Retroceso de Carro.
\f -----> Comienzo de Pagina.
\b -----> Borrado a la Izquierda.
\\ -----> El carácter barra inversa ( \ ).
\' -----> El carácter prima simple ( ' ).
\" -----> El carácter prima doble o bi-prima ( " ).

TIPOS DE DATOS

Recuerde las operaciones aritméticas que realizaba el programa Aritmetica.java que vimos en un capítulo anterior. Por ejemplo, una de las operaciones que realizábamos era la suma de dos valores:
datol = 20 : dalo2 - 10: resultado= datol + dato2:
Para que el compilador Java reconozca esta operación es necesario especificar previamente el tipo de cada uno de los operandos que intervienen en la misma, así como el tipo del resultado. Para ello, escribiremos una línea como la siguiente:
int dato1. dato2. resultado :
La declaración anterior le dice al compilador Java que dato!, dato2 y resultado son de tipo entero (int).
Los tipos de datos en Java se clasifican en: tipos primitivos y tipos referenciados.

Tipos primitivos

Hay ocho tipos primitivos de datos que podemos clasificar en: tipos numéricos y el tipo boolean. A su vez, los tipos numéricos se clasifican en tipos enteros y tiposreales.
Tipos enteros: byte, short, int, long y char.
Tipos reales: float y double.
Cada tipo primitivo tiene un rango diferente de valores positivos y negativos, excepto el boolean que sólo tiene dos valores: true y false. El tipo de datos que se seleccione para declarar las variables de un determinado programa dependerá del rango y tipo de valores que vayan a almacenar cada una de ellas y de si éstos son enteros o fraccionarios.
Se les llama primitivos porque están integrados en el sistema y en realidad no son objetos, lo cual hace que su uso sea más eficiente. Más adelante veremos también que la biblioteca Java proporciona .las clases: Byte, Character, Short, Integer, Long, Float, Double y Boolean, para encapsular cada uno de los tipos expuestos, proporcionando así una funcionalidad añadida para manipularlos.

byte
El tipo byte se utiliza para declarar datos enteros comprendidos entre -128 y +127. Un byte se define como un conjunto de 8 bits, independientemente de la plataforma en que se ejecute el código byte de Java.

short
El tipo short se utiliza para declarar datos enteros comprendidos entre -32768 y +32767. Un valor short se define como un dato de l6 bits de longitud, independientemente de la plataforma en la que resida el código byte de Java.

int
El tipo int se utiliza para declarar datos enteros comprendidos entre -2147483648 y +2147483647. Un valor int se define como un dato de 32 bits de longitud, independientemente de la plataforma en la que se ejecute el código byte de Java.
En general, el uso de enteros de cualquier tipo produce un código compacto y rápido. Así mismo, podemos afirmar que la longitud de un short es siempre menor o igual que la longitud de un int.

long
El tipo long se utiliza para declarar datos enteros comprendidos entre los valores-9223372036854775808 y +9223372036854775807. Un valor long se define como un dato de 64 bits de longitud, independientemente de la plataforma en la que se ejecute el código byte de Java

char
El tipo char es utilizado para declarar datos enteros en el rango \uOOOO a \uFFFF en Unicode (O a 65535). Los valores O a 127 se corresponden con los caracteres ASCII del mismo código (ver los apéndices). El juego de caracteres ASCII conforman una parte muy pequeña del juego de caracteres Unicode.
char car = 0:
En Java para representar los caracteres se utiliza el código Unicode. Se trata de un código de 16 bits (esto es, cada carácter ocupa 2 bytes) con el único propósito de internacionalizar el lenguaje. El código Unicode actualmente representa los caracteres de la mayoría de los idiomas escritos conocidos en todo el mundo.
Un carácter es representado internamente por un entero, que puede ser expresado en decimal, hexadecimal u octal, como veremos más adelante.

float
El tipo float se utiliza para declarar un dato en coma flotante de 32 bits en el formato IEEE 754 (este formato utiliza 1 bit para el signo, 8 bits para el exponente y 24 para la mantisa). Los datos de tipo float almacenan valores con una precisión aproximada de 7 dígitos. Para especificar que una constante (un literal) es de tipo float. hay que añadir al final de su valor la letra 'f' o 'F'.

double
El tipo double se utiliza para declarar un dato en coma flotante de 64 bits en el formato IEEE 754 ( l bit para el signo, 11 bits para el exponente y 52 para la mantisa). Los datos de tipo double almacenan valores con una precisión aproximada de 16 dígitos. Para especificar explícitamente que una constante (un literal) es de tipo double, hay que añadir al final de su valor la letra 'd' o 'D': por omisión, una constante es considerada de tipo double.

boolean
El tipo boolean se utiliza para indicar si el resultado de la evaluación de una expresión booleana es verdadero o falso. Los dos posibles valores de una expresión booleana son true y false. Los literales true y false son constantes definidas como palabras clave en el Lenguaje Java. Por tanto, se pueden utilizar las palabras true y false como valores de retorno, en expresiones condicionales, en asignaciones y en comparaciones con otras variables booleanas.
El contenido de una variable booleana no se puede convertir a otros tipos, pero sí se puede convertir en una cadena de caracteres.
Tipos referenciados
Hay tres clases de tipos referenciados: clases, interfaces y arrays.

LITERALES

Un literal es la expresión de un valor de un tipo primitivo, de un tipo String (cadena de caracteres) o la expresión null (valor nulo o desconocido). Por ejemplo, son literales: 5, 3.14, 'a', "hola" y null. En realidad son valores constantes. Un literal en Java puede ser: un entero, un real, un valor booleano, un carácter, una cadena de caracteres y un valor nulo.

Literales enteros
El lenguaje Java permiite especificar un literal entero en base 10, 8 y 16. En general, el signo + es opcional si el valor es positivo y el signo – estará presente siempre que el valor sea negativo. Un literal entero es de tipo int a no ser que su valor absoluto sea mayor que el de un int o se especifique el sufijo l o L. en cuyo caso será long.
Un literal entero decimal puede tener uno o más dígitos del O a 9, de los cuales el primero de ellos es distinto de O.
Un literal entero octal puede tener uno o más dígitos del O a 7, precedjdos por O (cero).
Un literal entero hexadecimal puede tener uno o más dígitos del O a 9 y letras de la A a la F (en mayúsculas o en minúsculas) precedidos por Ox o OX (cero seguido de x).

Literales reales
Un literal real está formado por una parte entera, seguido por un punto decimal, y una parte fraccionaria. También se permite la notación científica, en cuyo caso se añade al valor una e o E, seguida por un exponente positivo o negativo. donde exponente representa cero o más dígitos del O al 9 y E o e es el símbolo de exponente de la base 10 que puede ser positivo o negativo (2E-5 = 2 x JfF5 ). Si la constante real es positiva no es necesario especificar el signo y si es negativa lleva el signo menos (-).
Una constante real tiene siempre tipo double, a no ser que se añada a la misma una f o F, en cuyo caso será de tipo Octal.
También se pueden utilizar los sufijos do D para especificar explícitamente que se trata de una constante de tipo double.

Literales de un solo carácter
Los literales de un solo carácter son de tipo cbar. Este tipo de literales está formado por un único carácter encerrado entre comillas simples. Una secuencia de escape es considerada como un único carácter.
El valor de una constante de un solo carácter es el valor que le corresponde en el juego de caracteres de la máquina.
Literales de cadenas de caracteres
Un literal de cadena de caracteres es una secuencia de caracteres encerrados entre comillas dobles (incluidas las secuencias de escape como\").
Las cadenas de caracteres en Java son objetos de la clase String. Esto es, cada vez que en un programa se utilice un literal de caracteres, Java crea de forma automática un objeto String con el valor del literal.
Las cadenas de caracteres se pueden concatenar (unir) empleando el operador +. Por ejemplo, la siguiente sentencia concatena las cadenas "Distancia: ", distancia, y"Km.".
Si alguna de las expresiones no se corresponde con una cadena, como se supone que ocurre con distancia, Java la convierte de forma automática en una cadena de caracteres. Más adelante aprenderá el porqué de esto.

IDENTIFICADORES

Los identificadores son nombres dados a tipos, literales, variables, clases, interfaces, métodos, paquetes y sentencias de un programa.
Las letras pueden ser mayúsculas o minúsculas. Para Java una letra mayúscula es un carácter diferente a esa misma letra en minúscula. Por ejemplo, los identificadores Suma, suma y SUMA son diferentes.
Los identificadores pueden tener cualquier número de caracteres.

PALABRAS CLAVE

Las palabras clave son identificadores predefinidos que tienen un significado especial para el compilador Java. Por lo tanto, un identificador definido por el usuario, no puede tener el mismo nombre que una palabra clave. El lenguaje Java, tiene las siguientes palabras clave:
abstract
default
If
private
this
boolean
do
implements
protected
throw
break
double
Import
public
throws
byte
else
Instanceof
return
transient
case
extends
Int
short
try
catch
final
Interface
static
void
char
finally
Long
strictfp**
volatile
class
float
Native
super
while
const*
for
New
switch

continue
goto*
Package
synchronized

* Son palabras claves de Java que no son usadas actualmente.
** Palabra clave agregada en Java 2
Las palabras clave deben escribirse siempre en minúsculas, como están.

COMENTARIOS

Un comentario es un mensaje a cualquiera que lea el código fuente. Añadiendo comentarios se hace más fácil la comprensión de un programa. La finalidad de los comentarios es explicar el código fuente. Java soporta tres tipos de comentarios:
• Comentario tradicional. Un comentario tradicional empieza con los caracteres/* y finaliza con los caracteres */. Estos comentarios pueden ocupar más de una línea, pero no pueden anidarse.
• Comentario de una sola línea. Este tipo de comentario comienza con una doble barra (//) y se extiende hasta el final de la línea.
• Comentario de documentación. Este tipo de comentario comienza con /** y termina con */. Son comentarios especiales que javadoc utiliza para generar la documentación acerca del programa, aunque también se pueden emplear de manera idéntica a los comentarios tradicionales.

DECLARACIÓN DE CONSTANTES SIMBÓLICAS

Declarar una constante simbólica significa decirle- al compilador Java el nombre de la constante y su valor. Esto se hace utilizando el calificador final y/o el static.

¿Por qué utilizar constantes?
Utilizando constantes es más fácil modificar un programa. Por ejemplo, supongamos que un programa utiliza N veces una constante de valor 3.14. Si hemos definido dicha constante como final static double Pi = 3.14 y posteriormente necesitamos cambiar el valor de la misma a 3.1416, sólo tendremos que modificar una línea, la que define la constante. En cambio, si no hemos declarado Pi, sino que hemos utilizado el valor 3.14 directamente N veces, tendríamos que realizar N cambios.

DECLARACIÓN DE UNA VARIABLE

Una variable representa un espacio de memoria para almacenar un valor de un determinado tipo. El valor de una variable, a diferencia de una constante, puede cambiar durante la ejecución de un programa. Para utiJizar una variable en un programa, primero hay que declararla. La declaración de una variable consiste en enunciar el nombre de la misma y asociarle un tipo:
Iniciación de una variable
Las variables miembro de una clase son iniciadas por omisión por el compilador Java para cada objeto que se declare de la misma: las variables numéricas con O, los caracteres con '\[)' y las referencias a las cadenas de caracteres y el resto de las referencias a otros objetos con null. También pueden ser iniciadas explícitamente. En cambio, las variables locales no son iniciadas; por el compilador Java. Por lo tanto, es nuestra obligación iniciarlas, de lo contrario el compilador visualizará un mensaje de error en todas las sentencias que hagan referencia a esas variables.

EXPRESIONES NUMÉRICAS

Una expresión es un conjunto de operandos unidos mediante operadores para especificar una operación determinada. Todas las expresiones cuando se evalúan retornan un valor.

CONVERSIÓN ENTRE TIPOS DE DATOS

Cuando Java tiene que evaluar una expresión en la que intervienen operandos de diferentes tipos, primero convierte, sólo para realizar las operaciones solicitadas, los valores de los operandos al tipo del operando cuya precisión sea más alta.
Cuando se trate de una asignación, convierte el valor de la derecha al tipo de la variable de la izquierda siempre que no haya pérdida de información. En otro caso, Java exige que la conversión se realice explícitamente. La figura siguiente resume los tipos colocados de izquierda a derecha de menos a más precisos; las flechas indican las conversiones implícitas permitidas:

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


No hay comentarios:

Publicar un comentario