¿Cómo entender las declaraciones de Java

La mayoría de los sumarios de sintaxis lista de los detalles de cada tipo de instrucción using, descripciones esotéricas formales. Sin embargo, estos ejemplos de cada tipo de sentencia dan una breve descripción, informal del propósito del tipo de sentencia. Esta descripción de la sintaxis de Java está lejos de ser exhaustiva, pero debería buscar que sea legible y útil.

Una clase de Java:

clase PreIncrementDemo {}
Lo que significa: "Las cosas entre las llaves pertenece a una clase llamada PreIncrementDemo. Esta clase es un modelo para la creación de objetos (instancias de la PreIncrementDemo clase)."

declaraciones de importación:

importación java.util.Scanner-importación java.lang.System.out- estática
Lo que quieren decir: "Cuando uso el nombre Scanner en esta otra parte .java archivo, llévelo a ser una abreviatura de java.util.Scanner. Es decir, tomar el nombre Scanner para representar el Scanner clase que está en el java.util paquete."Cuando uso el nombre en otro lugar en este archivo .java, llévelo a ser una abreviatura de java.lang.System.out. Es decir, tomar el nombre fuera para representar a la estática fuera campo que está en el Sistema clase que, a su vez, está en el java.lang paquete ".

Las declaraciones de variables:

int numberOfBunnies = 27-JFrame myFrame-
"El nombre numberOfBunnies almacena una int valor (un valor de números enteros, como 42, 0, -289) y el valor inicial de numberOfBunnies es 27. El nombre MyFrame se referirá a un objeto creado a partir de la JFrame clase. (Eso es, MyFrame se referirá a una ejemplo de El JFrame clase. los JFrame clase está pre-declaró en un paquete llamado javax.swing.) "

Instrucciones de asignación:

amountInAccount = 50.22-amountInAccount * = 1,05-amountInAccount = amountInAccount + 1000000.00-
"Para la variable amountInAccount asignar el valor 50,22. Luego, multiplique el valor de amountInAccount por 1,05. A continuación, añadir 1.000.000,00 al valor de amountInAccount."

Una declaración de método:

int incrementBy (int cantidad) {}
"Estoy introducción (que se" declarando ") un método llamado incrementBy. los incrementBy método tiene, como su entrada (se trata de "parámetro") un int valor. Dentro del cuerpo del método (es decir, entre las llaves) que el valor del parámetro es conocido por la cantidad nombre de la variable. La ejecución de la incrementBy método devuelve una (posiblemente diferente) de valor, también de tipo int."

Método llama:

n = incrementBy (6) -System.out.println (incrementBy (10)) -
"Llama a incrementBy método (es decir, ejecutar las sentencias en el cuerpo de la incrementBy método) dando parámetro del método del valor 6. Tome el valor devuelto por la llamada a incrementBy, y asignar ese valor devuelto a la variable n."También, llamar al incrementBy método que dé parámetro del método del valor 10. A continuación, tomar el valor devuelto por la llamada a incrementBy, y piensos que regresó valor a otro método - de Java pre-declarados System.out.println método ".

Un método principal:

static void main (String args []) {} públicas
"Comience ejecutando el programa Java mediante la ejecución de las sentencias en el cuerpo del método llamado principal."

Una llamada de constructor:

JFrame MyFrame = new JFrame ("Esto es mi cuerpo!") -
"Crear un nuevo objeto utilizando la definición de la JFrame clase. (LA JFrame es lo que normalmente se llamaría una "ventana"). En la barra de título del nuevo objeto, mostrar las palabras Esto es mi cuerpo! Deja que la variable MyFrame referirse al nuevo objeto (la nueva instancia de la JFrame clase)."

Una sentencia if:

si (númeroEntrada == randomNumber) {} else {}
"Si el númeroEntrada es igual a la numero al azar, luego ejecutar un racimo de declaraciones (las sentencias dentro del primer par de llaves). Pero, si el númeroEntrada no ser igual a la numero al azar, ejecutar un montón diferente de las declaraciones (las sentencias dentro del segundo par de llaves - las declaraciones después de la palabra otro). "

Una sentencia switch:

switch (verso) {case 1: romper caso 2: romper caso 3: break-default: desglose}
"Si el valor de verso es 1, ejecutar las sentencias después caso 1: y luego romper fuera de la totalidad interruptor comunicado. Si el valor de verso es 2, ejecutar las sentencias después caso 2: y luego romper fuera de la totalidad interruptor comunicado. Bla-bla-bla de verso siendo igual a 3. Si, por alguna razón, el valor de verso no es cualquiera de los valores 1, 2 o 3, después de ejecutar las instrucciones por defecto: y luego romper fuera de la totalidad interruptor declaración ".

Una sentencia while:

while (númeroEntrada! = randomNumber) {}
"Compruebe si la númeroEntrada no es igual a la numero al azar. Si es así (es decir, si los dos números no son iguales) y luego ejecutar las instrucciones entre las llaves. Después de la ejecución de las sentencias entre las llaves, y luego repetir todo el asunto. (Compruebe si los números no son iguales, y así sucesivamente). Si, durante una de las repeticiones, se encuentra que númeroEntrada! = randomNumber no es verdad (es decir, se encuentra que la númeroEntrada es igual a la numero al azar) Y luego dejar de repetir las cosas y pasar a ejecutar cualquier declaración se produce inmediatamente después de esta mientras declaración en su código ".

Una sentencia for:

for (int cuenta = 1- recuento lt; = 10 count ++) {}
"Comience con 1 por el valor de contar. Compruebe para asegurarse de que contar es inferior a 10. (Por supuesto, en este ejemplo, contar que empieza siendo inferior a 10.) Debido contar es inferior a 10, ejecute las sentencias entre llaves. Cuando haya terminado de ejecutar las sentencias entre llaves, haga lo contar ++ negocio (es decir, añadir 1 al valor de contar)."Volver atrás y comprobar para ver si contar es todavía inferior a 10. (Sí, en este ejemplo, contar es ahora 2.) Porque contar es inferior a 10, ejecute las sentencias entre llaves, y luego agregar 1 al valor de contar."Si, en el inicio de la repetición, usted encuentra que contar lt; = 10 no es cierto, entonces dejar de repetir las cosas y pasar a ejecutar cualquier declaración se produce inmediatamente después de esta para declaración en su código ".

Una do ... while:

do {} while (respuesta! = 'y' responder = "n")! -
"Al principio, no marque nada. Comience por la ejecución de las sentencias entre las llaves, y luego comprobar si responder no es igual a 'y' y responder no es igual a 'n'. (Es decir, comprobar para ver si responder no es ni 'y' ni 'n'.) Si responder no es ni 'y' ni 'n', a continuación, repita todo el asunto. (Ejecutar las sentencias entre las llaves, y luego puedes volver a intentarlo.) Si, al final de una de las repeticiones, se encuentra que la responder es cualquiera 'y' o 'n', a continuación, dejar de repetir y ejecutar la sentencia inmediatamente después de esta hacer # 133, mientras declaración ".

Una declaración de enumeración:

enum Habitación {salón de baile, cocina, comedor, sala de estar, sala, estudio, biblioteca, billiardRoom, invernadero} -Sala sceneOfTheCrime = Room.study-
"Cualquier variable que se declara de tipo Habitación almacenará uno de los siguientes valores: Room.ballroom, Room.kitchen, Room.diningRoom, Room.lounge, etcétera. En este ejemplo, la variable escena del crimen está declarada de tipo Habitación. La variable escena del crimen comienza almacenar el valor Room.study."

Un mejorado para la declaración:

para (Sala myroom: Room.values ​​()) {}
"Ejecutar las declaraciones dentro del rizado llaves varias veces - una vez para cada uno de los Habitación los valores de ENUM. Ejecutar las declaraciones una vez con mi habitacion igual a Room.ballroom. Luego ejecutar las sentencias de nuevo con mi habitacion igual a Room.kitchen. Etcétera."

Extender una clase existente:

clase FullTimeEmployee extiende Empleado {}
"LA Empleado a tiempo completo es un Empleado con cierta características- adicional a saber, las características descritas entre las llaves ".En este ejemplo Empleado a tiempo completo es un subclase (alias clase hija) de El Empleado clase, y el Empleado clase es un superclase (alias clase padre) de El Empleado a tiempo completo clase.

Una cláusula de lanza:

void doStuff () throws IOException {Scanner diskScanner = new Scanner (new File ("EmployeeInfo.txt")) -
"La ejecución de un código dentro de la hacer cosas método podría lanzar una IOException."Cuando intenta crear una nueva instancia de la Archivo clase, las cosas pueden ir mal. Java insiste en que usted reconoce la posible calamidad con el anuncio de que su método puede / podría lanzar una IOException. Cada vez que se ejecuta el código que puede lanzar una IOException, usted debe reconocer la excepción en el código. Una excepción que debe ser reconocida (por ejemplo, IOException) Se llama excepción comprobada.

Constructores:

Clase de temperatura {número doble-privada ScaleName escala pública Temperatura privada () {número = 0.0 escala = ScaleName.fahrenheit-} Temperatura público (número doble, escala ScaleName) {this.number = número this.scale = escala-}
"Se puede crear un La temperatura objeto (una instancia de la La temperatura clase) llamando al nueva temperatura () sin nada entre los paréntesis. También puede crear un La temperatura objeto llamando nueva temperatura (70.0, ScaleName.fahrenheit), o nueva temperatura (0,0, ScaleName.celsius), o con algún otro número y algún otro nombre escala.Una declaración del constructor parece una declaración de método, pero el nombre de un constructor es el mismo que el nombre de la clase correspondiente, y una declaración del constructor tiene ningún tipo de retorno (ni siquiera vacío).

Llamando el constructor de una superclase:

clase TemperatureNice extiende Temperatura {TemperatureNice público () {super () -} TemperatureNice pública (número doble) {super (número) -}
"Cada vez que el programa se ejecuta nueva TemperatureNice () (llamando a la sin parámetros TemperatureNice constructor), tener la llamada de programa super (). En este ejemplo, llamando super () significa llamar nueva temperatura () (llamando a la sin parámetros La temperatura constructor.)"Cada vez que el programa se ejecuta nueva TemperatureNice (70.0) (llamando a-un parámetro de TemperatureNice constructor), tener la llamada de programa super (70.0). En este ejemplo, llamando super (70.0) significa llamar nueva Temperatura (70.0) (llamando a-un parámetro de La temperatura constructor.) "

Trabajar con matrices (Parte 1):

int huéspedes [] = new int [10] -
"Crea una variable llamada invitados. La variable invitados se referirá a una matriz de int los valores. Hacer espacio para una gran variedad de cada diez int los valores. Dejar invitados referirse a ese espacio matriz ".

Trabajar con matrices (Parte 2):

for (int roomNum = 0- roomNum lt; 10- roomNum ++) {huéspedes [roomNum] = 0-}
"Tienda 0 en cada uno de los diez huésped lugares de la matriz ".

Trabajar con matrices (Parte 3):

int capacidades [] = {4, 4, 2, 4, 2, 2, 4, 2, 0, 2} -
"Crea una variable llamada capacities. La variable capacities se referirá a una matriz de int los valores. Hacer espacio para una gran variedad de int los valores. Guarde los números 4, 4, 2 (y así sucesivamente) en los lugares de matriz. Dejar capacities referirse a ese espacio matriz ".

Trabajar con matrices (Parte 4):

Habitación habitaciones [] = new habitación [10] -
"Crea una variable llamada cuartos. Las habitaciones variables se refieren a una serie de Cuartos. Hacer espacio para una gran variedad de Cuartos. Dejar cuartos referirse a ese espacio matriz ".

Trabajar con matrices (Parte 5):

for (int roomNum = 0- roomNum lt; 10- roomNum ++) {habitaciones [roomNum] = new habitaciones () -}
"Hacer espacio para diez personas Habitación objetos. Hacer cada elemento de la cuartos matriz se refieren a uno de los Habitación objetos ".

El uso de los genéricos:

Lista de arreglo personas = new ArrayList() -
"Crea una variable llamada gente. La variable gente se referirá a una colección de Cuerdas (es decir, una Lista de arreglo de Cuerdas). Hacer espacio para una Lista de arreglo de Cuerdas. Dejar gente referirse a ese Lista de arreglo."

Una sentencia try ... catch:

try {} catch (NumberFormatException e) {} finally {}
"Intento de ejecutar las sentencias dentro del primer par de llaves. Si nada sale mal (es decir, si la ejecución no lanza ninguna excepción) y luego pasar por alto el captura cláusula (las sentencias dentro del segundo par de llaves). "Pero si algo sale mal (es decir, si la ejecución emite una excepción) y luego saltar inmediatamente de la declaración de ofender a la captura cláusula. Cruza los dedos y esperar que la declaración infractor arrojó una NumberFormatException. Si es así, a continuación, ejecutar las sentencias dentro del captura cláusula y, a continuación, pasar a ejecutar las instrucciones que vienen después de la captura cláusula."¡Ay, si la declaración infractor arrojó una excepción que no es un NumberFormatException, luego regresar antes de tiempo a partir del método que está actualmente en ejecución (el método que contiene este tratar # 133-catch declaración). Volver al método llamado a este método actual, y la esperanza de que el método que llama puede tratar con sensatez con la excepción desagradable."De una forma u otra (excepción o no es la excepción, regresando antes de tiempo o no), se ejecutan las sentencias dentro del finalmente cláusula (del tercer juego de llaves) ".

Modificadores usando el acceso (Parte 1):

pública com.allmycode.utilities clase de paquetes En primer lugar {} {} Segunda clase
"El código de este archivo pertenece a un paquete llamado com.allmycode.utilities. La clase primero está a disposición de cualquier código Java. La clase Segundo está disponible para código Java sólo si ese código es también en el com.allmycode.utilities paquete ".

Modificadores usando el acceso (Parte 2):

paquete com.allmycode.utilities clase Tercera {amountInAccount pública = 50.22-int numOfThings = 22-privada int cosas = 10 protegidos-int x = 40
"El código de este archivo pertenece a un paquete llamado com.allmycode.utilities. La variable amountInAccount está a disposición de cualquier código Java. (Cualquier código Java puede hacer referencia al nombre amountInAccount.) La variable numOfThings está disponible para código Java sólo si ese código es también en el com.allmycode.utilities paquete. La variable cosas No está disponible para cualquier código fuera de la Tercera clase. La variable X está disponible para el código de Java sólo si ese código es o bien en el com.allmycode.utilities paquete o que es el código de una subclase de la Tercera clase."

La implementación de una interfaz:

clase GameFrame extiende JFrameimplements ActionListener, ItemListener {}
"Yo (el GameFrame programador) se compromete a proporcionar cuerpos (implementaciones) para cualquier método sin cuerpo declarados en la ActionListener y ItemListener interfaces ".

Una expresión lambda:

(cliente) -> customer.name.equals ("Burd")
"Regreso cierto si el nombre del cliente es "Burd"- regreso falso de lo contrario ".
. customerList.stream () filtrar ((clientes) -> customer.name.equals ("Burd"))
"Llevar a los objetos en el customerList. Usando el corriente método, enviar esos objetos, uno por uno, a una filtro método. los filtro método se aplica la expresión lambda a cada objeto, consiguiendo cierto para los clientes cuyo nombre es "Burd", y falso para todos los otros clientes. Como resultado, la filtro método envía todos y sólo los clientes cuyo nombre es "Burd" al método que sigue en la línea de montaje ".

Una referencia método:

Cliente :: isBurd
"Ejecutar las declaraciones en el cuerpo de la Cliente la clase de isBurd método ".
clase Cliente. {isBurd Cadena nombre-public boolean () {name.equals retorno ("Burd") -} // Más código va aquí} customerList.stream () filtro (Customer :: isBurd)
"Llevar a los objetos en el customerList. Usando el corriente método, enviar esos objetos, uno por uno, a una filtro método. los filtro se aplica el método Cliente la clase de isBurd método para cada objeto, consiguiendo cierto para los clientes cuyo nombre es "Burd", y falso para todos los otros clientes. Como resultado, la filtro método envía todos y sólo los clientes cuyo nombre es "Burd" al método que sigue en la línea de montaje ".



» » » » ¿Cómo entender las declaraciones de Java