¿Cuál es la conexión entre JAVA y el lenguaje C?
El lenguaje Java consta de dos partes: reglas gramaticales y bibliotecas de clases. Las reglas gramaticales determinan las especificaciones de escritura de los programas Java. Aprender bien las reglas gramaticales es la habilidad básica del lenguaje Java y de todos los lenguajes de programación. Este artículo le presenta principalmente las reglas de sintaxis de Java. El lenguaje Java está estrechamente relacionado con el lenguaje C/C++. Muchos términos en Java provienen de C++ y la sintaxis también proviene de C++. Por lo tanto, la sintaxis de Java es exactamente la misma que la de C++. A continuación se muestra una breve introducción a la sintaxis específica de Java.
1. Léxico de Java
1. Identificadores
Los identificadores son los nombres de clases, variables, métodos, etc., y su función es permitir al compilador para identificarlos. En el lenguaje Java, los identificadores pueden contener números, letras, guiones bajos (_) y signos de dólar ($), pero no pueden comenzar con números. A diferencia del lenguaje C/C++, el lenguaje Java también puede incluir algunas letras no latinas en los identificadores. Esto se debe a que el lenguaje Java usa caracteres Unicode y todos los caracteres Unicode por encima de 00C0 hexadecimal se pueden usar en el identificador. Pero las palabras clave del lenguaje Java no se pueden utilizar como identificadores.
Cuando utilizamos identificadores, debemos hacer nuestro mejor esfuerzo para expresar el significado de las clases, variables, métodos, etc. que queremos representar. Además, los guiones bajos se pueden utilizar en los identificadores y deberíamos aprovechar esto al máximo para mejorar la legibilidad de nuestros programas.
2. Comentarios
Java tiene tres formas de comentarios:
La primera es el método de comentario tradicional del lenguaje C, a saber, "/*" y "*. /" se tratan como comentarios y dichos comentarios pueden abarcar varias líneas.
El segundo tipo es un comentario de estilo C++, es decir, el texto después de "//" hasta el final de la línea se considera un comentario. Este tipo de comentario solo puede contener una línea.
La tercera forma es el método de comentarios recién agregado de Java, que trata el texto entre "/**" y "*/" como comentarios. Este tipo de comentario también puede presumir de varias líneas. Tenga en cuenta que los comentarios generados por este método de comentarios se guardarán como documentos Javadoc.
Comparación entre Java y C/C++
Dado que la sintaxis de Java se deriva directamente de C/C++, las declaraciones de control del programa de Java son exactamente las mismas que las de C/C++, por lo que no decir más aquí. Lo siguiente se centra en las diferencias entre Java y C/C++.
Puntero
Todos deben haber estado preocupados por los complejos cálculos de los punteros al programar en lenguaje C. En el proceso de programación en lenguaje C/C++, los punteros pueden causar muchos errores. Los errores producidos por la aritmética de punteros compleja suelen ser confusos, lo que hace que los programadores de C/C++ pierdan mucho tiempo. Por este motivo, se eliminaron los punteros en Java. La función de los punteros se reemplaza por referencias, lo que facilita la implementación de estructuras de datos complejas en Java, porque es más confiable implementar estructuras de datos complejas con objetos y matrices de objetos.
Función
No hay funciones en Java que se utilicen ampliamente en C/C++. Las funciones implementadas a través de funciones en C/C++ se implementan todas a través de clases y métodos en Java.
Herencia
C++ admite herencia múltiple, que es una forma eficaz de derivar una clase a partir de varias clases principales, pero este tipo de derivación es muy complicada y puede causar problemas fácilmente. Por lo tanto, la herencia múltiple no se utiliza en Java, pero la interfaz del protocolo Objective C de Java puede completar todas las funciones de la herencia múltiple en C++.
declaración goto
Como todos sabemos, el uso excesivo de declaraciones goto cuando se programa en lenguajes de alto nivel hará que el programa sea muy confuso, por lo que las declaraciones goto no se utilizan en Java. . Sin embargo, es innegable que cuando el programa es relativamente fácil de controlar, el uso apropiado de las declaraciones goto puede hacer que el programa se ejecute más rápido. Por lo tanto, en Java se utilizan múltiples declaraciones break y continue (permitiendo que las declaraciones break y continue usen etiquetas) para. implementar las funciones de las declaraciones goto de C++.
Unión y estructura
Hay tres estructuras de datos en C++: unión, estructura y clase; Java solo tiene clases, que pueden realizar las funciones de las tres anteriores.
Cadenas
En C/C++, las cadenas se implementan a través de matrices de caracteres, pero dado que el espacio de la matriz no se asigna dinámicamente, es probable que se produzcan errores fuera de límites. tales como: a menudo Hay una matriz de caracteres preestablecida que no puede acomodar la cadena de entrada. En Java, las cadenas son un tipo específico de objeto, lo que las hace más consistentes y predecibles.
Typedef, Define y Preprocesador
Java no requiere declaraciones #define, preprocesadores o typedefs, pero sí archivos de encabezado. En Java, la información sobre una clase debe estar contenida en un archivo, mientras que en C/C++, la información sobre una clase puede estar dispersa en varios archivos.