type tutorial than statements javase index expressions example docs different assignment array java variables

tutorial - Nombres de variables Java Unicode



java statements (2)

El estándar Unicode define lo que cuenta como una letra.

De la Especificación del lenguaje Java, sección 3.8 :

Las letras y los dígitos se pueden extraer de todo el conjunto de caracteres Unicode, que es compatible con la mayoría de los scripts de escritura en uso en el mundo actual, incluidos los conjuntos grandes para chino, japonés y coreano. Esto permite a los programadores usar identificadores en sus programas escritos en sus idiomas nativos.

Una "letra de Java" es un carácter para el cual el método Character.isJavaIdentifierStart (int) devuelve verdadero. Una "letra o dígito de Java" es un carácter para el cual el método Character.isJavaIdentifierPart (int) devuelve verdadero.

De la documentación del Character para isJavaIdentifierPart :

Determina si el carácter (punto de código Unicode) puede ser parte de un identificador Java que no sea el primer carácter. Un personaje puede ser parte de un identificador Java si cualquiera de los siguientes es verdadero:

  • es una carta
  • es un símbolo de moneda (como ''$'')
  • es un carácter de puntuación de conexión (como ''_'')
  • es un dígito
  • es una letra numérica (como un carácter de número romano)
  • es una marca combinada
  • es una marca no espaciadora
  • isIdentifierIgnorable (codePoint) devuelve verdadero para el personaje

Entré en una discusión interesante en un foro donde discutimos el nombramiento de variables.

Convenciones aparte, noté que es legal que una variable tenga el nombre de un carácter Unicode, por ejemplo, lo siguiente es legal:

int /u1234;

Sin embargo, si por ejemplo le doy el nombre #, produce un error. Según el tutorial de Sun, es válido si "comienza con una letra, el signo de dólar" $ "o el carácter de subrayado" _ "."

Pero el Unicode 1234 es un personaje etíope. Entonces, ¿qué se define realmente como una "carta"?


Los caracteres Unicode entran en las clases de caracteres. Hay un conjunto de caracteres Unicode que caen en la clase "carta".

Determinado por Character.isLetter(c) para Java. Pero para los identificadores, Character.isJavaIdentifierStart(c) y Character.isJavaIdentifierPart(c) son más relevantes.

Para la especificación Unicode relevante, mira esto .