Make your own free website on Tripod.com
Java
Home | historia de java | definicion de java | Caracteristicas de java | Java comparado con otros lenguajes | Librerias | Palabras reservadas | Fundamentos de java | Bibliografia

Java comparado con otros lenguajes

" COMPARATIVA DE JAVA "

En este apartado se va a comparar Java con otros lenguajes de programación orientados a objeto.

En principio Java fue diseñado tomando C y C++ como base para la creación de un nuevo lenguaje con la modificación de todos aquellos aspectos que no eran útiles o dificultosos para la programación de componentes electrónicos de bajo coste. Para ello el nuevo lenguaje debía incluir interfaces cómodas, debía ser fiable y fácil de desarrollar y los programas debían ser portables de un sistema a otro sin ningún tipo de problema.

 Comparación de los tipos de datos 

a.) Tipos de datos simples (primitivos): Java es muy parecido a C++ en el juego básico de tipos de datos con algunas pequeñas modificaciones.

En Java se distingue entre tipos de datos primitivos y clases, aunque existen unas clases especiales (envoltorios o wrappers) que permiten modificar los tipos de datos primitivos.

Los tipos de datos primitivos (o simples) pueden ser numéricos, booleanos o caracteres.

b.) Datos numéricos: Hay cuatro tipos numéricos: byte de 1 byte, short de 2 bytes, int de 4 bytes, y los long de 8 bytes. El tipo más habitual de los cuatro es el tipo int. El byte viene a sustituir el tipo char de C++, ya que Java introduce una interpretación diferente al tipo de datos char.

Las principales diferencias con C++ son:

  • No existe un tipo sin signo (unsigned) para los números en Java.

  • Los tipos numéricos reales son el float (8 bytes) y el double (16 bytes).

  • Los números que utilizan coma flotante (por ejemplo 18.96) son considerados double por defecto, y habrá que realiza un moldeado (casting) explícito para que sean float.

c.) CaracteresLos datos carácter en Java se basan en los de C++ que a su vez son heredados de C. Los caracteres son Unicode de 2 bytes. Los caracteres Unicode son valores de 2 bytes sin signo, con lo que se define obtiene un rango de 65535 caracteres diferentes, que son suficientes para las los diferentes lenguajes y sistemas de representación del planeta.

El carácter de datos del lenguaje Java proviene del tradicional C. Hay que señalar que los caracteres en C++ eran de sólo 1 byte, con lo que en Java podremos representar muchos más caracteres que en C++.

d.) Datos booleanos: En Java se definen para las variables con valores Verdadero/Falso o Sí/No, en definitiva, valores bi-estado. Una variable booleana puede tener los valores true (verdadero) o false (falso). Son parecidos a los de C++, aunque en cualquier caso, y a diferencia de C++ estas variables no pueden ser convertidas a datos numéricos, y es un tipo de datos básico.

C. Operadores relacionales y aritméticos.

Se permite en Java los mismos operadores que C++, con la variación de >>> (desplazamiento sin signo) y la utilización del operador + para la concatenación de cadenas de caracteres.

Los vectores en Java, a diferencia de C++, son una clase de objetos. Un vector es un objeto real con una representación en tiempo real. Se pueden declarar y almacenar vectores de cualquier tipo, y almacenar también vectores de vectores para obtener matrices (vectores con varias dimensiones). En este último aspecto no existe diferencia con C++.

Las cadenas en Java son objetos del lenguaje, no existen seudo-arrays de caracteres (cadenas) como era el caso de C++. Existen dos tipos de cadenas de objetos:

Las que se obtienen de la clase String, para cadenas de sólo lectura.

Las que se obtienen de la clase StringBuffer para cadenas que se pueden modificar.

Al igual que C++, el compilador de Java entiende que una cadena de caracteres rodeada de dobles comillas es una cadena, y es iniciada como un objeto de tipo String (en C++ sería como vector de caracteres con el carácter fin de cadena ‘\0’ al final de la misma).

Enter first column content here

Enter second column content here

Enter third column content here

Enter supporting content here

historia de java